While traveling last summer, we stopped into this little wood shop on the side of a forest road, a few miles outside of town. It was the kind of place where you could peer past the sales counter into the back room, to see the woodsmiths at work: carving, lathing, and blowing sawdust all over.
In this particular shop, however, the woodworkers were engaged in some curious behavior. One of them was just staring at the piece of wood on the bench in front of him. Another was furiously banging a nail into a table joint — then, ripping it out, he picked up a different nail and smashed it into the same hole. A third wood worker was shaping a piece of ornamentation. He filed down one side, turned it over and filed it again, then again, until it broke. He then picked up another raw chunk of wood and began filing it in the same way. The first wood worker, the quiet one, stood up. He drew a long breath as he stared down the piece of wood in front of him. Then he turned and announced, “FUCK THIS. I’m going to get some coffee.”
All three of them got up, put their jackets on, and walked out of the shop.
The salesman at the front, meanwhile, had not stopped talking about the merchandise.
Of course none of that happened. Real woodshops simply are not like that. But anyone who has worked in software recognized that scene immediately. Marketers (and recruiters) often like to describe their software products as “artisanal” — particularly in the digital web shops. What they mean is that their designers and programmers pay attention to detail and treat the products with care. Also: you should totally hire our ‘small but mighty’ shop. We’ll give you that small-batch cheese experience that the big boys can’t match. It’s a good sales bit.
But how often does it translate to the back of the shop?
Artisanal doesn’t just refer to some rarified product characteristics. That would be “boutique” (another term thrown around). And that’s fine. What artisanal actually means is “made by artisans.” Crafters. Expert makers. Presumably, with the necessary patience and care that comes from a steady, comfortable work environment.
The Hazards of Perk Bloat
So we see two models trying to compete in the same place at the same time: one is that of the artisan, the craftsperson: meticulously, even lovingly, turning out unique high-quality works. The other is that of the contracted professional, estimating, planning contingencies, churning out work, managing expectations, managing deadlines, and maintaining budgets.
Many companies kind of understand the impossible dichotomy there, so they cram their workplaces full of features. Except these are not features, they’re bugs (to reverse a common rejoinder). Free coffee, free snacks, free lunch, pool tables, gaming consoles, beer night, hell, why would you want to leave? Please don’t leave. We need your salary-exempt overtime.
But real artisans don’t burrow into their workshops until they forget the time because of the coffee machine and the ping pong opportunities. They do it because they love being there, working at their craft. They have spent time getting their tools right. They can leave their bodies while they work because they can reach for things without using their eyes. They can get lost in their work because they get to spend time lavishing over it, being inventive, intuitive, and diligent. You know, those things that software companies say they want their developers to be.
Happy Is As Happy Does
Have you ever walked around a truly happy dev shop? The developers are not full of the exciting, world-is-exploding / new-day-is-dawning adrenaline. They aren’t whisking into / out of meetings. They’re just building stuff. Maybe they’re hanging at the whiteboard. Maybe they’re casually chatting. They don’t look super productive, because looking super productive and being super productive bear little relation to one another. And, to an artisan, productivity is a byproduct, not a goal.
Those reading this who have the words “product” or “project” in their titles may be thinking by now that this is a lovely fairytale. We’re not making walnut hutches, we’re making for-real, honest-to-goodness business or marketing software. We have launch dates, we have budgets, and we have to match dev hours and sales goals. We can’t just let developers sit on the porch and whittle. Besides, how many actual artisans make a living these days? We’re not etsy.
Good points! And I would agree with you that false advertising is awful and should be avoided. We all know what happens when companies promise one thing to their customers and another to their employees.
Squaring the Circle
Of course, no one would buy software or websites from a company called Churned Out Technologies, but then again, how many people would want to work for them, either?
So the first step is to stop reading your own marketing. Take a look at your company’s (or software department’s) mission statement. One last time, before you burn it. You have one mission now: just like the farmer who said “I don’t grow cows, I grow grass,” your mission is to create relaxed software developers.
Don’t worry about perk competition. The goal is not to stress everyone out and then aggressively de-stress them. In the right environment, devs will be happy to pick up their own joe on the way in, and play games of skill and drink beer on their own time. A great workplace generates its own unique social climate.
Besides salary and benefits, you have one main perk: your devs can come in to work, relax, and do their thing. Because you believe in that.
It’s the most valuable perk in the world.
Okay, nuts and bolts time. What allows that professional whittler to make great (and valuable) pieces of furniture, day in, day out? What creates that elusive combination of pace and quality? Here are a few tips, in internet-friendly bullet points:
- Tools — Having great tools is key. Every chef knows that dull knives are riskier than sharp ones. If your devs are asking for better tools, realize that they are asking for you to help them be more efficient. No software developers use tools that make them slower.
- Smoothing Out The Cowlicks — If you’re familiar with the concept of “spiky agile”, then you can probably skip this bullet. If not, this term refers to the way agile sprints end up more like agile rest-walk-jog-sprints. A graph of developer velocity over multiple sprints ends up looking like a sawtooth, spiky and jagged. Just like those developers’ nerves. The answer to this is not to somehow convince your developers to do more work early in the sprint, because the spike is just a symptom. The answer is to stop cramming extra work into the sprints and focus more on features. Let your devs stroll a bit, maybe jog.
- Let The Children Play — Great software development is about more than just putting pieces in place. It’s about experimentation. No one ever found the best way to do something, or brought a homegrown utility to market by just plugging solutions into requests. You can have a work place with its own built-in yoga center and meditation room, but if your developers aren’t allowed to be mindful about the code and the product direction, they will cease to act like artisans and instead slowly become assembly line robots.
- Be Cool — Buy into the above. Relaxed software developers will make you money, make great software, make fantastic employees, and make your job easier. It doesn’t matter what type of development methodology you follow; if there is disconnect between what you’re asking of your devs and what you are asking of their product, everything suffers.
The Empty Pockets of Utopia
Time to give the devil’s advocates their due: this may all be well and good, but there are reasons people are pulling weekend-long scrambles. There are reasons for the last-minute feature additions, the absurd timelines, the late-night emails.
Just take a grab-bag of the following words:
How do we nurture artisan developers in such a world? Maybe we just update our marketing materials to strike the words “craft” and “artisan” and “loving”, and soldier on through exhausting pushes and prefabricated solutions?
Remember: you’re not making software, you’re making developers.
If you have a room full of Picassos and they’re all sitting there furiously doing paint-by-numbers, you might want to rethink either your business model or your hiring practices.
Making The Woodshop
So, how to turn into a woodshop? We can think of it as a proper balance of two fundamental attributes: expectations and opportunities.
This doesn’t simply mean the customers’ expectations of quality, and the opportunity for work, but rather the expectations and opportunities internal to the dev shop.
Let’s look at a few classic examples.
The startup, with developers cranking 80 hour weeks for equity and a meager income, has a wealth of opportunity (so many possible features, so many potential growth avenues, so many users who haven’t tried our system yet), but a paucity of expectations (what’s the right thing to build, who is our real target user, should we pivot, when do we get paid).
On the other hand is the full-tilt sales-driven &/or consulting firm, with ingrained expectations (resource allocation, billable hours, feature specs, timelines, sales goals, contracts) but extremely narrow opportunities (no time for experimentation, no profit sharing, very little developer input on features or strategy).
Those mismatches create stress and burnout, and the real artisan developers avoid them at all cost.
Relax Your Devs, Flex Your Muscles
Pivoting from a creator of contracts or features to a creator of developers takes will and imagination. You can’t become google simply by building a corporate campus that has free sushi. But you can develop a stable, happy, confident, and relaxed workforce by dialing down the fake productivity. Take the needle out of the red and find out what’s going on in the minds of your team:
If your developers could build anything right now, what would it be?
If your team could acquire one new tool this year, which would they use and learn up on?
What would the devs change about their physical work environment?
Would your developers like to trade some compensation for a piece of the contracts they’re working on?
How much do the developers know about the business roadmap? How often do they get to provide feedback on it?
If you asked your devs to name their top strategic goal right now, what would they say?
If you treat your devs like the expert craftspeople you sell them as to your clients, you’ll be building on and developing all that latent capacity you hired, making your business stronger. Your developers will relax and start to bloom, and so will your business.