How to land a developer job with objectively poor coding skills

Chronicles of Chris
5 min readJan 25, 2021

--

The Stats

(I usually write about processes, reviews, solutions to problems etc. and roll out a series of stats to clue you in on how you might feel when encountering the same challenges. But this article is about re-evaluating your worth, so I’d like you to check in with yourself.)

Imposter Syndrome Check: How do you feel you compare to other coders? And are you sure you’re using criteria that employers are using? Or are you just comparing your code to the stuff that is most popular online, the best of the best?

Expectation Management Check: What kind of deadlines/goals have you set yourself? Do they allow for inevitable failures and setbacks?

Motivation Check: Are you applying to jobs for the right reasons? Have you critically evaluated what your personal values are and figured out why certain roles and companies should align with those values?

The Background

I just got my first ever full-time software developer job offer.

Even the interviewer said my code “wasn’t the best”, and yet I still got the offer.

How?

TL;DR:

  1. Show your commitment to improving your knowledge.
  2. Be able to think about the coding process on a more abstract level.
  3. Show that you are more than just a coder.

The Solution

I’ve had a gruelling transition from marketeer to dev. I started with a bootcamp and then followed almost a year of holding myself to, frankly, unrealistic discipline and productivity standards.

I created many-a-website, watched many-a-tutorial, started a business wherein I’m the sole frontend dev, and forced myself through the AlgoExpert program (which, for the record, is good — I just tire of algorithms).

But the hard work has paid off, and all of my second-guessing has ended in an actual, tangible, undeniable job offer from an actual, tangible, undeniable company. A good one, too. A really good one.

I have a great deal going for me: I’m organised, thorough, reliable, outgoing, ambitious, and my mum says I’m a very handsome young man. But I’m not a star coder. I don’t write perfectly — far from it — and I can be sloppy when I don’t need to be. I don’t write enough tests (because 0 is rarely enough) and I haven’t kept up with linting. I write code to “get by”, and I really need to nip that in the bud. Working full time will help to get those things in order, but the fact is I would have been a much better prospect if I’d demonstrated my ability in those things.

I did, however, mention that I want to improve these team-focused skills as part of my professional growth, which leads us to tip #1.

Show your commitment to improving your knowledge.

You can achieve this in multiple ways:

  • Talk about the technologies you’re waiting to get your teeth into. Bonus points if these technologies are things that improve the team programming experience, e.g. unit tests, shared components, kubernetes etc.
  • Get those green dots on github. Prove that you’re experimenting with different technologies and an avid learner.
  • Name drop podcasts you listen to, influencers you follow, books you’re reading. Show that you’re keeping up with tech and be able to explain why things excite you. Doesn’t always have to be cutting edge stuff; you could start by talking about the most popular tech in the latest StateOfJS.

An employer is not always (in fact, not often) looking for the finished product. If you’re going for junior roles this is even more true. The tech world is so in need of developers; so many companies are willing to take on coders that show potential and mould them in their image. There are a great number of companies that aren’t willing to do that, but the job application game is a game of numbers, in the end.

Be able to think about the coding process on a more abstract level.

This is where your studying is going to come in handy. Make sure you get a good grasp of concepts, and not just code. In my interview, for example, I was asked about Functional vs Object-Oriented Programming. You may be able to do one thing really, really well, but the vast majority of employers are looking for someone more versatile. It very much dovetails from my first point: if you can grasp abstract concepts, then not only can you pick up and adapt to new technologies, but you can see the bigger picture. If you can see the bigger picture, you can carry out their vision for years to come.

Some ways you might be able to work on this are:

  • Study programming concepts and forming solid, well-reasoned arguments around why you follow certain schools of thought.
  • Don’t just practice frameworks and nifty tools. Brush up on your raw coding skills, algorithms, systems design, history of computing etc..
  • 2-for-1 deal with tip #1: Engage with the community via podcasts/twitter/conferences/whatever, and keep up with the plethora of abstract debates raging around the software development ecosystem.

Show that you are more than just a coder.

I think I’d call this one the most important. I’ve inadvertently saved the best ‘till last. Go have a quick Google for the “most desired software developer skills” or something similar. You’ll find most articles telling you that employers are looking for good communicators, critical thinkers, team players etc. A lot of companies will do personality and EQ tests; some won’t even do a coding test of any kind, that’s how highly they value the right person over the right coder.

The simple fact is, you can’t scale a product if you don’t have a good work environment. You might be able to make something phenomenal on your own, but it will never be as good as what you can achieve as part of a team. If you can’t play nice with others, they’re not going to want you.

But over and above those regular soft skills, show them what else you have.

  • Are you driven? Show them by researching every last pixel of online articles about the company, the role, your potential team leader, the organisation’s goals etc.. Paint them a picture of where you might fit into that vision.
  • Are you a leader? Taken the initiative to do something they might not have seen from others. For example, when I was submitting my code for a coding challenge, I attached a short video explaining my thought processes, where I got stuck, what I’d like to improve etc..
  • Are you engaged and engaging? Brag about your community, volunteer, or pro-bono work. Brag about your blog. Brag about the bands you’ve played in.

The key is to identify what you can bring to the table that will make you more than just a code monkey. Find it, analyse it, exploit it, then rehearse how you can best present it.

If you got this far, firstly: thank you. Secondly: maybe you can redo the checks we started with. Has anything changed? If it has then I’ll feel very accomplished. If it hasn’t: why not? Could well be that I’m just not a very inspiring author, but it could also be because you still have a little soul searching to do before you’re truly ready to amaze in an interview. Can you gift yourself the time to sit with those questions and come to some answers? Go on, you deserve it.

--

--