So you want to learn how to code?

Warning: learning to code does not guarantee immersion into stunning, well-designed spaces like the above.

Hedge funds are crawling through campuses seeking data scientists, ecommerce companies like Rent the Runway are preparing for IPO, and firms like Citigroup are betting big on digital. Every now and then, you feel like it would be nice to automate some of your more tedious tasks, and what’s more, you have a sneaking suspicion that it’d be a good idea to “be more technical.”

An innocent enough Google search for “what coding language should I learn”, followed by clicking a few links will, thanks to targeted advertising, result in your being followed around with all sorts of ads for opportunities to “learn how to code, learn how to be a PM, get started with data science, and on and on”. So inevitably, you will ask yourself the question: should I learn to code?

Let me give you a few situations in which learning to code, or at least increasing your “tech literacy” may be of help:

  1. If you want to work at a hedge fund and employ quantitative strategies to develop promising investment theses, then learning to code might mean dabbling a bit with a general purpose language like python (the fastest growing programming language) and doing quant finance tutorials on sites like Quantopian.
  2. If you aim to develop your startup idea by hacking up a prototype or hiring the right person to develop your website, then knowing just enough about web development will help you ask the right questions. Questions like: What web development framework should my site should be built on? How do I have a conversation with a developer or engineer about my idea? (oh, and most are very nice, so don’t fear!) and finally, Should I learn enough programming to whip up something up myself so I can start getting feedback from others (a good idea if you have lots of ideas!).
  3. If you seek leadership positions in companies where your job is to help positioning the company to capitalize blockchain, AI, augmented reality, and other digital trends, then improving your technological literacy so that you can speak with the engineers and read white papers on tech trends could be very beneficial.
  4. If you are staring at a massive excel file of customer data, trying to understand how whether a customer’s purchase behavior indicates interest in other products your company can up-sell, you may wish to do a few data science tutorials that will better help you understand (and ask intelligent questions about) the reports that your firm’s analysts prepare for you.

By gaining some hands-on experience with a general purpose language, dabbling in web development, and reading more articles on tech and programming (medium makes it easy for you to do this!) you can be more confident addressing the above situations.

People learn to code so that they can solve problems, though some find coding so much fun (and so critical a tool in their toolkit) that the very act of coding and learning other coding languages is fun for them. Coding is basically about giving instructions to a computer, so that it can do a lot of computations and tasks for you, very quickly, on data that you provide it (or have it go out and find for itself). A lot of the magic of coding is framing the problem you are trying to solve in a way that can be attacked with code. The ability to do this typically comes with more experience coding. So, in order to get this ability, one needs to get started coding.

There are many websites and resources out there to get started, and they will seem overwhelming at first. So, first, let me just say this: once you decide to learn a language, dabble in it on codecademy for a couple hours, and maybe finish the set of tutorials there. Think about the other routines you do almost daily, such as going to the gym or flossing, and make coding (and reading other people’s code) for at least 30 minutes a day one of your new routines. Better yet, find a friend or ask a parent to do it with you. You learn so much more when you learn with others, trust me.

Ok, so, if you want to learn a language that will help you do data analytics because making sense of data is becoming more and more important, learn python. You can’t go wrong. Get started here.

If you want to learn how to build websites, learn JavaScript. AirBnb, Netflix, and other amazing sites use JavaScript extensively, so it’s a good one to learn. JavaScript is quite a flexible language that allows you to attack many problems outside of web development as well, which makes it an attractive language to study as well. Get started here, and build your first super-basic web app that only you, your immediate family, and a few of your closest friends will probably ever see — if you let them, that is ;)

If you want to learn something that is flexible enough to let you write algorithms and build websites simultaneously, learn Ruby (a really readable general purpose language) on Rails (a web development framework that makes it easier to launch web applications). I took this route, learned some JavaScript when the time came (to improve how users experienced and interacted with my website), and it was great. After learning ruby, picking up a little python and javascript was a natural next step, and terribly not difficult to do.

But most importantly, learning to code let’s you solve problems in your life. That’s what’s so cool about coding. Want to make an app that finds all the happy hour events in your town? Your thirsty self can do that. Want to make an app that you, and only you, will ever use? Learn to code, and you can do that. Want to analyze NASA data to see where all the meteorites ever have hit Earth, so that maybe you can not move to where one might hit next? You can do that too, and tell me when you do, because no one wants to live at a place that will be turned into a crater.

So, what are you waiting for? Do these two things now:

  1. Start learning python / javascript / ruby (choose one). Better yet, find a friend to do this with. Learning to code should be a social activity, since you learn more when you can communicate what you’ve learnt, and what you’re stumbling on, to others.
  2. Increase your tech literacy by updating your medium account to push a few tech-related articles to you (I think programming is one of the topics you can select). It’s nice to read about how others started their journeys in code, but don’t read too much — coding is something that must be done to be learned.

And you can always get in touch with CODE Club (codeathbs@gmail.com) if you have any questions. Paul Yarabe (HBS MBA ’18) leads CODE Bootcamp and is happy to chat with you anytime.

Good luck!

Thanks to Steph Tong for reading drafts of this.