Everything from

Joel on Software

9 resources from Joel on Software we point founders to, and the questions each answers.

✍️ Essay
✓ Link checked Free Intermediate

Why we picked it This is the canonical warning against throwing away working code and rebuilding from scratch, told through Netscape's rewrite that handed years to competitors. Read it before you convince yourself the messy MVP needs a clean-slate v2: it names the exact trap you are about to walk into. Treat it as a starting point, not gospel, since sometimes a rewrite really is right, but the burden of proof is on you.

Things You Should Never Do, Part I

From Joel on Software by Joel Spolsky ~10 min read

  • Old code that looks ugly is usually carrying years of hard-won bug fixes and edge-case knowledge you cannot see, and a rewrite silently throws all of it away.
  • It is harder to read code than to write it, which is why the instinct to rebuild almost always feels stronger than it should.
  • Most of what tempts you toward a rewrite (architecture, slow spots, cosmetic mess) can be fixed incrementally through refactoring instead.
Open joelonsoftware.com
✍️ Essay
✓ Link checked Free Intermediate

Why we picked it This gives you the sharpest rule for the build versus buy call: if it is a core business function, build it yourself, and if it is not, buy it. Spolsky's line maps almost exactly onto the question you are asking, because auth, payments, and email are rarely the thing customers pay you for. Use it as a one sentence test you can apply to every piece of your MVP.

In Defense of Not-Invented-Here Syndrome

From Joel on Software by Joel Spolsky 10 min read

  • Build the code that is your actual competitive edge, and only that
  • Commodity functions bought off the shelf free you to ship the differentiated part faster
  • The test is whether a function is core to why customers choose you
Open joelonsoftware.com
✍️ Essay
✓ Link checked Free Advanced

Why we picked it This is the founding text on interviewing programmers, written by someone who actually ran a software company. It argues you are hiring for people who are smart and get things done, not for trivia or a specific tech stack, and it shows how to read a candidate's reasoning as they work a problem out loud. Even if you cannot code, the idea of watching how someone thinks through a question (not whether they land the perfect answer) is exactly the muscle this whole question is about.

The Guerrilla Guide to Interviewing (version 3.0)

From Joel on Software by Joel Spolsky Long read

  • Hire for aptitude and drive, not memorized trivia.
  • Watch how a candidate reasons, not just whether they get the answer.
  • One clear no from a trusted reviewer should outweigh several soft yeses.
Open joelonsoftware.com
✍️ Essay
✓ Link checked Free Intermediate

Why we picked it This is the clearest statement of the exact idea in our answer: a spec describes how the product works entirely from the user's point of view, and says nothing about how it is built. Spolsky, who shipped Excel and later founded Trello and Stack Overflow, spells out that your job is screens, flows, and what happens when the user clicks, not databases or architecture. Read it and you will stop apologizing for not knowing the stack.

Painless Functional Specifications, Part 2: What's a Spec?

From Joel on Software by Joel Spolsky 10 min read

  • A spec talks about features, screens, and user actions, never implementation
  • Nailing the user experience comes first, the how comes later
  • Writing it forces the hard decisions out of your head before code starts
Open joelonsoftware.com
✍️ Essay
✓ Link checked Free Intermediate

Why we picked it Part 2 tells you what a spec is, this one covers who writes it and how they build agreement without authority, walking through Spolsky's own experience owning the spec for a real feature. It shows that a good spec is a tool for consensus, not a command, which is exactly the register a non technical founder can write in. You will see the spec as a conversation you lead, not a document you dictate.

Painless Functional Specifications, Part 3: But... How?

From Joel on Software by Joel Spolsky 12 min read

  • A spec owner drives design by building consensus, not by giving orders
  • Writing the spec is a distinct skill from writing the code
  • A spec is a starting point for conversation, not a legal contract
Open joelonsoftware.com
✍️ Essay
✓ Link checked Free Intermediate

Why we picked it Spolsky shows why big vague tasks hide the truth and why breaking work into small pieces surfaces real progress. That is the same logic behind demanding demonstrable milestones from an agency: small units you can actually check. It also explains why 'we are 80 percent done' means almost nothing.

Painless Software Schedules

From Joel on Software by Joel Spolsky

  • Break work into tasks small enough to verify in a day or two.
  • Vague large phases hide slippage until it is too late.
  • A percentage complete is not evidence, a working feature is.
Open joelonsoftware.com
📄 Article
✓ Link checked Free Intermediate

Why we picked it This makes the case that working software should be produced and integrated constantly, so a broken or stalled build is caught in a day rather than a week. For an offshore team, an automated daily build is accountability that runs while you sleep: either the code compiles and works, or it does not. It is a short, practical read on making progress visible in the artifact itself instead of in a status report.

Daily Builds Are Your Friend

From Joel on Software by Joel Spolsky ~1,500 words

  • Integrate and build every single day
  • A broken build surfaces trouble within a day, not a sprint
  • Let the build, not a meeting, tell you where things stand
Open joelonsoftware.com
✍️ Essay
✓ Link checked Free Beginner

Why we picked it This is a three-minute list of yes/no questions you can literally walk through with the developer you hire, or use to size up the agency's habits. Questions like 'do you have testing?' and 'can you make a build in one step?' turn a vague worry into a score anyone can read. It is the fastest way to convert 'is this code any good?' into concrete things to ask about.

The Joel Test: 12 Steps to Better Code

From Joel on Software by Joel Spolsky 10 min read

  • Twelve yes/no questions score a team's practices in minutes
  • A 'no' on tests or one-step builds is a real warning
  • You do not need to read code to use it
Open joelonsoftware.com
✍️ Essay
✓ Link checked Free Intermediate

Why we picked it Spolsky's classic essay explains why willingness to pay for the identical product varies wildly by customer, using the image of a camel trader who will pay far more for the same rope than someone buying a rubber duck. It is the clearest argument you will find for why a single list price is the wrong question to start with when you have no comparable to copy. Read it before your first pricing conversation, not after.

Camels and Rubber Duckies

From Joel on Software by Joel Spolsky ~20 min read

  • Different buyers will pay wildly different amounts for the identical product, so one price undercharges someone.
  • Segmenting by how much value a customer gets beats picking a single number that feels fair.
  • Founders systematically underestimate how high some customers will go if you never ask.
Open joelonsoftware.com
eChai Partner Brands