NEWS / ARCHIVE
2008 STACK OVERFLOW OPENS TO EVERYONE · 2011 TRELLO LAUNCHES · 2023 BLOCK PROTOCOL ADDS WORDPRESS SUPPORT

People / The software life

Joel Spolsky and the art of making things less annoying

An imaginary leap day, a door that closes, a question with an answer. Joel Spolsky has spent his career noticing the small things that make software hard to live with - and building companies around them.

Joel Spolsky had found a day that never happened. Preparing the programming language for Microsoft Excel, he discovered that the spreadsheet and Basic disagreed about dates near the beginning of 1900. Excel accommodated February 29. The calendar did not. The explanation lay in compatibility with Lotus 1-2-3, whose date system Excel needed to preserve. A historical mistake had acquired customers.

Then came a review with Bill Gates. In Spolsky’s telling, Gates arrived with notes throughout a specification hundreds of pages long. Eventually he asked whether Basic’s date functions would behave like Excel’s. Spolsky had an answer ready, including the exception for January and February 1900. The meeting ended well. His account even includes a colleague assigned to count Gates’s swear words. The tally was four. Apparently that counted as a pleasant afternoon.

This is a useful place to meet Spolsky. He notices details, enjoys a joke, and has little patience for explanations that stop just before the awkward part. Over the following decades, those habits would turn up in essays, office plans, a question site, and a board covered in movable cards.

The day that never happened

Born in Albuquerque in 1965, Spolsky moved to Israel with his family at fifteen. Before college, he served as a paratrooper and helped found Kibbutz Hanaton. He returned to the United States, studied at the University of Pennsylvania, then transferred to Yale. He graduated in 1991 with a computer science degree, summa cum laude. Microsoft’s Excel team came next.

He was a program manager responsible for the launch of Visual Basic for Applications in Excel 5.0. The work put him between a programming language and the people who would use it. Their spreadsheets already existed. Their expectations already existed. The new machinery had to fit around both. An elegant design could still leave somebody’s old file behaving strangely.

His later writing kept worrying at that gap. In 2000, he argued against the tempting wholesale rewrite of an existing application. Old code often looks terrible to a newcomer. It can also contain years of fixes for situations the newcomer has never encountered. Throwing it away can throw away the explanation for why it became so peculiar.

That argument lets the reader feel the seduction before introducing the bill. New code is clean. Nobody has yet asked it to survive every troublesome thing a customer might do. Spolsky’s position was a warning to investigate before demolishing. The imaginary leap day is a small exhibit in that larger case: sometimes an ugly detail is doing a job.

“All non-trivial abstractions, to some degree, are leaky.”

Joel Spolsky, 2002

His Law of Leaky Abstractions gave another recurring problem a memorable name. A tool can hide complexity, yet the hidden machinery can still affect what happens. When it does, the programmer may need to understand the layer underneath. Convenience changes the work; it does not guarantee that the underlying work disappears.

The appeal of the phrase is its useful modesty. It allows you to appreciate a tool while remaining curious about its failures. A tidy surface is welcome. A tidy surface is also capable of concealing a very untidy afternoon.

A door was part of the product

Spolsky moved to New York in 1995 and worked at Viacom and Juno Online Services. In 2000, he and Michael Pryor founded Fog Creek Software. That year he also began Joel on Software, writing about programming, management, design, and the business around them. He now had a company in which to try the things he was saying.

Consider the office. In 2003, he described a Fog Creek space designed with architect Roy Leone. Private offices with doors that closed were mandatory. Desks had twenty power outlets. Wiring could be changed without opening walls. Straight desks left space for a second person to pull up a chair.

These were unusually literal management arguments. Concentration could require a door. Collaboration could require somewhere to sit. A programmer plugging in another machine should not have to conduct an expedition beneath the furniture. Spolsky connected the environment to productivity and recruiting, while also admitting the perfectly reasonable desire to spend his own working day somewhere nice.

FOG CREEK, 200320 outlets per desk.

A management philosophy you could plug something into. Four outlets supplied backup power from the server closet.

The office belonged to the same practical world as the Joel Test, published in August 2000. Its twelve yes-or-no questions asked about source control, builds, bug tracking, schedules, specifications, testing, interviews, and working conditions. It made a complicated conversation unusually easy to begin. You could look around your team and answer.

One question was almost comically plain: “Do programmers have quiet working conditions?” It placed the room beside the code repository. That was the point. A team’s ability to deliver depended on more than the brilliance of an individual at a keyboard. The company had responsibilities that could be inspected.

His writing on task switching extended the concern. Assigning several projects to one person does not make that person several people. Switching brings costs. For a manager, the uncomfortable implication is that being busy can conceal slow progress. For a programmer, it is the relief of seeing an everyday irritation described in public.

Two blogs, one unanswered question

By 2008, Spolsky had another complaint. Searching for a specific programming answer could lead to a wandering forum discussion, obsolete advice, or a site asking for money before revealing its answer. Knowledge existed. Getting to it could be a nuisance.

