What you need to find a job as a Developer / SWE
The things that most people don't know when it comes to getting their careers started
In my career as a Software Engineer and Senior Engineering Trainer Manager (training engineers) I’ve seen a lot of brilliant people get turned away time after time from interviews, especially for their first or second roles in the industry.
Their code was good and they had good portfolios with cool projects; they had what most people would say you need and yet, companies were not making offers. Some were not even getting interviews!
Had it happened to a few people we could blame it on market conditions, tough competition, bad luck… but when a pattern is repeated too many times it is often a symptom of something bigger. After a while it came to me, the problem was clear:
They were lacking something essential that companies look for, and it wasn’t their coding skills.
I’m not going to lie, without a CS degree or good connections, starting your career as a developer of SWE (Software Engineer) can be quite difficult. You are competing against thousands of people and the number only increases each year.
Everyone focuses mostly in polishing their technical skills, after all is what they get told: learn a language or two and a framework, build projects, get on Leetcode and practice coding interview challenges, learn algorithms and data structures… And there is nothing wrong with this, in fact it is essential. However, there is more to it. I always say: it’s not what you build but how you build it.
The most common problems that people have when they try to get started in the industry and don’t manage to get interviews or job offers are:
They lack experience working in teams
They lack th ability to build a project like a professional
The days of devs working from a dark basement on their own are long gone. Tech has become a lot more complex and one person can’t do it all. When you enter a big company you realise the magnitude of this: a project goes over more than 10 different roles and teams from beginning to end. It can be even more. Some examples are Project and Product Managers, Engineering Managers, Engineers, Graphic designers, Testers, QA, Sales, Customer Support, Marketing…
On top of that there are the basics of working with a team of engineers: project preparation, using agile, proper use of github, testing, automation…
Understanding these cycles and processes and how to communicate with different teams and working efficiently is what makes a professional developer.
A good analogy that I like to use a lot is comparing a good cook and a chef. What’s the difference? A good cook will make nice meals, maybe even really nice. A chef will be able to repeat the same process a million times and it will produce identical results. They will also know how to manage their staff in the kitchen and how to manage through different situation and metaphorical (and literal) fires.
Someone who can code will be able to make things work. A professional will create an efficient, scalable, fool-proof and tested project using the right tools, understanding why they are the right ones and with proper architectural patterns.
Do you see the problem now? Most people are not aware of this and / or don’t have any easy access to this kind of experience before they get their first job and that’s where the endless cycle starts: How can I get experience if no one hires me so I can get experience?
It’s hard. I said it before, there is a reason that lots of people struggle in this step of finding the first or second role. The best ways to overcome it come with a lot of hard work:
Set up a team of people like you or more experienced
The best thing would be to find people that are already in the industry and are working in a project where you can add value. You can do this attending hackathons and networking events. Most cities have tech networking events where lots of people in different roles and levels of experience attend.
There are also open source projects available online all the time. You can find them in platforms like Github or Stack Overflow along many others. I can’t recommend any specifically because by the time you read this they might be finished or dropped but there are definitely many that are junior friendly, you just have to put some effort to find them.
Code like a professional
By this I don’t mean code like someone who has been doing it professionally for +10 years. What I mean is put some “engineering” into your software engineering. The word is there for a reason.
Anyone can produce spaghetti code that works. Putting some time to plan how the project will work, which technologies you will use, which code structure you will utilise, applying TDD, creating different branches on github using proper branch strategies, doing paired programming and code reviews, creating documentation… This is the bread and butter of a professional and the experience that companies look for because this is how they work. They need someone who can integrate into their teams as soon and seamlessly as possible and if you have never done this, it doesn’t matter how many languages you know or how many solo projects you have built, you will probably get turned away.
That is not always the case though, some people manage to break through this wall without this experience. Unicorns exist! But they are a very small percentage compared to the amount of people trying to land those roles.
Hopefully this article will have given you an insight into what you could be missing.
At Tech Revolution we teach all these processes and offer support evaluating where you are at and how you can reach your goals. You can book a free consultation with us with no strings attached just to see where you are at and how we could help you achieve your goals.
You can do it here:
Or you can also visit our website for more information:
If you want to be notified whenever we release a new article you can subscribe for free to our Substack channel: