Every now and then I meet someone who wants to get into software development. Most of the time they don’t know where to start.
My advice to beginners is always the same: learn the fundamentals and build a portfolio of projects that will allow you to land your first developer job.
A junior developer position in a startup or even in a big company is the best way to learn. So getting that job is your first goal.
But how to get there?
I recommend two platforms to beginners: Frontend Masters and freeCodeCamp.
Frontend Masters is a collection of recorded workshops given by web development experts. They are edited and made available on their web and mobile apps, with many useful features like a personal dashboard, learning paths, notes and a table of content for each course.
The main benefit is that you learn from the best instructors in the industry and you don’t have to spend time vetting them. Or review testimonials that don’t always seem genuine like on pay-per-course platforms. You know that the courses on Frontend Masters are high quality, practical and current.
It’s where I go to learn new technologies or improve my understanding of what I use everyday.
But if your budget is limited and you can’t afford the monthly fee, freeCodeCamp alone is still a great resource. With its interactive tutorials and library of projects to build, it offers a clear learning path that you can follow from no coding experience to job ready developer and more.
The only caveat with platforms offering interactive exercises is that they can give you a false sense of knowledge. I’ve touched on this subject in my previous article. Check it out if you’re interested.
Why do I still recommend freeCodeCamp then? The projects.
What should you build to gain web development experience? This is where freeCodeCamp comes to the rescue.
To obtain a certificate, you must complete a number of projects where you cement your understanding of the concepts that you learned through the tutorials. This is great.
Not only do these projects allow you to see how much of the material you understand, but it leads you naturally to an impressive portfolio, provided you take the time to polish them and be creative about it.
Fundamentals, practice, portfolio. It all sounds great but isn’t something missing?
Soft skills, or working as a team
Modern software development is most of the time a team effort. There are solopreneurs and indie makers doing it all by themselves of course, but if you’re going to work in a company, you have to know how to work with others. It’s all about collaboration, more and more about remote collaboration.
Here, I suggest joining Chingu. Chingu is a community of self-taught developers who join forces to work in small teams on build-to-learn projects. It’s all organized for free by awesome people who want to help others achieve their goals.
If you join a cohort, and take it seriously, you’ll have a great time and you’ll know what it’s like to work with other software developers in a collaborative project.
This is the most important skill in the list. This is what will differentiate you from the countless other junior developers trying to get their first job, and this is what you’ll highlight in interviews.
Once you’ve acquired the fundamentals, practiced extensively, built projects and worked with other developers, you’ll definitely be ready to join the workforce. If your goal is to find employment, you’ll need to build your online profiles: GitHub, LinkedIn, Twitter… But that’s another topic, for another time.
I hope this post was instructive. If you found it helpful, follow me on Twitter to be notified when I post the next one!