Below is what I did to become skilled enough to find my first job as a full stack developer. I started doing online Computer Science courses on Udacity in Jan 2015, started going to Hackathons in March and found a job by mid 2015 by consistently putting in 30+ hours a week.
Below is the list of courses I did on Udacity. Intro to web development ties everything together so I did that last.
Looks like they’re starting to remove the free courses on Udacity. While this is disappointing as they were such high quality and helped people like me land jobs, the free content was probably hurting their revenue. I hope they bring back the free content - I have done three paid nanodegrees on their site after I found a job and know others who did too. I am not able to search for the ones I did in the past on their catalog anymore but if I login and go to these links in my classroom they’re still working for now.
- Introduction to Python - great introduction to Computer Science and Python was a solid choice as my first programming language. Luckily, it has since helped me hit the ground running with Machine Learning/Artificial Intelligence/Data Science projects too.
- Intro to HTML/CSS
- Responsive Web Design - taught me how to make websites look great across all devices (laptops, phones etc). Most legacy apps were not responsive so the couple days I spent on this came was a very good investment.
- Intro to relational databases - though I haven’t used SQL much thanks to ORM libraries, this gave me a good understanding of relational databases.
- Version Control using git - taught me how to keep my sanity by managing code changes in my projects. This is also essential to collaborate with others using git servers like GitHub.
Command Line basics
- Linux command basics - picked up on the job but looks like a good course. I wouldn’t survive a day on the job without knowing my way around a command line interface.
- Intro to web development - gave me a solid foundation of how the web works and how web apps are built. This tied together everything I had learned until then. This is taught by Reddit’s co-founder Steve Huffman - glad I didn’t get sucked into Reddit back then and waste hours of my time.
Technical skills alone didn’t get me a job - networking, communication skills and learning how to work well with others are probably more important during a job search and on the job. When I was a student and had more time, participating in hackathons was a great way for me to do this. I learned a lot, met new people and had side projects I could talk about in interviews. Hackathon.com has a lot of hackathons to pick from.
I struggled with coding challenges back then but I’ve since found Leetcode and practice occasionally to not get too rusty. Writing production code for years doesn’t always translate to breezing past coding challenges. Luckily I was able to find my first job just by talking about things I had built on my own. I then found my current job at the end of the day of a recruiting hackathon.
Above courses were high quality and my foundations are solid so I have been able to pick up Augmented Reality, Virtual Reality, Blockchain, Alexa skills, Machine Learning/AI, Hybrid mobile apps etc. on the job as required.