What Can Developers Look for in a Potential New Employer?
Tags: career, jobs, adverts, recruitment
Published: 2020-03-04 20:40:27

One of the most common questions I get asked or see asked on social media is "what questions can I ask a potential new employer in an interview" and "what should I watch out for?"  This is a two-parter, focussing on how to get the job you want and avoid the ones you don't.

After 7 years in the tech industry as a UI Developer and Front End Developer I have a pretty good idea of what it is that makes a a worthwhile and positive employer. I've had well over 30-40 interviews since I started working at 14 for a pharmacy down the road from my school and I'm constantly making note of the differences between what was promised, and what I actually got in terms of job spec, promises made in the hiring process, and the actual job role itself.

This is not a general moan about "bad" managers or "bad" companies at all, this is designed as _preventative_ measure. Many companies are run by people who are just doing it "the way it's always been done".

_Note: This is written from a UK centric perspective, for the purpose of securing a full-time permanent role as opposed to contracts but there should be enough crossover for a decent take-away_

I believe whole-heartedly that if we developers got together and told that horrible imposter voice to bugger off once and for all, we could:
 1) Confidently, get the job we need and deserve, and 
 2) prevent these anti-patterns in businesses who badly hire and poorly manage developers.

 I want to educate, and prevent it for the good of those junior or, simply nice – and often tirelessly hardworking – mid-level to expert developers, who aren't so confident. These developers who may get taken advantage of, and blame themselves, the end product of which is a lower bar for these businesses. Then follows, the propagation of these bad patterns and nebulous job specs. 


##What to look for in a Job Advert 

- __Look for generic phrases and platitudes!__
   Is this just copy-pasted because this is the cookie-cut job advertisement for the whole company, and they've just edited it slightly for developers? That says to me that this company might try to treat its developers like its sales staff or its HR staff instead of recognising each team has its own requirements.

- __Tone.__
  The voice of the job ad is really important. Does it _sound_ like the kind of people _you_ want to work for. I've emphasised you, because this is about you, it's not about what you think you _should_ be looking for, or even what I or anyone else have suggested you look for. Does it work for you?
 
- __Culture Fit.__
  Does it sound like a place you'd like to work? I'm always on the lookout for well written, entertaining and up-beat but not cutesy, passionate employers. The job ad shouldn't be too formal (in my experience, companies which are overly formal can be so in lieu of actual professionalism, and they're pedantic!) I want to work somewhere there is a good culture fit. I want to be around people I want to be more like either professionally or personally.

 

##What about Benefits?

- __Beware the lip service!__
    When job ads list benefits, I shy away from places who offer "cheap" looking benefits like "pizza/beer/half-day Fridays" and "company excursions" because that's just basic team building and good faith, companies should be doing that anyway. It's not a benefit. Benefits are things like private healthcare insurance, gym memberships, career breaks, season ticket loans, pensions which are better than the nationally mandated 3% employer contribution, a large holiday quota or even better, unlimited holiday. 

- __What's not a benefit?__
  Maternity packages, "diverse and inclusive" efforts are also NOT benefits, companies should provide professional environments which operate in accordance with the law, and don't judge you on your sex, your politics, children or lack of, sexuality, race or culture (unless that culture is sexist, racist or homophobic). _This may be different for you if you're in a country without legally required maternity leave or if you're in a country which doesn't protect these characteristics in law, in which case they are DEFINITELY a benefit! But blimey, it's 2020 we shouldn't be having to offer basic human decency as a fricking benefit._  

- __Real life.__
     Things I can be wary of as benefits include companies who list "flexibility" and "remote working" as a benefit. These should be standard for environmental reasons, fewer commuters are better for the environment, and as a developer I require a controlled, quiet environment to do my work. That isn't always going to be in an open plan office. Whilst there are benefits to working in an office, I've never met any employee who enjoys the constant distraction, it seems they only benefit employers who wish to oversee their empire and assets at all times. Companies should be flexible, people aren't machines, and the 9-5 in the office simply doesn't work for everyone, especially those with commitments to dependents (not just children, some people are carers.)

- __Working with you instead of against you.__ 
    One of the most important job ad aspects for me is a budget for equipment (not forcing Mac users to use Windows and vice versa) and a plan for growth.

    If a job spec is demanding you be up-to-date with the latest tech in your stack and they aren't offering time and money for you to up-skill or attend conferences, then expect to be doing two jobs, and one of them unpaid. It's well noted that employees will leave if they aren't being positively challenged, and for example, JavaScript and JS libraries are being released and updated a such a pace, that you're simply asking too much or missing out by not investing in your developers. It's common in all other professional industries to receive paid for training on the job. Teachers, doctors, engineers, all regularly receive training. After all, freelancers can write training and conferences off in their tax deductions, so it's surely necessary and accepted. 

