software development

Software Development and Geography

December 9, 2012

This is a nice image from 37Signals showing where their developers are located: David says that they would have missed out on a lot of great people by only looking at developers living in Chicago. That is true. What is also striking is that despite their actively looking for good developers who can work remotely, there […]

Read the full article →

The Politics of Software Development

August 18, 2012

Steve Yegge has a couple of posts (here and here) expounding a new theory of thinking about software engineering. As he says, 1) Software engineering has its own political axis, ranging from conservative to liberal. […] 2) The notions of “conservative” and “liberal” on this political axis are specialized to software engineering. But they exhibit […]

Read the full article →

The Pokayoke Software Development Guide

July 1, 2012

Aaron Swartz has written up a guide for software development from idea to launch. He calls it “The Pokayoke Guide to Developing Software”. I was unfamiliar with the word “Pokayoke”, but it means mistake-proofing, i.e., “eliminate product defects by preventing, correcting, or drawing attention to human errors as they occur”. Developing software from zero to […]

Read the full article →

The Resistance Against Requirements Specifications

November 21, 2011

Martin Fowler re-posted this article from 2004: Tests are always going to be incomplete, so they always have to be backed up with other mechanisms. Being the twisted mind that I am, I actually see this as a plus. Since it’s clear that Specification By Example isn’t enough, it’s clear that you need to do […]

Read the full article →

Becoming a Great Programmer

September 8, 2011

On the lines of Peter Norvig’s article about teaching yourself programming in 10 years, Mike Lewis (“Apoch”) writes a nice post about how to become a good programmer in just six “simple” steps: Get in it for the long haul. Write Lots of Code. Read Even More Code. Learn Many Languages. Master a Couple. Create […]

Read the full article →

Programmers Putting Other Software Personnel Out of Work

May 13, 2011

One software development trend that seems to picking up more steam year after year is the mainstreaming of technologies that aid the software programmer, but also encroaches on the territory of other software personnel. I view this as a good trend because it allows programmers to be more productive and deliver more quality out of […]

Read the full article →

Bottom-Up Design

April 29, 2011

The strangest thing I have read in the recent past (emphasis mine): In his classic “Clean Code” Robert C. Martin describes a great (and widely adopted) way to object oriented programming. He says code should read from top to bottom like prose. Start with the most high-level concepts and break them down into lower-level pieces. […]

Read the full article →

Get a Better Word for Software “Craftsman”

January 26, 2011

Ade Oshineye complains that proponents of Software Craftsmanship misunderstand it: Ill-informed proponents of Software Craftsmanship tend to make the following mistakes: they don’t read anything except the manifesto and a smattering of blog posts. […] they focus on how Software Craftsmanship can benefit masters rather than apprentices. they think that signing the manifesto is the […]

Read the full article →

Programming is Easy, Software Development is Hard

January 23, 2011

David Brooks has a great essay on which skills are difficult to master: She’s protecting them from the most intellectually demanding activities because she doesn’t understand what’s cognitively difficult and what isn’t. Practicing a piece of music for four hours requires focused attention, but it is nowhere near as cognitively demanding as a sleepover with […]

Read the full article →

Programmers and Micromanaging

January 17, 2011

Everybody hates managers who are fond of micro-managing. I suppose even the micro-managers realize this to some extent. So why do they keep doing it and not leave the rest of us alone? Well, one reason is that in the short run, Bad programmers exhibit better quality and productivity if they are micro-managed. While good […]

Read the full article →