10 Things I Wish I Knew When I First Sat To Learn To Code

I’m Suraj Kapoor, a self taught web developer and the Director of Product at Lerer Hippeau. Teaching myself to code was one of the best decisions I made. Here are some tips I wish I knew when I first sat down to learn.

I meet a ton of people who are thinking about learning to code as a path to building their own startup (awesome!) or improving their current position. Whatever your reason, keep in mind that like any skill, it takes time and practice to learn.

1) It’s a misconception that you need to be good at math to be good at programming. Programming is as much art as it is science; Paul Graham agrees.

2) Learn the difference between front end (HTML/CSS) and backend (Python/Ruby/Etc). The former defines how your site will look, the latter defines how it functions. This post helps further differentiate the two. Start with programming first and learn HTML/CSS as and when you need it.

3) Choose Python or Ruby as your first programming language. These languages are easier to understand for a beginner, great third party libraries, and supportive online communities. I started with Python and highly recommend this online course and the follow on.

4) Learn Bootstrap for front-end development. It’s a quick and easy way to make a website look good and you’ll still learn the front-end fundamentals.

5) If you have a developer friend, make him or her your mentor. Have them hold you accountable on your progress. Pay them with pizza and coffee.

6) When you have a question, post it on Stack Overflow. No matter how basic the question, someone usually gets back to you quickly. It’s a great community, and it’s free.

7) Focus on getting things to work first. Then worry about getting them to work well later on.

8) Give yourself time. This is a marathon, not a sprint, and you’re teaching your brain to think in a new way. I see many people drop off because of the initial learning curve. It took me around 100 hours from when I started learning before I could deploy a basic web application. It took me about three weeks to wrap my head around a “for” loop (aka Programming 101).

9) No gender, race, or orientation is any more or less suited to programming. Everyone can (and should) learn to code. Also, beware of imposter syndrome.

10) Use a good text editor, most people I know use Sublime. It’s awesome.

The most important thing is to enjoy the journey. Once you get the hang and things start to click it’s a ton of fun and incredibly valuable skill to have.

I build founder-facing and internal tools such as the LHV TalentTracker (great if you’re looking for a job at one of our startups!) and started an awesome engineering newsletter called Pointer