- __Respecting your personal time.__
  I'm really wary of lip-service, and those companies who try to look hip and cool by insisting you go out for a beer every Friday night. Hip and cool doesn't mean a happy workplace, a good work/life balance, or a well managed pipeline. More often than not it's contrived, unhelpful, and to be honest if I'm working with you 40+ hours a week, I really value my time outside of that. I have friends and family that I'd like to see, and I don't want it encroached on any more than necessary -- especially as I have to constantly keep myself up-to-date, work on side projects, and contribute to open source yada yada. Whatever the hip and cool tech influencers are mandating these days as part of their niche drive to personal success (I see you)

##What to look for in a Job Specification

- __Specific and Non Specific Specs__
    Guess how many times I've started at a company and the job specification either be too general or too specific? Nearly every time. Meaning I've either been asked for too many skills and not used them on the job, or I've been asked for a specific set of skills and then ended up doing a whole lot more. I have even been _asked to write my own bloody job description before signing it as part of my contract!_ 🚨🚨🚨
There's nothing worse than letting skills you've worked hard on developing, stagnate because the tech stack is different, or you aren't using tooling you spent time getting to grips with to make things quicker because the rest of the team isn't using them, even though it's  best practice.

- __Do they sound like they know what they want?__
   It is very likely unless the company have refined their hiring process as they've gone along, or they've reviewed and monitored their current staff in that position or similar, that they have a really vague idea of what it is they actually need.

    For front end positions, if the spec includes elements of DevOps or Back End/Server side knowledge this is TOO much. It's indicative of a team which is going to be overworked, it's _too_ general. Front End development requires you know how to program (JavaScript, React, Vue, Node.js), know how to build UI (HTML/PUG/CSS/SCSS/LESS), how to write unit tests, know design patterns, how to make sure webpages are search engine optimised, that they are accessible, that you can use bundlers and CLIs, that they are performant, that your code is clean, that your components scale, that you know OOP and functional JS, CORS and security, working with https requests and APIs etc etc etc. 
   
  It is __too__ much to be an expert in all those things and backend/devops, and they WILL be wanting you to be an expert unless expressly stated otherwise. These may be great auxiliary skills to have to understand your stack but, make sure it's clear how much of the responsibility for them is yours and what you're happy to take on.

- __Are they asking you to be an entire team?__
   You are not an entire team. You are one part of that team. Unless you want to burn out or spend every day worrying that you're not good enough at X, either make sure you get your responsibilities outlined in your contract when you start, and grill the interviewer on why it is they need you to do those things and to what extent. 

  If the spec lists a particular tech stack and then throws a curveball at you it's a warning of a potential mess, for example a MERN stack but then you need to know how to develop for their CRM system, those are clear separations and they're trying to cram two positions into one. 

  However, if you feel you'd like to take on different tasks, and are the fabled 10x **Unicorn Developer** who won't get burned out, won't get mugged off, won't be working weekends and evenings just to get the bare minimum done for the deadline, then go ahead! Give us some inspiring competition! 

 

##My Personal Pet Hates:

- Job ads titled "Developer m/f/x" Well of course you're going to be hiring all sexes? I expect a company to be naturally expecting people who aren't men to apply, I don't need it outlined for me, if anything this makes me feel like I'm officially "othered" out of the developer profession being such a _rarity_ 😒It's like stating you're looking to hire "Developer Black/White/Asian/Mixed Race" – what?! Of COURSE you will hire ANY adult human who fits the bill. It's sexist just like the other example is racist/colourist. 

- Poor, slow, generic _templatey_ company websites with features which aren't working and pages which are out of date. Shows how they perhaps don't value the basics, and might indicate they are prone to grass growing under their feet, giant backlogs, technical debt galore and a stressful/panicky work environment. This seems dramatic but it's always been true for me. 

- Awkward copy which contains jargon or talks down. If I can't understand what your company does from your homepage; if it's generic sales waffle, I am out. Communicate better, please.

- Any organisation which "strives" or "prides" itself, this is the "LIVE. LAUGH. LOVE" of copy in my eyes and it should be outlawed 😂. 

----

### This is all of course, very idealistic. But as I said before, there are power in numbers, the more of us who make a stand and enforce these things, the better and easier I expect it to be in the future. 

__I'll continue this with a focus on the next steps, which are dealing with recruiters and what you might want to do, and things to watch out for in a telephone, or face-to-face interview.__