The (UK) Junior Software Developer Guide — Part 2

John Peden
9 min readMay 19, 2022

--

You can find Part 1 of this article here: https://medium.com/@johncpeden/the-uk-junior-software-developer-guide-part-1-e0f3e57c17c2

As a junior, you’ll need to have lots of stickers on your machine

In the first part of this guide, we looked at why I felt it was a good time to get into software development…even as a junior. We looked at good cities in the UK to work from as a junior developer and what you could expect to take home each month.

In this part of the guide, I’ll be covering off some of the nuts and bolts about how you can build your profile as a junior software developer and start finding development work.

How should I find a junior software development job?

If you are right at the start of your journey and have no experience, no portfolio and no network you really need to start building out each of those things.

Ideally, you’ll do this in parallel so that you can shorten the time it takes you to go from complete noob to an junior software developer working a job that you don’t totally hate.

How to get experience as a junior software developer

Practice, practice, practice!

If you have no experience and no real knowledge of software development, you’re going to have to be proactive here. The best way of doing this is to start by building a few sites/apps for yourself to get a feel for what’s involved.

This isn’t as tricky as it sounds and all you need to do is to familiarise yourself with Google to get started.

What I’d recommend here is attempting first to build a static site in plain HTML and CSS to understand how the very basic building blocks of a website actually work. Figure out how to customise a static HTML template from Themeforest and put together a little one-page site for yourself. Figure out how to host it using Siteground and purchase a domain on Namecheap. It doesn’t need to be fancy…nobody will visit it anyway!

You might also want to dabble with WordPress. WordPress is written in PHP which I’ve told you not to use but it does provide you with a fairly robust platform on which to start building more functional sites with things like contact forms or even booking forms and ecommerce.

If you have some working knowledge already, you might want to look into a static site builder like Gatsby but I feel this is veering into much more complicated territory and that’s really not the aim of this article.

Ultimately, the end goal here is for you to be able to approach a local business or organisation and offer to build something for them for free. This opens the door to you building a portfolio of work.

How to build a portfolio as a junior software developer

Me agonising over how best to present my portfolio of 3 shitty WordPress sites

Honestly, we’re pretty bad at this stuff as developers but if you want to build out a portfolio of work don’t overcomplicate it. No interviewer in their right mind is going to spend more than a couple of minutes looking through your history of work so don’t put too much effort into it.

What might look good here would be a reasonably healthy GitHub profile e.g. one in which you’ve interacted with the community by commenting on stuff or fixing bugs with software you use. Nobody is going to scrutinise your work too closely and to be honest, in the early days of my work I often just directed people to a live site where they could see something I’d worked on.

Either way, you are going to want to have some work to show a prospective client or interviewer so it’s important to work on something relevant to the type of development work that you want to do.

Build out a little API in Java to crunch data or a simple application in React if you’d feeling bold. If you just want really basic development work then a static site in HTML might even cut it provided it was actually of use and you could show the interviewer how and why you used it to solve your perceived problem.

How to build a network as a junior software developer

Get yourself onto LinkedIn and start building your network

Simply put…use LinkedIn. I’ve already covered this at lenght in an earlier article and there simply isn’t a better way of building out your professional network.

The TLDR for the article I’ve linked to there is basically:

  1. Build out a simple profile in 20 minutes or so that isn’t totally awful
  2. Search for relevant jobs being posted by recruiters
  3. Connect with the recruiters and express your interest
  4. Stay active on the site and try to be valuable to people

Follow these steps for a few weeks and you’ll be on the radar of a bunch of recruiters who will eventually be able to place you in a junior development role.

Importantly, don’t stop this once you get your first position. Stay active on the platform and keep building your network so that it’s ready to call upon the next time you’re looking for work.

Where can I get a template C.V. for a junior software developer?

The format and presentation of your C.V. really isn’t that important. If it’s totally awful, any recruiter worth their salt will give you a few pointed about how to rewrite it to at least make it presentable.

Like your portfolio, this step in the process really isn’t that big of a deal. Recruiters will be looking for keywords like ‘JavaScript’ or ‘Python’ in the same way a search engine would. If it features heavily then they’ll assume that you’re probably a good fit of their JS or Python role.

If you simply cannot do this yourself email me and I’ll share a copy of my C.V. with you.

How should I get a junior software development job with the BBC, Amazon or FDM?

