Self-Taught Programmer Part 1: Choose your own adventure
At the beginning of your developer story. Step one: start learning.
November 06, 2016
This is part one of a series of posts focusing on the constant process of learning as a self-taught programmer.
First let me give you my background. I am a self-taught web developer focused on Ruby on Rails and React. I first started learning through MOOCs about anything under the sun (Python, Android, Node, SQL) but I eventually focused on learning web development with a focus on Ruby on Rails and React.
This first blog post is speaking from the perspective as you first begin to learn. When you have decided that you want to pursue learning more about programming, you may have decided what you want to focus on or you are still looking to learn.
Now that you want to learn lets give you a couple places to start with:
- Coursera (Free, mostly) - One of the leaders of MOOCs (Massive Open Online Courses). Classes are free but Coursera offers ‘certifications’ that are chained together courses for a specific field (like web development). This is a great place to start as they have courses that are aimed at the very beginner then you can transition to a specialization or more advanced topics.
- Codecademy (Free)- Another provider of online courses. Codecademy is very useful when you are first starting. Many of the courses assume little to no prior knowledge and have an interactive element and step-by-step process that is very helpful when you are first learning the basics of programming.
- Pluralsight (Subscription) - Pluralsight is more focused on existing developers but has recently implemented ‘Paths’ that allow you to choose a specific language and watch a curated list of courses aimed at bringing you up to speed.
- Udacity (Free and paid courses) - Listed last as I have never used Udacity but I have heard good things and it has been on my ‘To do’ list to look into their nano degrees. Udacity has a mix of free courses and nano degree programs aimed at teaching you a specific skill.
Give yourself a project
Once you have started learning my best advice to you would be to give yourself a project. If there is one thing I learned nothing is more valuable than giving yourself a project to focus on.
Some quick tips as you get started:
- Create a Github account. Using Github to centrally store all of your code will be useful and get you used to using git
- Keep a schedule you reliably work every day. I use the Productive App to have a list of learning and development goals to hit every day to keep me on track.
- Podcasts: Start listening to tech podcasts. I have found that even when I may not know exactly what they are talking about actually hearing people discuss programming is great and you start to build a mental model of programming concepts outside your immediate sphere.
- Start attending Meetups. These are great to meet people in your community but they also expose you to new ideas and concepts you may not run into on your own.
That concludes part one. I look forward to communicating with you again on part two. Happy Coding!