software development

Tending Your Software Garden

software development

Tending Your Software Garden

Software: do you write it like a book, grow it like a plant, accrete it like a pearl, or construct it like a building? As Steve McConnell notes in Code Complete 2, there’s no shortage of software development metaphors: A confusing abundance of metaphors has grown up around software

By Jeff Atwood ·
Comments

remote work

Can You Really Rent a Coder?

I’ve been a fan of Dan Appleman for about as long as I’ve been a professional programmer. He is one of my heroes. Unfortunately, Dan only blogs rarely, so I was heartened to see a spate of recent blog updates from him. One of the entries asks a

By Jeff Atwood ·
Comments
That’s Not a Bug, It’s a Feature Request

bug tracking

That’s Not a Bug, It’s a Feature Request

For as long as I’ve been a software developer and used bug tracking systems, we have struggled with the same fundamental problem in every single project we’ve worked on: how do you tell bugs from feature requests? Sure, there are some obvious crashes that are clearly bugs. But

By Jeff Atwood ·
Comments
Coding: It’s Just Writing

programming

Coding: It’s Just Writing

In The Programming Aphorisms of Strunk and White, James Devlin does a typically excellent job of examining something I’ve been noticing myself over the last five years: The unexpected relationship between writing code and writing. There is perhaps no greater single reference on the topic of writing than Strunk

By Jeff Atwood ·
Comments

microsoft

Bill Gates and Code Complete

By now I’m sure you’ve at least heard of, if not already seen, the new Windows Vista advertisements featuring Bill Gates and Jerry Seinfeld. They haven’t been well received, to put it mildly, but the latest commercial is actually not bad in its longer 4 minute version:

By Jeff Atwood ·
Comments
Deadlocked!

multi-threading

Deadlocked!

You may have noticed that my posting frequency has declined over the last three weeks. That’s because I’ve been busy building that Stack Overflow thing we talked about. It’s going well so far. Joel Spolsky also seems to think it’s going well, but he’s one

By Jeff Atwood ·
Comments
Check In Early, Check In Often

version control

Check In Early, Check In Often

I consider this the golden rule of source control: Check in early, check in often. Developers who work for long periods – and by long I mean more than a day – without checking anything into source control are setting themselves up for some serious integration headaches down the line. Damon Poole

By Jeff Atwood ·
Comments
On Our Project, We’re Always 90% Done

software development

On Our Project, We’re Always 90% Done

Although I love reading programming books, I find software project management books to be some of the most mind-numbingly boring reading I’ve ever attempted. I suppose this means I probably shouldn’t be a project manager. The bad news for the Stack Overflow team is that I effectively am

By Jeff Atwood ·
Comments
Quantity Always Trumps Quality

software development

Quantity Always Trumps Quality

Nathan Bowers pointed me to this five year old Cool Tools entry on the book Art & Fear. Although I am not at all ready to call software development “art” – perhaps “craft” would be more appropriate, or “engineering” if you’re feeling generous – the parallels between some of the advice

By Jeff Atwood ·
Comments

open source

Is Money Useless to Open Source Projects?

In April I donated $5,000 of the ad revenue from this website to an open source .NET project. It was exciting to be able to inject some of the energy from this blog into the often-neglected .NET open source ecosystem. As I mentioned at the time, I used a

By Jeff Atwood ·
Comments
The Ultimate Software Gold Plating

software development

The Ultimate Software Gold Plating

Some developers love to gold plate their software. There are various shades of... er, gold, I guess, but it’s usually considered wasteful to fritter away time gold plating old code in the face of new features that need to be implemented, or old bugs that could be squashed. Developers

By Jeff Atwood ·
Comments
The Problem With Code Folding

programming practices

The Problem With Code Folding

When you join a team, it’s important to bend your preferences a little to accommodate the generally accepted coding practices of that team. Not everyone has to agree on every miniscule detail of the code, of course, but it’s a good idea to discuss it with your team

By Jeff Atwood ·
Comments