Blog
Series
Videos
Talks

The business value of joy

2nd of July, 2012

I recently travelled to New York City to attend QCon.

Joy isn’t the typical emotion that comes to mind when one pictures enterprise software and enterprise software developers, but technical culture is changing rapidly and more people are recognizing the business value of joy.

It’s an exciting time to be a software developer.

A decade ago we watched a grim-faced Peter Gibbons in the movie Office Space commiserate about his mind-numbing job of churning out Y2K patches for the cold and heartless Initech Corporation. Today we watch Mark Zuckerburg in The Social Network conquer the world in a hoodie. While Mark Zuckerburg may not be the software developer that geeks around the world aspire to become, it does signal a rapid change in popular culture.

Today, becoming a talented hands-on software developer is something to aspire to. A decade ago mediocrity flourished, encouraged by heavy-handed processes and endless bureaucracy, driving frustrated developers into other roles and professions. Today, engineers rapidly imagine and create everything from new businesses to entirely new business domains.

The “cloud”, SaaS, PaaS, the App Store, the Marketplace. A decade ago businesses could afford a technological misstep. Today businesses are ruthlessly judged on their technical prowess by a generation of people who look at a magazine as a broken iPad.

Why attend a conference?

The highlight of QCon was the opportunity to meet so many other developers who are just as passionate about technology as I am. From the CTOs of companies like Etsy to fellow hands-on developers from Toronto, everyone I spoke with at QCon had an educated and informed opinion about the reality of developing software in 2012. Surprisingly, most of the people I met were not focused on the nitty gritty low-level details of implementing code, but instead focused on how people interact with each other and how people interact with software. Does what we build make people happy? Is the environment we work at positive? Can we build better software and be even happier in the process?

Software developers are people who build software for other people. It’s amazingly simple, but so often overlooked. As a profession we spend enormous amounts of time thinking about how to optimize our processes to suit machines, but often spend too little time thinking about how to optimize our processes to suit people. The result? Many software developers find themselves working in lonely conditions with little chance to interact with the people they build for.

Great companies understand that great software comes from developers who understand, empathize, and feel connected to the people they create for. Great companies understand that great products are created by joyful people. Attending a well run conference like QCon is an opportunity to meet great people who work at great companies.

What makes a company great?

Four things great companies have in common

When developers think of a great company, they probably have an abstract vision of a great company in their mind. Sometimes it’s easy to find an example of a real company that embodies this vision. If you share your personal vision with other developers, and hear their vision, it becomes possible to map commonalities between great technology organizations. There are specific cultural traits and processes that are important to developers and help attract and retain some of the brightest software engineers in the industry.

What commonalities do amazing companies share? This is what I learned at QCon.

1. Accelerated onboarding

Top companies start an employment relationship the right way, with a warm welcome that includes mentorship and training. Not only technical training, but also a gentle and welcoming introduction to an employer’s culture. This welcoming is sometimes referred to as bootcamp.

Bootcamp is arguably a terrible term to use for such a positive experience. When I think of bootcamp I think of Full Metal Jacket, but bootcamp at amazing software companies has little in common with the bootcamp envisioned by Stanley Kubrick.

2. Empathetic development

The inspirational Richard Sheridan put it so eloquently.

We work in an industry full of pyromaniacs.

Firefighting. Being thrown into the fire. Burn-down. Burnout.

There’s a certain macho geek swagger associated with the analogies used in tech. As an industry we take pride in weeding out the weak with ruthless nerd rage. Every working developer has a memory of a failed software project and the satisfied smirk of co-workers and managers who enjoyed watching the meltdown.

We often promote talented engineers from technical roles to management roles in order to perpetuate the cycle of machine over human. These new managers are offered little training and guidance in their new roles. We sit back and watch as they manage people the same way they managed machines and wonder why the entire organization is miserable.

Overtime. Death marches. Deadlines.

It’s only a matter of time when archaic practices of the past are rendered obsolete because they simply don’t make money. It’s impossible for miserable businesses to compete with joyful ones. The only reason this type of culture still permeates our industry is because of how few truly joyful businesses exist.

Would you rather use Microsoft Project or Basecamp? Changepoint or Tick? QuickBooks or FreshBooks?

3. Innovation days

Top companies seek out innovators. There’s a big difference between talking about innovation and investing in innovation. How much time do you allocate for your team to explore their own ideas? None? You’re not an innovator.

The best, most disruptive, most lucrative ideas are often not in the official plan. Your clients don’t want to pay for them yet. They’re simply ideas swimming in the heads of your team. Not all of these ideas pay off, but some of them have turned into the most ubiquitous technologies we use today, like Google Maps and Facebook Timeline.

4. Experienced developers are not pack mules

Most companies struggle to provide a career path for their most senior hands-on technical talent. To paraphrase David Laribee of VersionOne, many senior developers reach a point of becoming a pack mule. They become so specialized in version 8.1.4.9 of RandomTechnology that they can never escape it, and the rest of their days are spent in quiet desperation pushing around packs of commodity code.

What’s the difference between a junior team member and a senior team member? Is it years of service? Of course not, it’s the transition from student to teacher.

The cheerful smiles and legendary strength of the Sherpas have been an integral part of Everest climbing expeditions from the very beginning. Indeed, very few significant successes have been achieved without them.

Just as Sherpas help climbers reach the top of Everest, technical teachers can help entire teams navigate the most specialized, complex, brittle, and least-documented areas of code. Rather than continue to utilize senior developers as pack mules, great companies help transition them to the role of advisor and teacher of current-state technology.

Some organizations are great facilitators of this transition by offering intentional mentoring and career coaching. Not all technical talent is extroverted, and without support they can very naturally slip into the role of pack mule. Don’t allow this to happen. Eliminate silos of knowledge by helping your most experienced team members pass their experience along to the next generation.

Summary

Companies who embrace the business value of joy have a remarkable advantage because there are still so many horrible companies creating horrible software. It’s simply too easy to compete against miserable companies, especially in the enterprise software market where misery is the norm rather than the exception. More and more companies are recognizing the business opportunity and optimizing for happiness. These companies are making a lot of money in the process.

It’s an exciting time to be a software developer, and it was an exciting time to attend the first QCon held in New York City. I’ll be spending more time thinking about how to do my part and bring happiness to all the teams I work with in the future.

This work by Kevin Webber is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.