How to learn how to code

Chris A. Williams
3 min readApr 1, 2017

I’m a coder who studied journalism. Here’s some tips for those going in the opposite direction.

There’s a plethora of resources out there, and there’s really no wrong way to start. In fact, the start of any programming project is simply picking a path to begin with. No matter how good you get, when you revisit code you’ll think of new things you could have done differently.

Want to learn the basics of building a website? The Knight Lab at Northwestern has a good tutorial. Want to dive into a stack of data? Learn some Python. I’ve been impressed with HackerRank’s Python track, and their “30 Days of Code” challenge will start out easy and quickly test your mettle. Interested in throwing things on a map? Visit ArcGIS’s learning page.

There are a lot of places you can start, and you probably have an idea of where you want to finish. Unfortunately, the middle ground is hard to traverse, and this is where way too many people give up.

Coders use git. You should learn to use git before you learn anything else. You can do this by taking “The Data Scientist’s Toolbox” course at Coursera. Don’t let the name scare you, it’s basically an intro to git. There is a free option. Once you have the basics down, consult this basic guide to refresh your memory.

If you want to continue down the web track, take the HTML5 courses from edX.com. These are self-paced and were created by W3C, the group that creates the web standards.

For Python, first install Anaconda and use Jupyter Notebook. It’ll be weird at first, sweat through it. I think the “Python for Everybody” specialization at Coursera looks like a good option for beginners. To get the option to take a course for free, search for the name of the course. Tip, by the time you’re midway through the third course you be able to scrape data from the web. Don’t worry if you have a hard time with regular expressions, I still do too.

For more on how to create maps, I enjoyed taking “Maps and the Geospatial Revolution” on Coursera a few years ago. You’ll learn more about ArcGIS and implement some really cool example problems.

The key thing to remember is that no single course will give you a well rounded understanding of what to do — following guides does not give you real-world experience. Take additional courses, even if there’s overlap. Go through some books. And most importantly, if something inspires you stop what you’re doing and work on what’s inspiring. If you get stuck then take a break for an hour or a day or a week and pick it back up again. Coding can be frustrating, and coding is even harder when you’re frustrated.

Additional Resources:

Have you gone through all three tracks? Download data that includes geospatial entities, transform the data into something new with Python, find the relevant geojson file (you can convert a shapefile from the Census website with toGeoJSON), combine them, use Leaflet to put it on a web page.

Or, you know, work on any other idea that you have. Good luck.

--

--