The (software) workplace of the future
As part of the Hothouse programme I am assigned a business mentor to ask business-y questions of. He suggested that I describe the type of company I’d like to create as an antidote to the generally terrible conditions software developers all over the world work in. So, in the style of 1950s home of the future exhibition, I present the software company of the future:
The single most important change from the norm is the company’s headquarters. Since the 1950s companies have been increasingly disrespectful of their employees, but the software company of the future will reverse this unpleasant trend. Its headquarters are centrally located and spacious enough to give every creative employee a private office with a window. Even interns work in two- or three-person windowed offices. There are plenty of collaborative rooms (the word “meeting” is rarely used by employees of the company) that don’t need to be booked in advance. The office kitchen is the most important collaborative space – it is kept well-stocked with the basics, and is cleaned daily by an external firm (software developers in the future are still messy). The fuel that powers software development is coffee, so there is a commercial coffee machine and a supply of good quality beans.
Although this kind of office space is expensive, it is much cheaper than continually replacing unmotivated employees.
The company maintains an extensive library and anyone can order books for it. There are multiple copies of each book to reduce the amount of time spent searching the office for a book. One of the most important books in the library is the classic Peopleware, required reading for every new hire. As well as a physical library, the company has a feed aggregator that every employee can add to, and a shared wiki and collaborative bookmarking tool.
No matter what the industry people do their best work with the best tools, so the software company of the future invests in them. Every employee has up-to-date computer hardware and software at his desk, with whatever combination of keyboards, mice and screens he or she chooses. Best-of-breed backup, version control and continuous integration are in place and used by everybody. To further reduce the amount of time wasted when hardware fails the company has a support contract for all of its hardware that replaces anything broken within hours.
Maintaining the library, sourcing hardware and keeping the coffee machine stocked is hard work, so the company has an office administrator with the knowledge and budget to make everything run smoothly.
Of course, work isn’t all fun, and the employees of the software company of the future are significantly more productive than today. One reason is that every new product or version the company produces has a functional spec – a document that describes what the software does without dwelling on how – that is prepared by the spec lead but is the work of everybody. The spec isn’t dogma, but whenever an implementation problem leads to a change in functionality, the spec lead keeps the document up to date. The functional spec makes it much easier to estimate how long tasks take, and late nights are extremely rare.
The company’s business model helps reduce or eliminate the number of changes to the spec during development. Instead of selling expensive enterprise licences and customised versions for big customers, the company sells software as a service with an open API that allows users to mash up custom solutions.
Customer feedback is encouraged in many ways. There is a company weblog where employees can post about interesting ways customers have used the products, problems they’ve solved in their day to day work, or anything else that interests them. The support database is publicly searchable, and customers are encouraged to use the support forum so others can join in. Monitoring the forums provides the best insight into how customers use the software and what new features they most want.
The company needs great people to thrive, and its interviewing process ensures that only the very best are hired. Anyone who interviews candidates is given training in how to do it, and no one is hired at any level without first passing a practical test of their ability.
At the end of the month, everyone gets paid. The software company of the future has dispensed with most non-cash compensation schemes, only keeping them if they are difficult or expensive to privately source, in favour of a simple and high salary scale. Since all-nighters are discouraged, there are no performance-related bonuses; a profit-sharing scheme rewards everybody equally. Although the company is set up for profit and not to sell, every employee with more than a few years of service owns equity in it and will be well rewarded if the company is bought or floated in future.
So, is your company already in the future or is it stuck in the past?
Comments