Today, in 2023, you don’t have to get a computer science degree to learn how to code and get a job as a software developer.
You can learn any programming language or tech skill through books, blog posts, YouTube videos, or online courses. You can also use amazing platforms like Free Code Camp, The Odin Project, Khan Academy, and many others.
Technology companies care less and less about a computer science degree when they are hiring. They care if you can actually code, collaborate in a team environment and build software.
To become a self-taught software developer, you only need:
A computer and an internet connection
Discipline & commitment to studying and practicing daily
1. Choose a niche
“The man who chases two rabbits catches neither.” — Confucius
The first tip, especially if you are at the beginning of your journey, is to choose a niche and get specific about what you want to learn first.
It can be quite overwhelming to try and learn full-stack web development from the get-go.
Instead choose a specification, frontend or backend.
After that specify even further and choose a tech stack.
For example, let’s say you decided to learn frontend web development. You can start learning HTML, CSS, JavaScript & React. You can master those technologies and be a frontend & React specialist.
Specializing and niching down will help you have a clear direction. It will also help you get your first job faster.
Once you master the frontend technologies and start working as a software developer, you can go and learn backend technologies like Node.js or Python if you like.
You will have a blueprint on how to learn a new skill. And each time it will take you less time and effort to learn and master a new technology.
2. Choose a platform to learn
One of the biggest mistakes people make when they start learning how to code is to change the platforms they use all the time.
They jump from course to course and tutorial to tutorial.
There are so many platforms and courses and it can definitely be overwhelming to decide.
But, if you pick a platform and stick to it until you finish their curriculum, you will make progress much faster.
Pick a course, study its curriculum, and build the projects. And after that, you move on to the next platform or course and continue practicing your skills. Rinse and repeat.
Some of my favorite platforms to learn to code are:
Free Code Camp, as you can tell from the name, is completely free and has an incredible curriculum. You can learn theory and then practice in an interactive environment. I still use it from time to time to brush up on certain topics.
The Odin Project also has a detailed and structured curriculum. You can read and study theory in detail and get your hands dirty with projects that you can add to your portfolio.
Udemy is a paid platform, but the courses are still quite affordable. (Remember, the money you invest in your education will be the best investment in your career).
For example, if you want to learn React, Udemy has some of the best React courses on the internet.
Some of these incredible React courses are:
Remember to pick a course and stick to it until you complete it. Be an active learner and follow along. And build all the projects in the courses as you follow along.
3. Be consistent
You now know that you should choose a niche, frontend or backend.
You also know that you should choose one platform at a time to study a curriculum from start to finish.
The next thing you should be very mindful about is being consistent. What I mean by being consistent is to show up every day to learn and practice the skills you are learning.
If you show up every day to learn, study and practice, you will make progress and build momentum.
And progress compounds.
You don’t have to study 8 hours a day every single day to make progress.
If you can’t study for 5 hours a day because of your life obligations, study for 2 hours.
If you can’t study for 2 hours, spend 1 hour.
If you can’t study for 1 hour, spend 30 minutes.
Spend 15 minutes.
Solve 1 programming challenge.
Write 1 line of code.
Have the mindset of improving at least 1% a day.
With this mindset, you will:
Build rock-solid learning habits.
Build momentum.
Build discipline.
When you look back in one year, you will see how much your progress compounded, thanks to you showing up every day. Even if it was for 10-15 minutes.
Learning is a life-long journey. Showing up every day to practice is the most important habit you can build to master your craft.
4. Build projects
Be an active learner. Write actual code. Build real projects.
During your learning journey, most of the courses will have programming projects. Never skip these projects and build them as you go through the curriculum.
Add these projects to your Github account.
Share the projects you built on your Twitter.
Add these projects to your portfolio page on your personal website.
Building projects is one of the fastest ways to learn programming and improve your skills.
When you get stuck, you will be forced to find a solution.
When you do specific research to solve a problem, you will remember what you learn.
Building projects will also help you with job opportunities and interviews.
When you go to job interviews they will ask you if you have built any projects.
You might think the projects you built are not good or sophisticated enough to present. But they will be the living proof of your progress & skills and they will help you land jobs.
5. Network and join a community
Networking and connecting with others who are on the same journey as you will be incredibly beneficial.
When you interact with people who are on the same path, you will:
Feel less alone on your journey
Get help when you have challenges
Feel more inspired and motivated
Find accountability
You can find a community and connect with like-minded people by:
Going to local programming meet-ups in your city
Posting on Twitter and connecting with other software developers
Asking questions on blogs and Twitter posts
Joining an online community
Connecting with others, building relationships, and showing your work will open a lot of doors. You will connect with people in your field and you will run into excellent opportunities.
In Summary
Many people, including me, have taught themselves how to code online and started a career in tech.
With the online resources that are available today, anyone can become a self-taught software developer.
What you need is direction and consistency.
Pick a niche, frontend or backend.
Pick one of the platforms I recommended in this post and stick to it until you complete each curriculum.
Show up every day to study and learn.
Build projects as you go along your journey and add them to your online portfolio and Github.
Join a local or online community and connect with other software developers.
And be patient.
Success is all about playing the long game.
If you put in the work, build projects, keep improving, and share what you are doing with other people, you will start a promising career as a software developer in no time.
Thank you for reading 🙏
Follow me on Twitter @onurcankaya