Things I've learned to look for when considering a new job

I've been working as a developer (mostly Java based applications from database to browser, aka full stack) for quite some time now and at a number of companies.

I am regularly being contacted by recruiters asking what I what from a role so I thought it may be worth having a think and defining these as I recall issues / things I enjoyed from previous roles...

The good stuff

  • Product Owners and "business" that are willing to listen to advice from devs
  • Full stack work, I like being a generalist
  • Modern tech stack
  • Team members willing to discuss ideas openly, without needing to feed the ego
  • Product Owner readily available to development team
  • Generous holidays!
    Maybe not something to put high on list of job criteria, but I've got used to 34 days + banks holidays!
    Settle for ability to buy holidays
  • Allow devs to choose how they work (eg IDE choice, version controls systems etc.)
  • Multiple or large monitors
  • Natural light / windows, maybe I'm the exception to the stereotype!
  • Flexible hours (with defined core hours)
  • Fruit & KitKats provided

The bad bits

  • Estimates not done by team / devs that will be implementing changes
  • Egos (both developers and management)
  • Forced to rush work, generally sacrificing time on test (automated or manual)
  • Very prescriptive working environment (eg. Must be specific IDE, even version of IDE!)
  • Cramped desks - we spend all day at the desk, not just 5 minutes between meetings as managers might be
  • Underpowered computers (yes, development machines do need to be more powerful than 'standard' office/email machines)
  • Months of planning / estimating before cutting any code
  • Meaningless objectives
  • Not allowed time to improve code (add tests, make it more maintainable etc)
  • No time to bring libraries up to date
  • Pay reviews / bonus being linked to things can't impact as a dev