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