Finding a job as an experienced software engineer

Here is my opinion from recent experience on how to find a job in a market where junior developers are not needed so much but senior ones are still relevant.
Finding a job as an experienced software engineer

Here is my opinion from recent experience on how to find a job in a market where junior developers are not needed so much but senior ones are still relevant.

1. Create a good CV

This is the first and most important step in any application, I cannot recommend enough the website: Practical guide to writing FAANG-ready software engineer resumes, before I used this website, my cv wasn’t up to scratch for the companies that I wanted to work on, I got hired for a company that wasn’t interested in keeping my role and applied for quite a lot of them before realising that the problem was the format on my CV and how it was parsed on the internal tools that companies were using to filter out applicants. After I reformatted my CV using this simple template, I was hired by the first company I interviewed for. It might be a coincidence, but I think it actually made a difference.

When it comes to writing down your experience I don’t really know why some people recommend to only put your latest 4 or your most relevant roles, as a senior developer, detail is very important, if you were working on PHP, ruby, or Java 10 years ago you might feel that is not worth mentioning but the company might have some legacy code that is in need of your skills. You should always describe every job (as an engineer) you have had. But that being said, don’t go into too much detail on irrelevant job experiences you might have to keep your CV shorter, no one needs to know the details of your job as a CSS bug fixer for a casino website you had 15 years ago, just name the company and skills and move on.

2. Prepare for the role

Not the interview (yet) the role. You really really need to be up to date with the role you want to do, if you’ve been working on a ruby website for 8 years, chances are that you’re not going to do it anymore and knowing TypeScript is essential for you. Or you’ve been working with a Vue front-end but never touched react, now is the time to do a website and learn what the fuss is about with react server components.

I really like these free websites:

There are some other websites with a paid subscription (coursera, frontend masters…) but I would not recommend them as there are plenty of free resources out there for you to learn. But if you really want to level up your knowledge then sticking to a single subscription and getting the most out of it might be your best choice.

The best way to learn anything is to actually create something using that tool, so find a side project, chose your libraries/frameworks and get on with it 8 hours a day. It’s the best and only way to learn.

3. Prepare for the interview

This is a very important step, a step that cannot be achieved without the first 2. I recommend following the website Tech interview handbook and memorising everything in there. But you need to understand that hiring managers are looking for a good fit within a team, so they already have someone in mind that fits within an existing team or a team lead to start a new team but either way, you’re going to be reporting to someone AND THEY NEED TO LIKE YOU, this is not a “be pleasing to anyone” advice, is a: “if you’re feeling that is not a good fit, is because it probably it’s not a good fit”. Hiring managers need to ask a specific set of questions but they might have made a decision a few minutes ago and they’re just finishing off the interview, this is not a reflection on yourself or your skills (if you’ve done the first 2 steps correctly) is just something that is not going to work, so move on, and to the next one.

I really recommend reading the short book: Surrounded by idiots, by Thomas Erikson. It’s not perfect in many ways but one thing he mentions is crucial: some people only like people like them. So if you are talking to someone that is very direct and doesn’t mind the effect of his/her words, he’s going to like someone like him/her, not someone that’s very insecure and minds his/her words to not hurt the feelings of the other person. But they also might be looking for someone that is not like them to fit with the team so this is where your emotional intelligence (what’s that? I know…) comes into play, be sincere and tilt towards one way or the other depending on the circumstances, is not being fake, is adapting to the circumstances, lawyers, journalists, sociopaths, they all do it. You need this job, why not also do it?.

Record yourself answering a technical question, explaining a design system, and listen to yourself. This is the only way you can learn from your mistakes and improve how you speak. Even if your day to day job doesn’t require you to speak, chances are that you will be explaining new features to other people, so your public speaking skills need to be good.

It’s also very important to know how much you’re worth, research how much people like you are charging, Glassdoor, and ask people that you’ve worked with in the past how much are they being paid (if you have the chance to do so) you want to ask for the right amount, as if you’re asking for little, they might think that you’re not qualified enough, and if you ask for too much, it might show in the interview that you’re not qualified for the role. Don’t be afraid to say a figure just because you were earning much less in your previous role, they don’t need to know that. If a recruiter asks you, it’s better to say that you were earning the same amount as what you’re asking for.

4. Don’t screw up on your probation period.

I cannot stress this enough, companies can let you go at any point, as a software engineer, you’re a very expensive commodity and if there is no budget in the next financial year to keep you, they’re going to get rid of you. You just need to make it very difficult for them to do it.

Earn your keep, never let someone feel that the amount they’re paying for you is not enough for what you do. Be productive, be eloquent, communicate properly, never show to anyone that you were a bad hire. We can’t afford to start looking for another job in this day and age.

Be nice to people. Speak in a polite and clear manner. That customer success person that is struggling to do the simplest task that you can do in 10 seconds, needs help and you’re the one that can provide it. Don’t forget to update someone on a topic they’re involved in, keep QA engineers up to date on what the state of the tickets are, I’m very surprised that in today’s environment there are still senior developers that don’t care about QA and other developers and just keep working on their stuff. Don’t forget to review other people’s PR and always work on tests.

And you should find a job in no time, even with a lot of people applying for a role nowadays, people that are good and fit a role are hard to find, be that person.