This may seem like a silly question to some, but I think it's often easy for us to forget what our job really is. I'm going to write this from the perspective of a Software Developer, but it applies equally well to all job functions.

As programmers, we have often been tricked into thinking that we should be writing code all the time and anything less and we’re not being productive enough. I know I often struggle between writing code – which I enjoy, have some skill in, and can easily see my results – and doing other important project tasks.

When I was working on Word for Windows 6.0 (and there's a whole 'nother story about why it was numbered 6.0 rather than 3.0, since it followed Word for Windows 2.0 – the short quote is “6 is larger than 3”) Chris Peters (who has since left Microsoft and brought the PBA back into prominence) at one of our team meetings made it clear to us that, in order to ship Word 6.0 we needed to remember that our job wasn’t to “write code” or “test code” or any of those things. Our job was to “ship Word 6.0.” Now often that would mean, as developers, we should write some code (or fix some bugs) but we needed to think each day about what we could do that day to help ship Word 6.0. Some days that would mean not writing new code (and new code is the worst – it has to be tested, localized, documented, etc.). Sometimes, the best way to finish the project would be to talk with our program manager and see about cutting a feature (or at least scaling it back). Sometimes, the most important thing we could do is sit down with a tester and explain how a feature we just finished was designed and how it worked so they could think about how to best test it. Some days we should spend time testing a new feature we just finished ourselves before giving the code to testing to play with (since finding bugs early in the process is much better than finding them later). Other days we might need to sit down with someone from the documentation group and help them document the feature.

Think about this when you’re working on your software project. Your goal should be to ship an amazing product, not write more code. Do what you can to help with that goal.

blog comments powered by Disqus