I know these companies seem like a bit of bizarre match but that’s what people have been searching for it would seem. I’ve not worked for any of these organisations so I can’t coment on their hiring processes in any great detail but I know folks who have worked for The BBC and FDM as developers.

In the case of Amazon…unless they’re specifically hiring juniors I’d try and get some work under your belt first. I’m not convinced that they’re a great company to work for as a developer or a warehouse worker and they are so massive that you’ll probably just get lost in the system anyway. Get some experience in a smaller company first and figure out what gets you excited.

Lesson: Don’t worry about getting work with a FAANG…just get your first development job and then start getting picky.

In the case of The BBC…I’m not sure that they hire many juniors but your best bet is probably through a recruiter. If there are jobs available, the Beeb will hand over recruitment to an agency who’ll look for suitable candidates. It’s much easier finding work when the end client is actively looking for a new developer as opposed to trying to force your way in and convince them to create a role for you.

Lesson: Swim with the current rather than against it and leverage the existing system to your advantage.

Finally…should you work for FDM? I’m not convinced that they are a great company to work for and certainly the treatment of some of my colleagues by FDM was quite poor. You can be sent quite a way from home, you aren’t paid well (certainly relatively to how much they are billing the end client) and ultimately your experience as a developer is governed far more by the end client rather than FDM.

That said, they do offer a means to an end. An excellent grad I worked with (Mike Everett who is now a senior) at Booking.com spent 2 years working alongside me via FDM and proved his value to Booking.com who then bought-out his contract and probably increased his wages by 50–100%.

If you can, I’d avoid going through FDM and try to find junior development work via a recruiter but it’s probably not the end of the World if you end up working for them.

Lesson: FDM and companies like them are big, impersonal and only too happy to take a large chunk of the value you deliver to the end client. Avoid if possible.

What will my interview be like as junior software developer?

You might find yourself having to pair-program…but don’t be phased by that

The interview process for a junior is an interesting one. You generally won’t have a load of experience to offer up as talking points and the interviewer can be left feeling as though they have to take a bit of a punt on you not being totally shit…or difficult to work with.

Imagine then how much better the interview would be if you had a bit of experience and an existing profile that the interviewer had already seen. Imagine if you had a little app that they’d already interacted with and a GitHub profile where they could see you’d opened a few pull requests to fix a few simple bugs on a project you like.

The interviewer basically wants to know that you’ll play well with others and that you have some idea of how to code. They can teach you most of the latter but the former is far harder to work with.

Think of ways you can demonstrate that to them without having to force them to quiz you on the “times you showed good team-playing characteristics”. You’ll get extra points if you can demonstrate your ability to work in a team through some coding work you’ve done.

As an idea…could you and some of your development buddies build a little app cooperatively? Don’t have any friends? Could you find some online and work together to build something of use/interest to you and the wider community?

Ultimately, the interview itself can vary massively by organisation and even the person running it. What you can be sure of though is that they probably have better/more imporant things to do that interview a junior so try to make their life as easy as possible.

How should I train to be a junior software developer?

You’ll be spending a lot of time in your IDE

You need a bit of experience to get your first junior development role and you’ll also need a bit of a network to help you find it.

  1. Read this article about creating your LinkedIn profile: https://medium.com/@johncpeden/how-to-create-a-great-linkedin-profile-in-20-minutes-65a4af994a13
  2. Create your LinkedIn profile and spend 10–20 minutes every few days interacting with recruiters and other developers on the platform
  3. In the rest of your spare time, decide on a technology that you’d like to get good at. If you’re a junior developer you could do a whole lot worse than learning JavaScript.
  4. Build a little application to do something useful for you or a friend. Share it with others, get some feedback on your work, improve your app.
  5. Start interacting with the developer community for your chosen technology. Can you help debug something on GitHub? Can you improve your chosen technology by opening a pull request? Can you collaborate on an application and start figuring out how to work as a developer in part of a small, informal team?

How quickly can you become a junior software developer?

Pretty quick to be honest. I’ve watched aspiring juniors like Sidney on LinkedIn during the past 12–18 months and the rate at which you can actually educate yourself and find work is pretty rapid if you stay focused and commit to a small area of expertise.

Good luck on your journey, please drop me a line if you’d like any specific tips.

--

--

John Peden

Sharing my experience as a solo dev agency @ http://castlefieldmedia.com 🧑‍💻 Ex Booking, Co-op, MoneySupermarket