Hey, I'm Vince...
I’m a self-taught developer that changed careers during the Covid pandemic. I was able to switch from education to web development by learning and building in my free time, participating in hackathons, and creating educational content for devs.
Back when I was finding my first dev job, although I was determined to become a staff engineer, I started out by taking a very low-paying “traineeship” position. Although it wasn’t ideal, it allowed me to learn on-the-job and get my foot in the door.
A year later, and after a lot of hard work, I got offered a much better position and 3x’ed my previous salary! 🤯
Today, I’m currently working as the founding Developer Relations Engineer for Wasp where I build things like OpenSaaS.sh, a free, open-source SaaS starter template for React and NodeJS, along with Stripe, OpenAI, and AWS S3 integration. It’s based on what I learned from building my first profitable SaaS app, CoverLetterGPT.xyz, which currently has over 100 customers and makes ~$500 per month! Nothing crazy, but something I’m still proud of.
And now that I’m currently in a developer-facing role, I often get asked by people in our community for tips on landing jobs in tech. With this in mind, and with these past experiences under my belt, I thought I’d write a comprehensive article that shares what I’ve learned and seen to be the most effective ways to do so.
Enjoy!
Current Job Market for Developers in 2024
First of all, let’s take a quick look at the current job market for software developers.
If you spend time on Reddit or X.com (aka Twitter), then you’ve probably seen people complaining about how crappy the current job market is for developers.
To try and find some actual statistics to back up these claims, I used Perplexity.ai to help me find some information on the current demand for software developers, and I was surprised at the results.
Apparently, the demand for software developers remains high, in fact the demand is higher than other jobs, on average, and is expected to grow even more in the coming years!
So why does it feel even harder than usual for some developers to land a job at the moment?
Well, that’s because it actually is harder, but only if you’re a less-experienced developer.
On the other hand, If you’re an experienced dev with a strong portfolio of work, there are a lot more open roles out there for you. But if you’re a junior developer just starting out, the competition is fiercer than ever.
And there are few reasons for that:
- Complexity of Skills Required: software development is increasingly complex and requires a broad set of skills, making it difficult for many candidates to meet job requirements.
- Remote Work Trends: The shift to remote work has disrupted the entry-level developer pipeline, making it harder for companies to find and train new talent.
- Economic Factors: The pandemic and subsequent economic shifts have led to fluctuating hiring patterns, with some periods of high layoffs followed by surges in demand.
Basically, even though there is high demand for experienced developers, there is a comparatively low demand for the less experienced ones.
So with this relatively large supply of beginner and mid-level engineers all competing to get the same jobs, how can you gain the skills of an experienced dev and make yourself stand out from the crowd?
Be a problem solver, not just a coder
A career in software development means that change is a constant. You always have to be ready to learn new things and go outside of your comfort zone because,
- the job demands it, and
- the industry evolves at an extremely fast pace
In such an environment certificates, courses, and degrees (to a certain extent) matter less, because they don’t prove you have the skill needed to adapt to and solve new problems as they arise. Sure, they prove that you have a certain amount of fundamental knowledge, but that’s only a fraction of the necessary skills needed for the job.
You want to be able to show that you can tackle a challenge that you’ve never faced before, by:
- quickly learning about this new topic,
- finding a suitable approach to solving it, and
- executing on that approach quickly in order to realize your goal
But don’t just take it from me. AJ, aka Techfren on TikTok, talks about how to navigate the current job environment in a post-AI world. He makes a couple good points that are related to this article here. For example:
- General coding knowledge is even less relevant because AI possesses a really broad range of coding knowledge. As an engineer, you’re no longer valuable because you know how to code — an AI now knows how to code pretty damn well (and in a lot more programming languages than you). Your value comes in thinking critically, solving problems, and architecting solutions to those problems.
- Businesses will start looking more for these generalist problem solvers to build in-house apps (i.e. internal tools) as replacements to paid services in order to save money and meet their specific business demands, since AI allows developers to be way more productive.
So it’s obvious that problem-solving skills are in high demand, and will continue to be even more important in the future. And we can assume that more experienced, in-demand developers possess those skills, so how do we build them ourselves?
Solve your own Problems
Ok. So you consider yourself to be a curious developer, that can adapt and learn new things quickly, and solve problems on the fly.
But how do you prove this to prospective employers?
Easy. Just solve your own problems! In practice — and in the realm of web development — this means “being on the edge of your comfort zone” and building a web app that’s unique to you and your interests.
Cameron Blackwood, a self-taught engineer and content creator, describes this perfectly in his TikTok video advising new developers on how to improve their skills. He also has a unique perspective because he previously worked as a tech recruiter, and he says:
- Build a web app that solves a problem you have in your everyday life
- Try different things than you’re currently learning / doing at your day job.
- Keep building and trying new things in your free time.
Of course, these apps you make don’t have to be perfect, but the more unique they are, and the more they show a creative and well-realized solution to a problem, the better.
And if you’re having trouble thinking of things to build, sometimes just experimenting with new tools can inspire new ideas. But however you decide to approach it is up to you, the important thing is to start, so get cracking!
By the way, Wasp is a great way to easily build new apps that solve your unique problems. It’s also one of the quickest ways to build bespoke full-stack apps in React & NodeJS without having to write a bunch of boilerplate code for things like auth, routes, end-to-end typesafety, deployments and more.
As an example, check out this video which shows you how easy it is to implement full-stack authentication across your entire app.
Do the grunt work
As I was writing this article, I was lucky enough to come across this tweet from Jonathan Stern where he talks about advice he found extremely valuable when he started his first dev job.
Before that job, Jonathan wrote an email to Replit's CEO, Amjad Masad and asked for advice when starting his first job as a software developer.
Here's what Amjad said:
Two ways to prove yourself and make yourself indispensable:
be incredibly productive and inventive -- which is really hard to do when you're starting out
do the boring work that no one wants to do
#2 is available for everyone, it just requires effort and discipline but no one does it, so I would suggest doing that. Incidentally, #2 can often lead to #1 in interesting ways.
Now, even though this is advice for developers who already have a job, I think it is advice that a lot of less experienced devs also looking for jobs should hear.
Amjad’s advice in a broader sense is to basically lower your expectations at first and work hard. Doing the boring work that no one wants to do also might mean doing work that you’re not keen on, but it will benefit you in the long run.
This could also mean taking on jobs that aren’t exactly what you wished for earlier on, and doing the grunt work, in order to become that “indispensable” developer that any employer would love to have on their team.
Be a Good Person
This advice is very general, and can apply to just about any job (or anything), but being a good person to work with is probably a lot more valuable and overlooked than most job seekers imagine.
Once you’ve met the job requirements, a lot of what makes you attractive to prospective employers is whether they could imagine working in a team with you or not. And while that may seem simple and straightforward from the outside, it’s actually a lot harder to put into practice.
Think about it.
You’ll be working on a team with lots of different personalities. Tasks can get complex, deadlines get tight, and the work can get messy. Mistakes will be definitely be made.
Are you the type of person to lose their sense of humor under pressure?
How will you react when someone blames you for a mistake you weren’t directly responsible for?
Do you communicate openly and effectively with your team?
Will you stay humble and conscientious after 1 year of hard work with no raise? Will you stay humble and conscientious after 1 year of hard work, lots of praise, and a sweet raise (this is probably even harder)?
Being a honest, open, and genuine are valuable traits that are hard to come by, and people can often tell in an instant if you’re that type of person or not. And it’s these type of people, when put up against other candidates that also meet the job requirements, that ultimately end up getting the job offer.
More Effort into Less Applications
One of the things that I and a lot of other employers complain about is when job applicants put little to no effort into their applications. The worst offense is when the application is obviously just a copy-and-paste effort.
Employers hate this because it’s an obvious sign of how you will work on the job. If your job application is done lazily, then it’s very likely your work on the job will be performed similarly (or worse!).
That’s why I think it’s best to put more of your effort into fewer job applications.
There is no magic number, but whenever I was applying to jobs there were always 2 or 3 that I was really excited about. So those were the only ones I applied to, and I put a lot of thought and effort into these applications.
Besides making my own portfolio with descriptions and learning objectives for my projects, I would also create some form of extra content that was related to the job application. In some instances, this was a simple example app, or in others an explainer video or article.
What was important was that these extra pieces of content were attempts at solving the problems or tasks presented in the job description, to show that I can do that type of work well, and that I’m eager and willing to do the grunt work.
My assumption was that most other applicants wouldn’t go to these lengths when applying and therefore my application would stand out from the crowd, and it worked well as I got asked to interview for many of those positions even without a lot of prior experience!
By the way…
We're working hard at Wasp to create content like this, not to mention building a modern, open-source React/NodeJS framework that allows you to move fast!
If you want to see more content like this, you can help us out really easily by giving us a star on GitHub!.
Now Get That Job…
The software developer job market is changing. It makes sense because the role of the software developer is also constantly evolving, and now that we’re entering the era of AI, these roles are evolving at an even faster pace.
This means, as employers adapt, they’ll probably continue to look for the developers that can prove they’re able to keep up with all these developments, and utilize the tools at hand to solve problems faced in the world around us.
So if you’re able to prove this, while being a conscientious and humble worker, than you probably won’t have such a hard time finding that sweet tech job you’ve always wanted. It’s just a matter of putting in the focus and energy on the right things now, which at times may be hard, that will make the process of finding a job later a whole lot easier.
Of course, these tips are based on my experience and subjective point-of-view, so if there’s something you disagree with, let us know in the comments. Or do you have your own sweet tip that helped you land your job? If so, we wanna hear it!
Thanks for reading and happy job hunting.
Top comments (57)
Here's a way I think you should start your journey. (proven and tested by me 🤚)
START HERE...
Key Take-aways:
Oh and if you're a faith person: You ought to pray. Trust that God's got you and that He loves you. Having His peace through out this whole process is KEY for getting through it. And don't put your life on pause, go out and live. Don't focus all your energy on job hunting. Go for a walk on the beach. Do something you love (without feeling guilty). Those are all acts of faith that you believe indeed God has your back & you don't need to worry.
Dealing with imposter syndrome is a tough one. Definitely learning to trust yourself is something that gets better with time.
I did the exact same thing.... changed careers during the pandemic. From working in 2 international airports for so many years, to learning how to code and I love it!!!!🩷🩷🩷🩷
awesome. congrats!
Imposter can be a beast. Watched "I Suck." ... "I Rock!": youtube.com/watch?v=cFIF46j59LY It's "a lengthy description of the two extremes: impostor syndrome (undervaluing your skills) and Dunning-Kruger effect (not knowing that you don't know)."
Recommend it to everybody.
Ooh, sounds intriguing. I'll definitely give it a watch :)
this is really great
thanks
Thank you
Love walks on the beach
That's very interesting, thank you! Could you please explain more on how to do the first point though? How do you job shadow someone in tech if you're not in a company with a techinical division?
Nice comment. The peace factor and walking by faith in this industry are very key if one wants to succeed in this industry.
I often get asked lately about the situation in the programmer market and I will be sharing this post from now on as an answer!
My quick summary of it with a bit of my own spin on it:
Oh yeah, researching the job position and explaining why you care about are two great points I missed!
Thank you very much.
"Learn how to solve problems" is timeless advice, self taught or otherwise. I recommend this post by Chelsea Troy about how formal education is changing in response to LLMs.
Nice tips! It's kinda motivating and also makes you feel you are not alone in this.
Nice! yes, the point is that anyone can put these into practice :)
I agree with all points on this article. The soft skills take longer to develop. I believe junior devs should learn how to implement to right behaviors from the beginning. From years of experience, learning, and mentoring, I decided to consolidate the key learning on an ebook.
really nice.
very very good article.
thanks! what did you find insightful about it?
thank you for reatching out.
is it possible for us to be friends with each other?
of course 🫂
okay.
i followed you.
do you have whatsapp?
This is a master piece. I'm well pleased with this 👍
thanks for the kind words
Excellent post! This was a great read, thanks!
glad you liked it!
Thank you very much. 💖
Wasp is everywhere. You are nailing the content that I least I NEEDED. Grats
have you tried wasp?! :)
Some comments may only be visible to logged-in visitors. Sign in to view all comments.