Learning to program

Tags: Career

As a college senior studying computer science, I frequently get asked by friends and family: how can I learn programming? Although there are tons of college students who study computer science, I believe I have a unique perspective on the topic, since I have self-taught myself programming for over six years. Through my extensive journey, I have developed a handful of habits that’ve helped me effectively learn how to code.

Be motivated to learn. First and foremost, anyone can learn programming, but only a few actually follow through and achieve their desired goal. I was passionate about creating things, and programming let me do that, so I had intrinsic motivation to learn. I always tell people it is very hard to commit to learn things without being passionate about it, which is especially true for programming. Not everyone enjoys programming, but it certainly helps.

Be prepared to fail and embrace it. Trial and error is an essential tool for learning how to code. Technology evolves rapidly, so a snippet of code that previously worked is not guaranteed to work on an updated system. Learning to debug and solve errors in code is a very useful skill so instead of googling for another answer to the problem, attempt to fix the problem without any help.

Stack Overflow is a great resource to get answers to common coding questions.

Be inquisitive. Programming is similar to an expressive art form, people do things for specific reasons. Always question why something was written the way it was. Prepend why to a Google search and browse through all of the available viewpoints to build a strong foundation of the concept. Remember that there can be differing opinions, and that is okay.

Create a small personal project at the same time. Instead of following a tutorial series on coding, think of a small project that would fix a real life problem. Google each individual component of the project and piece the code snippets together to form final product. Not only will there be something to show on a resume, but it will create the motivation to learn more. In addition, hooking the code examples together will solidify understanding of each component, rather than the usual lazy way of copy and pasting code without truly understanding what is going on.

Enjoy it and don’t go overboard. No one likes to do something they don’t like, so if it’s getting boring try to take a break. My commitment to self-learning programming varies over time. Sometimes I’ve stayed up very late to research more on a topic and other times a single Google search will satisfy my curiosity. Also, burnout is a very real thing so set reachable goals and try to complete them. Last but not least, enjoy it and never stop learning!