skip to content
Notes && Anecdotes
Democritus Junior, still arguing about bug trackers.Democritus Junior, still arguing about bug trackers.

Joel on Software

managementculturejoel spolsky

Joel has some tidbits of knowledge, although many of them feel dated.

“Joel on Software” is legendary, and at the same time 25 years old. It was 10 years ahead of its time (which makes it 15 years behind now). Read it for it’s historic value and nuggets of old computer wisdom.

Merge PRs first

Joel says the priority is open PRs first. Then fix bugs. Then new features.

PRs are value that is just about to be realised. Open PRs also has a overhead cost for each day they stay open. You should start the day with reviewing or merging PRs.

Fix bugs before you add features

This isn’t as binary as it sounds, but generally: fix broken things before you add new things.

Though, if one person saw a bug once, log it. Do not fix it until it affects at least two people (or one angry one).

Assign responsibility to one person.

Some of the most common, but quite useless, statements in a company starts with we should, we must.

Responsbility for a single task should not be assigned to “the team”, but rather a single person.

Everyone is in

When hiring, everyone interviews. The candidate writes code in the room. WE are hiring a team mate. It shouldn’t be HR that decides who you’ll vibe with. Or consider whether they know how to program.

Similarily, bonuses should be the same percentage for everyone. Pay for bugs closed and people will check in bugs. Pay one team and they will skip the other team’s PRs. A metric stops being a good metric once it is measured for bonus calculations.

Be vary of promoting the best performer

Do not promote a programmer to manager because they ship. They’ll stop shipping, which is what you liked in the first place.

Promote someone with people skills. Don’t connect promotion to pay checks too closely. The most valuable employee could be on “the floor”, shipping. They should allow to stay there even if they want to work towards larger pay checks.

Show up

Come to the office. Lunch together. Home office is the exception.

A company without culture or community is just work.