7 min readJan 10, 2019
Software Engineering Coding Mastery Learning Path Resources.
Here are some good resources you should know about as you spend the next 8–16 months learning to build both front end and back end software.
- One of the best places to start is Codecademy.com. Their tutorials are very easy and they get you comfortable with syntax. You can think of syntax in coding as the rules of the game. Imagine your teaching a 5 year old how to play chess. You don’t get too advanced into theory, or strategy when starting out. You just move the pieces and ask him to copy you and after a while his/her brain picks up on the motions. Its very low cost and has a lot of pro tools as well as free tools. I would make sure you complete at least 200 hours of Codecademy which is a form of active learning and you don’t have to endure long lectures that might make you sleepy if you don’t have enough coffee in your system.
- The second great resource after you have a good handle on Codecademy is team tree house. After 2 weeks of Codecademy you can already start alternating days between the two websites ( for example on odd days use Codecademy and on even days use team tree house ). Their style is much more lecture oriented which is somewhat more sleep inducing and boring imo, but they have very knowledgeable teachers who will give you a good computer science theory foundation and give you practical on the job skills that will come in handy later down the road. They have a good gamification system and since their style of teaching is so different from Codecademy it will help reinforce a lot of what you learned from a different angle and things will start to click and stick. Be patient as the first 6 months coding is very confusing and you have to put up with a lot of feelings of uncertainty.
- Time to hit the books and marry them to solving problems! This is a challenging step but keep at it because its a lot of fun. Sign up to codewars.com and start solving 8 KYU problems for Javascript or Python or both. After you solve a handful go to 7KYU problems and see how far you can make it. codewars will allow you to follow other users code and see their solutions. while it might seam daunting at first its not hard. After 2–3 months on the site I made it to the top 1% for Javascript. This is my user profile so feel free to follow me and my code and ask me questions if you get stuck. https://www.codewars.com/users/David_Yomtobian — Sometimes I would spend 2–3 days on a problem and the solution would come to me on a long drive, during a nap or in the shower. Just as a disclaimer I had a teacher that had about 5+ years of coding experience helping me on the difficult 4–5 KYU problems when I was stuck and lost motivation to do more research. If your more ambitious and like banging your head against a wall try some 1–3 Kyu problems and compare your answer with other top coders. MDN aka Mozilla developers network is your friend in this part of the game. Google and stack overflow are going to come in handy so don't give up when feeling frustrated because its normal! Here are 3 great books that got me really effective at solving code wars problems :
1.Eloquent Javascript (its the book with the bird and the yellow cover )
2.Javascript the good parts
3.JavaScript NINJA by John Resig ( this is like my JS bible )
If your brain catches fire and gets addicted to Codewars like mine did your on the right track and you will enjoy many weeks of social isolation, energy drinks, fast paced techno music and pure bliss :) . When you click submit on your answer and the light turns green its like winning the powerball! Eventually you will need a good friend to bring you back to reality and take you for some ice cream and a movie but you’ll officially feel like a real programmer after knocking out some difficult problems and drop the imposter syndrome. - At this point your about 3–6 months into your coding journey depending on how much time you have invested in learning and you should try to attend some local coding meet ups and if your finances allow get a private teacher to work on some projects you find interesting. Try to rebuild some websites that you think are cool from scratch using popular languages and libraries or come up with original ideas. Think of things you wished already existed in the world but don't exist and create them. When I started coding I built a chess video game with my teacher ( files are on github under chess-video-game dy101010 ) and afterwards on my own I recreated incomplete versions of my favorite websites like aynax.com ( used to generate invoices and connect to a database ), a lottery website, and workflowy ( a website that lets you store your ideas and reminders in the cloud ). This helped me reinforce a lot of what I learned in steps 1–3 and it was a shocking how hard it was to cross that gap from theory to taking the ideas from your head and getting them to show up on the screen. At the end of this process you will know HTML, CSS, JS, Github/Git, PYTHON, MYSQL, Postgres, NODE.JS, Express, Advanced JS, REACT/REDUX. & a whole bunch of other languages.
- Time to take your game to the next level and take some of those clone apps you made and refactor them for this step I highly recommend you exhaust the entire library created by Wes Bos. He has a lot of both paid and free material and its worth every penny. ( https://wesbos.com/ ). He is constantly keeping up with the most up to date technology and sharing all his secrets with his followers. In harmony with his videos is Chris Courses which will give you a great and deeper understanding of Log In Pages and Routers and how different parts of a website fit together. https://chriscourses.com/ — be sure to see his free videos and support him on Patreon. This guy is really incredible and I owe a lot of my coding success at the outset to his videos. I recently finished the long version of this express course and Robert Bunch is incredible! he has a great voice, good speed of teaching, mixes in the right amount of humor and understands what he is teaching on a deep enough level to break it down into simple steps. I would go through all his material https://www.udemy.com/user/robert-bunch-2/ — I inserted this last bit on Robert Bunch after the original articles was written and I like his teaching style a lot better than Wes Bos but they teach different topics and you can gain a lot from both resources.
- Front End Masters is a great resource to help you understand how to host your websites on digital ocean and use ssh. They also have a lot of Advanced Courses. At this stage of the game I would look for advanced courses on this site along with PluralSight and Lynda.com. You should have a resume ready at this point and apply for Junior Developer Internships and freelance on popular websites like Upwork.com to gain experience and show off what you have learned. A lot of these Junior Dev jobs will be helpful because you can learn from senior level developers and work on new difficult challenging problems.
- If your worried about credentials and have the budget you can consider a 12–26 week coding bootcamp but a lot of those schools will be a review of what you already learned. On the plus side it will give you a chance to hone your coding interview skills and grow your network in the industry. A quick duckduckgo search should give you dozens of options both remote and in person but I highly recommend the in person ones because it is more about the networking and interview skills they provide. Some of them will even give you free entry for a promise of future pay based on landing a job which will incentivize them to get you a high paying job at the end of the bootcamp. bootcamp grads from top programs earn anywhere from $59,000 to $126,000 depending on program difficulty and location.
- This is a good collection of online resources. If I missed some golden nuggets or you know of other good resources I should know about please let me know and I will look into them. I want to repeat that not everyone will learn at the same pace based on life obligations and the most important thing when you venture into coding is to stay positive, take deep breaths when something isn’t working, and know that there is light at the end of the tunnel! Happy Coding in 2019.
- PS. I’m updating this article because a senior software engineer ( earning north of 150k/year )recently suggested I look into Stephen Grider. Here is a link to his website + he is on Udemy. I haven't watched his courses first hand yet but it looks like he has A+ top quality content and a good teaching style. https://www.rallycoding.com/