Software developers have special needs that are often neglected by non-technical management and standard HR space planning practices. You can make a difference by “debugging” your workplace and identify warning signs that you may need to look for a better environment.
I have thought about this a lot over the years as I worked in various corporate environments, startups, consulting studios and most recently when I realized my dream to set up and design my own agile development studio through ÆLOGICA.
The first thing to understand is that you must take responsibility for your own workplace productivity and happiness. As you advance and exercise leadership, you will become responsible for the productivity and happiness of others who do the same type of work.
Look around you. Is your workplace conducive to doing good work?
Here is a quick checklist of what a software developer needs for a productive work environment.
- Adequate workspace accommodative of a guest for pairing or code review
- Powerful computer
- Large monitor
- Decent internet
- A good chair
- Whiteboard or glass surface for dry-erase
- Convenient restrooms
- Appropriate temperature/climate control
Some things that are nice to have:
- Natural Light
- Team rooms accommodating 2 – 4 developers
- Convenient pantry or break area
- Convenient restrooms
- Use of a nearby meeting room
- Standing or adjustable height tables
It is a bad sign if your workspace has:
- Noisy non-technical people located nearby
- Telephone rings, conversation or intercom noise
- Open plan offices where you are in a high-traffic area
- A dungeon-like quality
- Small, cheap monitors or underpowered hardware
- Cheap, cramped tables or crummy chairs
If you observe any of these negative signs or are missing important requirements, it is likely that the technical department or software development team does not have enough pull or perceived importance within the organization to command the resources appropriate to your work.
Ask once or twice to address these concerns and plan to look for another job if they are not addressed to your satisfaction. Consider it a litmus test of your management. They may not understand right away but if you show them these lists and maybe encourage them to read the chapter on Maximizing Productivity on my book, LevelUp!, they should at least try to accommodate you. It reflects directly on their status within the organization if they cannot provide necessary resources to their team.
Some companies are genuinely strapped for cash and space. Office space in some cities costs a fortune and usually the CFO and HR tend to do the space planning. Real estate is a precious commodity and office politics often determine which groups get the choicest space. If you decide to put up with sub-par working conditions, do so only if you feel the place offers other overwhelming benefits such as working with highly-skilled people from whom you learn a lot.
At a minimum, a team of 4 developers should have at least 200 square feet (20sqm) of space for their immediate work area if they are pairing most of the time. Add 50% if they are not pairing at all. They should have a roughly equivalent amount of common area devoted to or allocated exclusively to them. Pair workstations are more space-efficient if you pair much of the time but that doesn’t mean you should be packed in like sardines. Common areas and glass walls or windows can help make smaller spaces feel less cramped while still creating spaces for collaboration. If you regularly collaborate with remote team members or clients using speakers and not headphones, team rooms with doors that shut are a must.
When interviewing for a job, ask to see the workplace and get a tour. Observe all of the qualities mentioned here to see how it stacks up. A place that values your talent and is adequately capitalized or profitable will display that in the environment offered and they will be proud to show it off. If they refuse to show you or it looks deficient, take a pass.
If you are in the fortunate position to be able to influence the design of a workspace for software developers, take these concerns into consideration. Small mistakes here can have a big impact on the performance of the team and your ability to recruit top talent.
Learn much more about how to maximize your software development productivity and advance your career with my book: LevelUp! How to Become a Great Professional Software Developer
See how I incorporated these criteria into the design of ÆLOGICA’s most recent office buildout here: Cave and Campfire — Our Custom Office Layout for Professional Agile Development & Pair Programming