software development

open source

Procrastination and the Bikeshed Effect

The book Producing Open Source Software: How to Run a Successful Free Software Project [http://www.amazon.com/dp/0596007590/?tag=codihorr-20] is a fantastic reference for anyone involved in a software project – whether you're running the show or not. [http://www.amazon.com/dp/0596007590/?tag=codihorr-20]

By Jeff Atwood ·
Comments

software development

Paying Down Your Technical Debt

Every software project I've ever worked on has accrued technical debt [http://martinfowler.com/bliki/TechnicalDebt.html] over time: > Technical Debt is a wonderful metaphor developed by Ward Cunningham [http://www.c2.com/cgi/wiki?TechnicalDebt] to help us think about this problem. In this metaphor, doing

By Jeff Atwood ·
Comments

software development

Are You An Expert?

I think I have a problem with authority. Starting with my own. It troubles me greatly to hear that people see me as an expert or an authority, and not a fellow amateur. If I've learned anything in my career, it is that approaching software development as an

By Jeff Atwood ·
Comments

design patterns

Real Ultimate Programming Power

A common response to The Ferengi Programmer: From what I can see, the problem of "overly-rule-bound developers" is nowhere near the magnitude of the problem of "developers who don't really have a clue." The majority of developers do not suffer from too much design

By Jeff Atwood ·
Comments

keyboard

Have Keyboard, Will Program

My beloved Microsoft Natural Keyboard 4000 has succumbed to the relentless pounding of my fingers. A moment of silence, please. OK, it still works, technically, but certain keys have become.. unreliable. In particular, the semicolon key is now infuriatingly difficult to use. I don't know if this is

By Jeff Atwood ·
Comments

strings

The Sad Tragedy of Micro-Optimization Theater

I'll just come right out and say it: I love strings. As far as I'm concerned, there isn't a problem that I can't solve with a string and perhaps a regular expression or two. But maybe that's just my lack

By Jeff Atwood ·
Comments

microsoft

The Ultimate Dogfooding Story

In software circles, dogfooding refers to the practice of using your own products. It was apparently popularized by Microsoft [http://en.wikipedia.org/wiki/Eating_your_own_dog_food]: > The idea originated in television commercials for Alpo brand dog food; actor Lorne Greene would tout the benefits of the

By Jeff Atwood ·
Comments

programming languages

A Scripter at Heart

What's the difference between a programming language and a scripting language? Is there even a difference at all? Larry Wall's epic Programming is Hard, Let's Go Scripting attempts to survey the scripting landscape and identify commonalities. When you go out to so-called primitive tribes

By Jeff Atwood ·
Comments

ui design

If You Don't Change the UI, Nobody Notices

I saw a screenshot a few days ago that made me think Windows 7 Beta might actually be worth checking out. That's right, Microsoft finally improved the calculator app! We've been complaining for years that Microsoft ships new operating systems with the same boring old default

By Jeff Atwood ·
Comments

programming languages

Overnight Success: It Takes Years

Paul Buchheit, the original lead developer of GMail, notes that the success of GMail was a long time in coming: We starting working on Gmail in August 2001. For a long time, almost everyone disliked it. Some people used it anyway because of the search, but they had endless complaints.

By Jeff Atwood ·
Comments

management

Are You Creating Micromanagement Zombies?

Do you manage other programmers, in any capacity? Then take Kathy Sierra's quiz: 1. Do you pride yourself on being "on top of" the projects or your direct reports? Do you have a solid grasp of the details of every project? 2. Do you believe that

By Jeff Atwood ·
Comments