Making Wrong Code Look Wrong (2005)
Way back in September 1983, I started my first real job, working at Oranim, a big bread factory in Israel that made something like 100,000 loaves of bread every night in six giant ovens the size of…
A weblog by Joel Spolsky, a programmer working in New York City, about software and software companies.
Visit joelonsoftware.com → RSS feedOn Hacker News Feb 2007 – Mar 2024
Tech Industry & Business 72Career & Management 53Software Engineering 25Startups 13Tools & Productivity 6Society, Policy & Culture 6
Way back in September 1983, I started my first real job, working at Oranim, a big bread factory in Israel that made something like 100,000 loaves of bread every night in six giant ovens the size of…
There’s a key piece of magic in the engineering of the Internet which you rely on every single day. It happens in the TCP protocol, one of the fundamental building blocks of the Internet. TCP…
Remember the Bionic Office? Fog Creek moved in there in 2003. After a couple of years we had outgrown the first office so we expanded to take over the whole floor. By the time our lease ran out in …
Michiko Kakutani reviews Malcolm Gladwell’s latest book in the New York Times: “Much of what Mr. Gladwell has to say about superstars is little more than common sense: that talent alone…
Have you ever heard of SEMA? It’s a fairly esoteric system for measuring how good a software team is. No, wait! Don’t follow that link! It will take you about six years just to understa…
At right, a picture of Taco, a ten-week-old siberian husky puppy who moved in with us last week! Some of you may have seen my final column in Inc., in which I announce my retirement from blogging …
IBM just released an open-source office suite called IBM Lotus Symphony. Sounds like Yet Another StarOffice distribution. But I suspect they’re probably trying to wipe out the memory of the origina…
In the olden days, Excel had a very awkward programming language without a name. “Excel Macros,” we called it. It was a severely dysfunctional programming language without variables (yo…
Do you like your job? Do you enjoy the people you work with? Would you want to have lunch with them? Every day? Alex Papadimoulis thinks that FogTyler Griffin Hicks-Wright Creek’s free lunches are …
Microsoft Careers: “If you’re looking for a new role where you’ll focus on one of the biggest issues that is top of mind for KT and Steve B in ‘Compete’, build a complete left to right understandin…
A young man comes to town. He is reasonably good looking, has a little money in his pocket. He finds it easy to talk to women. He doesn’t speak much about his past, but it is clear that he sp…
You know what drives me crazy? Programmer Q&A websites. You know what I’m talking about. You type a very specific programming question into Google and you get back: A bunch of links to discussi…
For as long as I’ve been in the industry, which is, I think, about 74 years now, the problem I’ve had with hiring programmers was not interviewing them or deciding if they’re smart—it’s been findin…
There’s a key piece of magic in the engineering of the Internet which you rely on every single day. It happens in the TCP protocol, one of the fundamental building blocks of the Internet. TCP…
Are you a software developer applying to a small company? Here’s a tip from someone who has read thousands of resumes. When you’re applying to a startup, or a software company with less than, say, …
Is your desktop backed up? Did you backup that server? Are your backups on a different machine? Do you have offsite backups? All good questions, all best practices. But let’s stop talking about “ba…
As a bootstrapped software company, Fog Creek couldn’t afford to hire customer service people for the first couple of years, so Michael and I did it ourselves. The time we spent helping customers t…
Sometimes I just can’t get anything done. Sure, I come into the office, putter around, check my email every ten seconds, read the web, even do a few brainless tasks like paying the American E…
You’re about to see the mother of all flamewars on internet groups where web developers hang out. It’ll make the Battle of Stalingrad look like that time your sister-in-law stormed out of afternoon…
Mysteriously, about a week ago, Dan, the program manager designing most of the new features in FogBugz 7, came to ask me what features I thought should go in the timesheet reporting plug-in. The ti…
Just because there’s room on the dialog box, doesn’t mean you have to put something there. The Java installer starts off with a dialog box that manages to repeat the word Java six times without rea…
Building a company? You’ve got one very important decision to make, because it affects everything else you do. No matter what else you do, you absolutely must figure out which camp you’…
What is your company about? Recently I got inspired by Kathy Sierra, whose blog Creating Passionate Users and Head First series of books revolutionized developer education. She kept saying the same…
This is part one of the text of a talk delivered to the Yale Computer Science department on November 28. The rest of the talk will be published tomorrow and Wednesday. I graduated with a B.S. in Co…
If you’re a college student applying for jobs or summer internships, you’re at something of a disadvantage when it comes to negotiation. That’s because the recruiter does these negotiations for a l…
One of the FogBugz developers complained that compiling was pretty slow (about 30 seconds), which was leading to a lot of sword fights in the hallway. He asked if it would be OK if someone spent a …
Time for a pop quiz. 1. Code Reuse is: a) Goodb) Bad 2. Reinventing the Wheel is: a) Goodb) Bad 3. The Not-Invented-Here Syndrome is: a) Goodb) Bad Of course, everybody knows that you should always…
What is stackoverflow.com? Nothing, yet. But here’s the concept: Programmers seem to have stopped reading books. The market for books on programming topics is miniscule compared to the number…
At 3:30 in the morning of January 10th, 2008, a shrill chirping woke up our system administrator, Michael Gorsuch, asleep at home in Brooklyn. It was a text message from Nagios, our network monitor…
When I was in college I took two intro economics courses: macroeconomics and microeconomics. Macro was full of theories like “low unemployment causes inflation” that never quite stood u…