So you want to be a developer…
These days, the barrier to entry for becoming a software developer is significantly lower than I ever remember it being. Companies are progressively coming to terms with the fact that a Computer Science degree from a Red Brick university isn’t a fundamental necessity for a great developer (although it certainly doesn’t hurt). I’ve also lost count of the number of new ‘bootcamps’ springing up in and around London like Makers Academy, General Assembly, Founders & Coders and so many more.
Whilst it’s a wonderful thing that it’s easier than ever to become a developer and an even better thing that STEM fields are increasingly becoming more accessible to a more diverse group of people, the pitfalls of pursuing a career as a developer are arguably more perilous than ever.
I’ve had the pleasure of spending almost all of the past decade hiring developers for all sorts of companies throughout London and I am still absolutely convinced that the rise of developer bootcamps are a wonderful thing for many reasons. I’m qualifying that statement simply because I’ve witnessed significant backlash and skepticism (primarily from experienced developers) on the validity of said bootcamps. The most common complaint I hear is “you can’t become a real developer in 90 days”. I do get that argument and I agree with it to a point. What I don’t agree with is the dismissive attitude towards someone investing significant time, effort and money into jumpstarting their career. I’ve yet to meet a single graduate from said bootcamps who has emerged from their 90 day intensive training with the expectation that they are owed a job or that they are now on par with everyone else in their field.
Like any form of hiring, bootcamps can be hit or miss. You can find budding superstars and you can find walking disasters. They are a proven platform to help people get their first foot on a very tall ladder and within the next few years you will find former bootcamp graduates holding CTO titles with established tech companies around London.
Choosing your first job
I’m often asked for advice from people looking to start their career as a developer and one consistent point I make is that the only time you will struggle to find a job is when you’re looking for your very first job. Every single day from your first day of employment onwards makes you more employable and the more experience you gain, the more job opportunities will land on your plate.
From my perspective, there are two very specific things to avoid when starting your career as a developer. Freelancing and being a ‘sole developer’.
You can make ridiculous money as a freelance developer, particularly in London, however I promise you, you will have all the time in the world to earn that ridiculous money once you have established yourself as an experienced and competent developer with a wide range of experience under your belt. Unfortunately I’ve seen too many recruiters attempt to coax new developers into contract roles because they have no vested long term interest in the personal growth of their candidates. Don’t do it, at least not for the first few years. Your CV and mental wellbeing will thank you for it.
Every day a new startup is born in London. I don’t care if you’ve been sold the dream on the next Uber for Burgers™, if you’re going to be the sole developer on a project, you’re missing a crucial opportunity to learn and grow. The single most effective way to become a great developer is by surrounding yourself by other experienced and supportive developers. It’s always a good idea to surround yourself by people smarter than you regardless of how experienced you are but it’s infinitely more important at the beginning of your career.
Just because you’re interviewing for your first ever developer job, you are still absolutely entitled to ask questions. Don’t be afraid to ask lots of questions. In fact, I insist on it. Here’s a few simple examples that will help you establish whether or not the company you are interviewing with will help you on your journey to becoming a great developer.
- What size is the development team?
- How much access will I have to the team in order to pair, ask questions, etc?
- Will I have an allocated ‘mentor’? If so, can I meet them at some point?
- Realistically, how long do you think it will take for me to become a fully productive member of the team?
- Do you have additional plans, support or training in place to help me become a better developer?
What these questions are designed to establish is how prepared the company are to hire a first time developer and filter out those companies that are simply looking to acquire ‘cheap’ talent (yes, unfortunately those kinds of companies do exist). You are not showing any weakness or vulnerability by owning the fact that this is your first developer job. It shows self-awareness and maturity and if the company you are interviewing with sees it any differently, then they are not the right company for you.
Getting It Right
If I’m ever asked for an example of a company that truly ‘gets it’ when it comes to hiring new developers, I always refer to the best example I’ve ever seen in practice which is Ben Summers and his team at Haplo.
Full disclosure: Ben is a personal friend and has been a wonderful mentor to me over the years. I formally ‘worked’ for Haplo for a few weeks where I was helping Ben to improve his hiring process. I have not been paid to cite Ben or Haplo in this post.
Ben and his team have a distinct advantage over most ‘sexy’ startups (also, don’t ever refer to your startup as ‘sexy’). They are completely bootstrapped, profitable and are not answerable to any venture capital organisation, therefore they work at their own pace and under their own rules. Haplo has a tendency to only hire developers who are either looking for their very first developer job or are at very early stages of their career. As a result, they now have a team of immensely talented people who know the positive impact that a structured and supportive environment can have and therefore they each individually go out of their way to ensure every new team member has the same positive experience from Day 1.
One of the key reasons for Haplo’s success in hiring and nurturing new developers is their absolute respect for their teams well-being. It’s a running joke/threat in the office that Ben will switch your machine off at 5.30PM if he finds you’re still working because he sincerely believes that your work should never be your top priority in life and he refuses to put anyone in a position where they feel otherwise. This level of respect and understanding for your team is, unfortunately, relatively rare so when you find a company like Haplo, don’t take it for granted.
They cultivate an environment where questions and collaboration are welcomed which can be difficult for most fast-paced startups who are constantly under pressure to ‘move the needle’. Their hiring process is specifically designed to be blind to everything other ability and desire to be a great developer. In fact, Ben has written an outstanding blog post sharing his approach to working with early stage developers.
I’m going to wrap up this post with a rant because it’s so far lacking my trademark bitterness and anger.
Please stop calling early stage developers ‘junior’ developers.
First time developers are no longer just 21 year olds fresh out of University. All too often they are experienced, mature professionals who are taking an immensely brave step by leaving an established career behind in order to embark on an entirely new career as a developer. Sure, they may be inexperienced programmers and they may be paid less than most of your team but to patronise them with a formal label like ‘junior developer’ is… well, it’s just bullshit.