Office environment for Software Engineers — Part 1

I am neither a Architect nor a Civil Engineer but I am going to tell how our physical environment was shaped throughout the history of our startup. That's the first of three parts. I plan to share our mistakes and the learnings we had.

We were a tiny startup in Joinville, growing in number of clients and improving the existing features of the software. It was February of 2013 and we had 13 people working in a rented apartment of ~80m2.

Everyone fit in the same room: Engineering, Marketing, Product Launches, Customer Support, Sales (Some of it were done by the same person!) and it's great to have everyone in the same room. The communication flows seamlessly in such environment (A subject for another post).

Harlem Shake in our first office

The time passed and, 6 months later we were too big to have everyone at the same room. So, we needed a new Head Quarter!

We moved to a building inside a university, rented a 180 M2 room and hired an architect to make the project.

As CTO, my responsibility was to assure all the engineers had the best place ever to work and I thought, "In the best case scenario, we won't have more than 18 people working on product" (I had no clue that, 12 months later we would have over 50 people working on product — growth pains). With my briefing, the architect delivered this:

The noble goal here was to make a dynamic, share-friendly and open space (Another subject of a future article) to encourage colaboration and proximity among engineers and support team (The door in the bottom).

It worked for a few weeks — we were not used to have a dedicated space for software engineering — The problem we discovered later is that the area became a corridor. There is a door in the bottom that gives support teams direct access to engineers (That was the main porpouse) but actually people used it to cut corners and avoid walking more through the corridor in the left. Not only Support Team but everyone in the company started to use it as a corridor.

In the end, due to the noise and constant flow of people walking there, nobody could get things done. It was a constant state of no concentration. People walking around, talking to the engineers not only about work but also about "the game last night", the "new facebook hoax", engineers did not had a minimum of privacy, they were working in a corridor! To partially solve this problem we did a hotfix locking the door :)

To make things worse, the division between the "Marketing" and the "Desenvolvimento" Area was a 150cm drywall with glass in the top, meaning there was not even "visual silent" (It's natural to lose attention when someone walks in front of you). People had to put their headphones and stretch their eyes to the monitor to avoid make eye contact with people passing by, thus, concentrate in the work to be done.

As the team grew, it didn’t last long until we gently invited administrative, marketing and financial teams to leave the central area to make room for the new people.

Not only software engineers but also other intelectual workers such as designers and Product Managers needs proper space with silence and privacy to get things done.

The proof for that statement came when engineers started to work in the financial team space — a small but comfortable square with a glass door — they became armored to the environment noise of people speaking and walking around, they could use the walls as boards for planning and visual task tracking and was phisically harder to interrupt them than people in the corridor. It was visible the importance of non interruptive communication such as Slack, Hangouts, Skype or email. I am not arguing that those communication tools are better than face to face but most of the time people doesn't need to interrupt someone working in a complex bank feed integration algorithm to ask for a code review — that can be done by slack or github itself.

As our team grew, we started to divide engineers in teams with clear mission and ownership and found out that our environment didn't match a team's need such as a meeting space, walls and screens to display data, etc. The central area was the only space closer to that , and because of that, it started to be a concurred area.

Even using more space it wasn't enough so we grouped more and more engineers together until we had a new Headquarter. It hurts a lot to see great people struggling to get things done in a narrowand noisy place.

The central area — In the back, "The Corridor"

At that time I started to read a excellent book: Peopleware (DeMarco & Lister) and it brought several ideas to build a better environment in our new Headquarter. One of it was the square meter per person. We started to aim 15m2 per person as a exaggeration and to forecast 2 years of growth. I will talk more about it in part 2.

In Summary:

  • In a fast growing startup is hard to forecast growth and team size so aim for 10–15 m2 per person (meeting rooms already included) and try to detail the teams composition as hard as you can
  • Intelectual workers needs silence and a space that allows them to enter in a state of flow — if you are a leader, is your responsibility to provide it for them. Fight for it!
  • Office space rent can cost as little as 5% of a engineer's salary + benefits — Sometimes is better to overestimate office space than hire highly skilled engineers and stack them in a narrow space =/
  • Walls are not that bad. Walls dividing people is not a excuse to avoid speaking face to face and a team needs a "territory" they can customize.
  • Cultivate a non interruptive culture. Start by question yourself: Do I really need to interrupt my teammate now? That can wait? Can I send him a Slack?
  • Visit companies the size your company will be in the next 2 years. Talk with the managers AND with engineers. Try to understand what they love and what they would do differently if they could.

Part 2 I will talk more about our new Headquarter and the learnings we applied there.

How is your office environment? Good for concentration? Interruptive? Share in the comments!

Thanks for hitting the 💚 if you enjoyed this article. This will tell me to write more of it!