Jeff Atwood, author of Coding Horror, called him. Spolsky saw a way to combine their readerships. A new question site needed knowledgeable people from the start; unanswered questions would send visitors away. Two established blogs offered a possible starting community.

They founded Stack Overflow. Spolsky’s launch account was careful about who did the building: Atwood, Geoff Dalgas, and Jarrod Dixon did most of the initial development. The beta opened to a small group in August. Questions received answers, and voting helped useful responses rise. When Spolsky tried to ask a question himself, he found it had already been answered. On September 15, the site opened publicly.

Jeff Atwood, left, and Joel Spolsky, right, presenting together onstage at MIX09
Two bloggers, now fielding a much larger conversation. Jeff Atwood, left, and Joel Spolsky at MIX09, March 2009. Photo: D.Begley, CC BY 2.0; image unchanged.

The site's editing model mattered too. Spolsky described Stack Overflow as a wiki: contributions could be improved, rather than remaining untouched fragments of a conversation. A useful answer had a life beyond its original exchange. Someone arriving later could benefit from work done by people they would never meet.

There is a pleasing economy in the founding story. The blogs helped assemble the people. The software gave those people a way to organize what they knew. Each answered question could reduce the effort required of the next programmer with the same problem. The company was built around a form of accumulated helpfulness.

The spreadsheet without the spreadsheet

Meanwhile, Fog Creek kept producing things. Trello grew out of the company’s internal explorations, with a prototype called Trellis pitched in January 2011. It launched at TechCrunch Disrupt that September. The naming process narrowly avoided Cardvark and Planatee, which sound like creatures that might nibble a project schedule.

Spolsky explained its appeal through an older Excel observation. On customer visits, he had found people using the spreadsheet to make tables rather than perform calculations. The shape itself was useful. Users could decide what belonged inside it.

Trello offered another shape: a list of lists, shared by a group. It could hold a software project, wedding plans, vacation possibilities, or job applicants. Spolsky wanted it to reach beyond developers. In his 2012 account, he said he regularly used about thirty boards, including boards shared with his parents.

The company’s history has room for a dog as well. Spolsky’s husky Taco became Trello’s official mascot in 2012. Software founders often discuss distribution. Here was distribution with ears.

Trello became a separate company in 2014, with Pryor as CEO. Atlassian announced its acquisition for $425 million in 2017. The quiet usefulness of cards and lists had become a substantial business.

When the rules become the friction

Stack Overflow brought its own complications. Organizing a growing collection of technical knowledge requires rules. Learning those rules can become another task for somebody already struggling to learn programming. The person who knows exactly how to ask a question is not always the person who needs help most.

In March 2019, Spolsky announced he would leave daily management and become chairman. His announcement addressed the need for a more welcoming community. He singled out rudeness, snark, and condescension as obstacles for newcomers. A site intended to make programming easier had to examine the difficulty it could create at its own entrance.

Prashanth Chandrasekar succeeded him as CEO that October. The handoff belongs in the story alongside the launches. Founding a company does not settle who should lead every later stage of it.

JUNE 2021 · ANNOUNCED COMPANY TRANSACTION$1.8 billion

Prosus agreed to acquire Stack Overflow. The amount describes the company deal.

When the Prosus acquisition was announced, Spolsky wrote about how slowly programming could improve. Returning to coding after years of management, he found newer tools alongside familiar fiddly problems. His exasperated question was short: “Where are the flying cars?” Even a large transaction could not quite distract him from the chores.

A web with fewer chores

His next chapter included HASH, co-founded with Dei Vilkinsons. Their simulation work exposed another annoyance: information published for people to read often needed scraping and cleanup before software could use it. The data was there, but making it usable required extra labor.

In January 2022, Spolsky introduced the Block Protocol, an open approach to reusable blocks across web applications. A calendar, table, or other component should not need to be built again for every editor. Developers could make a block once; compatible applications could embed it.

That December, he described a further ambition for structured publishing. Imagine inserting a book through a search interface that fills in its details and supplies machine-readable information along the way. The useful action and the technical housekeeping would happen together. Adoption would have a practical reason.

In February 2023, he joined Vilkinsons and Ciaran Morinan in announcing Block Protocol 0.3 and a WordPress plugin in public beta. Reusable blocks were finding a home inside an existing publishing system. It was a concrete step toward the idea: let an editor accept work somebody else has already done.

Spolsky’s biography also includes four books, Arduino projects, and LED art. There is room for making things beyond company management. Yet the through line remains recognizable: notice where effort goes, ask whether it needs to go there, then get specific about the alternative.

A missing answer. A closed door. A board for family plans. These are small enough things to sound trivial in a meeting. Spolsky has spent much of his career giving them a longer hearing.

Keep the conversation going

Read Joel on Software, including My First BillG Review, The Joel Test, Bionic Office, Stack Overflow Launches, and Progress on the Block Protocol.

Find him on LinkedIn, X, GitHub, and Stack Overflow. Visit HASH and the Block Protocol.

Watch his 2016 conversation with Leo Laporte on YouTube. Explore Trello’s early history and the 2021 Stack Overflow acquisition announcement. Read the 2023 Block Protocol and WordPress update.