The Stack Exchange Podcast show

Summary: This is the 43rd episode of the StackOverflow podcast, where Joel and Jeff discuss dealing with incompetent programmers, whether salaries should be public, dealing with technical debt, and programming for small businesses. Joel is away this week in Florida at the Future of Web Applications conference, where he was a speaker. He mentioned that the new Atlas web GUI builder was particularly impressive. We will try to be more careful about our use of Begs The Question. Joel asks about the rationale behind requiring 50 reputation to leave a comment, but allowing a brand new user to post a question or leave an answer. The reason is mostly because we have no mechanism for voting or marking offensive on comments, because they’re ultra-lightweight. One way to avoid the dilemma of dealing with bad programmers is to be selective who you work for — only choose employment at companies where they Hit the High Notes. It’s even in the Joel Test itself: do new hires have to write code? I’m not a fan of puzzle-based interview processes. I met with a Stack Overflow user this week, Chris Jester-Young, and he revealed a clever and potentially more useful strategy: give interviewees a C program full of bugs, and have them try to debug them! Of course, Chris is a big Code Golf enthusiast, so of course he nailed that one. Sometimes you have to try to change your organization to fix the root problems, otherwise you’re just fighting the symptoms and not the disease itself. This can be quite a challenge when you have no real authority. Joel offers some advice in Getting Things Done When You’re Only a Grunt. Are there happy incompetents? I argue that there are; Joel argues that there aren’t. Among the Inept, Ignorance is Bliss. Perhaps the better question to ask is, how can you help this marginal programmer find a career they’ll enjoy? Many so-so programmers can make outstanding testers, for example. We wonder: what would it be like to work at a commercial for-profit company where everyone’s salaries were public knowledge? I imagined it as something like The Lord of the Flies. Just make sure you aren’t Piggy! At Fog Creek, salaries aren’t technically public, but they have a formula through which everyone’s pay can be derived. This is the Fog Creek Professional Ladder. Fog Creek also does profit sharing, so when the company does well, everyone does well. Is there a two-class society at Microsoft, between Testers and Developers? Joel wonders why they need different titles. I had always heard Microsoft did a great job of giving test engineers a viable parallel career track. Joel believes manipulating compensation to motivate people does not work, almost by definition. Top developers will do a good job no matter what compensation system you put in front of them. It’s a “blunt instrument” that can cause as much harm as good. Joel is an advocate of “taking salary discussion off the table, paying people fairly and justly and well,  so they can stop worrying about it so much.” We have a lot of anti-bot code on Stack Overflow. What we didn’t think about was human-entered spam! Now we do — yet another example of the incredible power of rate limiting techniques. On matters of customer service, we do endeavor to not make the situation worse. Start practicing saying “I’m sorry, it’s our fault.” Updates may slow down on Stack Overflow for a little while. We have built up a lot of technical debt around our database, and we have to hunker down and refactor a few core database tables that affect 80% of our code. If you don’t pay down your techical debt every so often, you could end up like Twitter — a reliability laughingstock. But, somehow, still successful. There’s something liberating and energizing about going in and tearing down huge parts of your application to rebuild it and make it better. Unlike [...]