I'm pulled from sleep as the soft melody of my alarm clock goes off a bit too early for my taste. Rolling over, I see that it's 4:50 AM. I want to go back to bed, but, "If you want a job as a software developer, you have to put in the work," I tell myself.
After I drag myself out of bed and the coffee is brewing, I pull out my phone to find some blog posts. "Use every spare moment to learn," I think as I scroll through the articles. I start sifting through titles to see what I should read:
AI: The end of the Junior Developer?
Why development isn't a viable career path anymore
The death of the Junior Developer
Employers no longer hiring without years of experience
Should I even keep going with this?
That was 6 months ago. I started my self-taught programming journey in January of 2024. I had a little HTML and CSS under my belt, but only enough to change some text and maybe the font of a website using the Inspector on Chrome. Now, I am employed as a full-time software developer and I couldn't be happier with the work that I've started to do.
There are still jobs out there
Despite the blog writers and "doom-and-gloom" reporters, it is still very much possible to make yourself an employable developer without the need for an expensive degree or bootcamp. I am living proof. I won't sugarcoat, the job market right now is tough. Especially if you're trying to find something on LinkedIn between all of the fake job postings.
It will take you work, but it's not impossible. During my journey of learning to code, I remember reading blog posts and thinking, "If these people know enough to get the job, they must be right, I'm wasting my time."
If you're on a self-taught journey right now, you know the feeling.
I'm writing this today to encourage you not to give up. There is a team, a company or a friend that needs YOU. Your expertise, unique perspective, or inexperience. That's right, inexperience.
Your inexperience is an advantage
How can inexperience ever be an advantage? Why would we spend so much money on educating ourselves and exposing ourselves to new experiences if there was an advantage to not having done so.
Think about the last child you spoke to. Do you remember the ideas that they had, the uninhibited creativity that they exuded? There's something about naiveté that allows you to think outside the box. Without guardrails, this can waste a lot of time, or break things. But, with an experienced, supportive team, this kind of creativity will get you to new and innovative solutions faster.
You are not bogged down by years of "this is how we've always done it." You don't know "how the stakeholders always react to these kinds of ideas." And this is where you have the opportunity to strike gold.
You still need to learn
I'm not suggesting that you are valuable because you have no skills. You still need to take the time to develop programming skills and knowledge so that you can be productive and valuable in a job. But, after you have a baseline of knowledge, finding the right job and the right team will allow you to continue to learn and grow as you create value for your team.
What should I learn?
My recommendation is that you should pick a language or framework and stick to it. As for which one you pick, I don't think it matters much, as long as it's a language that can create Full-Stack applications. The ability to learn Object-Oriented Programming in it is a plus.
I went with JavaScript. It's not the best language for app building, but the frameworks that have come out around it (Angular, React, Node) allow you to write the database interface, API, and frontend all in one syntax.
Why stick to one? Well, the answer is simple. If you're hopping frameworks you will waste valuable time learning new syntax rather than learning actual programming concepts. It's a waste of time to re-learn how to format a for
loop if you already understand the concept.
Think about buying a course
If you're serious about wanting to work as a software developer, you should consider shelling out a bit of money for a course. There's plenty available online, but if you want to go the boot camp route, you can make that work too. With a course of some kind, you can tap into others' experience, learn faster, and you never have to think about what to study next.
While it's certainly not required, there's no surer way to light a fire under your butt than to put some skin in the game. I went though Codecademy, and I'd recommend it to anyone teaching themselves.
The platform has a browser-based environment, so you can learn to code no matter what computer you have. They offer Professional Certifications and career pathways for pro members that give you something to legitimize yourself a bit. But, the best part of the program was how quickly they pushed you to creating projects.
Start building ASAP
If you really want to learn how to program, you need to build actual projects for two reasons. First and foremost, the only way to truly understand the concepts you're learning is to see them in action. There's no better teacher than experiencing and making your own mistakes. Second, building projects is directly applicable experience to what you will be doing in a programming job. Even if you're developing a small project, you will be required to make educated design decisions, write readable code, and solve problems. What you build speaks far louder in an interview than any piece of paper you earn.
You don't have to make a fully-featured SaaS, and it doesn't have to be original. The idea can have been done thousands of times, but your solution needs to be your own, or you won't learn anything. If you want to build a calculator, a typical learning project, don't get on YouTube and search "how to build a calculator in javascript". Get out a pen and paper and create your requirements, and start mapping out what you will need to get there. This is harder than following a tutorial, but it will be far more rewarding.
A note on tutorials
Tutorials are NOT bad. If you know nothing about a specific framework, going through a tutorial can be very helpful to grasp the basics. I've gotten the most out of tutorials when I was trying out a new framework. Following along in creating a demo app to learn core features is fine. When using tutorials, you should always expand, extend, or rewrite the app later on your own.
If you want it, go for it
The Age of AI is here and now. We would be foolish to say that this won't change things. But, the need for programmers will not go away. If you want to learn a new skill or create new things, 2025 is NOT too late to start learning. With hard work and some time, you can land your first programming job. I'm rooting for you!
Top comments (18)
Every job opening demands experience for as long as i can remember. You just have to convince the employer that your benefits override the need to be experienced.
Development jobs are not dead, they just are changing. In order to know AI writes good code you need to know what good code is.
So instead of focusing on languages and frameworks, focus on software architecture first.
Once you know the more abstract skills, then you will be able to pick the right language and framework for the tasks that are needed to create an application.
You have to learn to use languages and frameworks, because all of them have their way of working and gotchas. I would focus more on languages than on frameworks, because frameworks are just an opinionated way of working with the language.
You will have your favourite language and framework over time. But even if you do you should check out others. Most of the time checking out other things will show you things that can improve the way you work with your language or framework.
I think it is easier to be self taught now, because now you have a lot of choice. When I started web development there were no frameworks for script languages.
And the more abstract information was not as available as it is now.
I agree don't let AI scare you. As long as you are willing to learn, there will always be a job in IT.
Breadcrumbs for all of this
The reality is some big tech companies overhired thinking the post-covid mirage would result in endless growth. The market retraction in 2022 has resulted in a correction to normal headcount sizes, which means a lot of people were laid off unfortunately and a lot of executives are trying to build up investor favor by talking about eliminating jobs (improved margins).
Fear not, this pattern isn't new, been going on since .com bust, and we still need a lot of programers. AI is an augmentation for good developers, not a replacement.
I like this.
This article really resonates with me as I'm trying to transition into tech from an accounting background. I’ve found myself deeply immersed in coding with the MERN stack. While it's tempting to try out new frameworks, I completely agree with your point that mastering programming concepts is more important than focusing on specific tools.
Building apps has been an incredible journey for me. The cycle of making mistakes, debugging, and then experiencing that "aha!" moment when the bug is fixed is both challenging and rewarding. Of course, it’s a continuous loop of learning, but that’s what makes it so fulfilling.
Your story gives me comfort and motivation, knowing that the steps you took paid off. I'm hopeful the same will happen for me as I keep pushing forward. Thank you for sharing your experience!
Nice read, having skin in the game works for sure
Hope it's a sign for me.. Thanks mate!
As long as you don’t give up, something will come. Keep on learning and improving!
Thanks Jeff!
This is a great article! Very inspiring and motivating to continue the journey. Thanks for this! 😊
Glad to hear it! Thanks!
Great article! I like your outlook for codecademy and that’s where I started learning. I finished html and css through Codecademy and then I found The Odin Project. The Odin Project offers a complete curriculum for two full stack options JavaScript or Ruby on Rails. The difference between Codecademy and TOP is your working outside of a sandbox environment and your working either in a virtual machine environment or a dual operating system environment and they walk you step by step setting up your preferred environment. You work using the command line, Git, and GitHub for your assignments and projects and it gives you valuable insights into how most software developers work and it’s a free program.
I appreciate your insite and support for self learning. Thanks for the article! Best of luck with your future endeavors.
Frankie
I’d thought about going to the Odin project, but I’d already started down the Codecademy route. I can definitely see the value of what you’re saying. If you get a bit farther into Codecademy, they do make sure to get you off platform working command line and on GitHub as well!
Thanks for your comment!
It's like your words came at the right time.
Glad it was encouraging! Keep it up!
But is it worth it? With the speed AI's are improving soon no coders are needed. Even a poorly trained chatgpt er still way better than me in several cases.
I don’t think that AI is ever going to fully replace human intelligence. What AI allows you to do is spend less time learning syntax and more time learning how to solve complex problems.
We may not need as many “coders”, but we will always need problem solvers and technically minded people!
You can provide value that a chatbot certainly cannot!
For now yes. And for some tasks we are always going to need the human touch. But for many of the more standard tasks or junior programming, AI are already a good placement for smaller tasks. It saves me a lot of time. and it's still a brand new technology. So it will be super exciting to see how it evolves.
I use AI every day. It's perfectly suited for data analysis and summary tasks right now, and I think that it's use cases are certainly going to grow. Right now, every company is hastily tacking AI (and sometimes trad algorithms branded as AI) onto their applications. I personally am getting fatigued with this, so I assume that there's a section of the public that is too.
Over the next couple of years, I'm looking forward to what meaningful ways AI is incorporated in different domains. The world is watch and it will be exciting!