Learn How to Code

I have been asked by quite a few people how to get started with learning to code. I’m not an expert by any stretch of the imagination (I work with people who have been building their own websites and/or servers since they were ten) but since I have several years of experience under my belt and people are willing to pay me for programming, I must be doing something right.

Obviously, if you’re interested in learning to code you already realize why it’s important in today’s economy to have very basic programming skills. If you think that there’s no way learning to code can help you, I beg you to reconsider. At the very least a basic knowledge of coding will help sharpen your logic skills, look great on a resume, and help you understand how the technology you use every day operates on a basic level.

There is also a serious need for talented coders in every size company (as opposed to just copy and paste assembly-line coders, which is usually outsourced) and a junior level coding job starts at around $60-$70K in the NYC area. Even if you’re not at all interested in becoming a coder, it makes a great bargaining chip in salary negotiations and helps you understand the limitations and abilities of the medium you’re working with.

I’m assuming that you have little to no coding knowledge, and that you want to learn how to craft code, not just copy and paste answers from Stack Overflow. Also since my area is front-end development I’ll focus on what it takes to learn front-end development. Any back-end developers out there please chime in with your own resources, I’d love to hear them!

For the Beginner and Hobbyist:

The Language

Python. It’s very user-friendly with a great community and can be used for a lot of different applications. It’s not a front-end language per se, but it’s a great beginner language for picking up the basics.

Online Courses

Learn to Program: The Fundamentals. I can’t sing the praises of Coursera enough for those learning to program. Unlike a lot of online “learn-to-code” classes, it actually explains the why behind what you are doing, and covers a lot of the fundamentals with advanced classes if you want them.

Books

D is for Digital by Brian Kernighan. I actually read this before every job search after I had an awful mind-blank moment when an interviewer asked “how does a web page load?” :face palm:. It’s a really great book that sums up comp-sci 101 in about a hundred pages. Even if you’re not learning to code I recommend reading this just to understand how computers work.

 

For the Serious Student and Junior Front-end Developer:

The Languages

JavaScript, PHP, MySQL, HTML5, CSS3, and a back-end language like Ruby or Python. Sass is a bonus.

(Note: HTML, CSS, and MySQL are not considered actual programming languages. They are a text markup language, style sheet language, and a database engine respectively, but just to keep things simple I’m lumping them in with the rest of the languages) 

The Tools

An editor. I personally use Webstorm, but a lot of my friends prefer Sublime Text or Vim. Whatever you decide to use, just get a good editor and stop using notepad.

Github. Your Github account will become your portfolio. It’s important to post anything you are working on to your github account to show people what you can do, and it’s even better if you get involved in open-source projects.

Git. You need to learn git. I’m not going to lie, this process is always a mindfuck at the start. I found that this git game was very helpful to visualize what is going on.

Online Courses

Still Coursera. Just pick any class, they’re all good.

Books

Learning PHP, MySQL, JavaScript & CSS by Robin Nixon. O’Reilly has a textbook for just about any programming language you could possibly want to learn, and so far all of the ones that I have read are very good. This is my favorite one for getting started with the basics of building websites.

Eloquent JavaScript by Marijn Haverbeke. If you say that you’re a front-end dev and only program in JQuery, people will probably laugh at you. Learn JavaScript as a language and you will be able to master any of the  libraries in a weekend. This book is a great place to start.

Effective Javascript by David Herman. Read this after you have some experience with JavaScript to learn the nuances of the language.

Don’t Make Me Think by Steve Krug. Just a great book on web design.

Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma. This covers the fundamentals of writing well-thought-out software. Obviously, I’m a little biased since I prefer object-oriented programming, but if anyone has any functional programming resources let me know.

Online Resources

Stack Overflow. This community is just a godsend for any questions that you might have.

Mozilla Developer Network. Another great community if you run into any problems or have questions.

W3C. Don’t fall for the W3Schools website that always is at the top of the google search results (I was guilty of this one at first) they are okay for basic stuff, but they are often out of date and miss the subtleties of a lot of concepts. Go straight to the source for any documentation that you need.

Bonus Points

Get involved in the community! Nerds are incredibly altruistic and we have a  lot of fun when we get together. In New York my two favorite groups are NYTech Women and Ladies Who Code (Sorry guys, I happen to be female so I’m a little biased) but Meetups are a great way to find a group that matches your needs.

Obviously your needs will probably change as you learn more about programming and you start to find your specialty. There are so many different niches to get into once you master the basics, and there’s plenty of room for everyone.

But believe me, I understand how overwhelming it can be. Sometimes you just don’t even know where to start, so this list is the advice and resources that I wish that someone had told me when I first started. I hope you found it helpful!

Fellow developers, what are your recommendations and advice for someone who is just starting out? 

This entry was posted in Tech and tagged , , . Bookmark the permalink.

3 Responses to Learn How to Code

  1. Thank you, thank you, thank you!
    This is definitely something I will need to revisit, I would love to learn how to code but had no idea how to start, so this is great.

  2. Pingback: Why Designers Should Know How to Code - Pixel PerfectPixel Perfect

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>