software development

Improving Programming Productivity

April 30, 2011

Paul Homer has a post listing several ways in which you can waste your time while programming. Much of the waste comes from lack of thought about how to write code, primarily because people jump directly from specs into coding without thinking about how they can structure their code well. I sometimes read articles about […]

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 →

Commented Out Code

April 21, 2011

This post at Visual Studio Magazine by Peter Vogel has invited a lot of contempt (via Rob Conery): I never delete code — you never know when you might want it back. So I spend a lot of time commenting out code. I do this so often, and mousing up to the menu takes so […]

Read the full article →

JavaScript is More Complex and Important than You Realize

April 19, 2011

Kudos to Michael Woloszynowicz for pointing out that the JavaScript experience on the resumes of most people is worthless. If you tried to interview most people on JavaScript beyond the basic stuff, it would be a one‐sided monologue. To be fair, these developers are much better at the language they consider their primary one and JavaScript […]

Read the full article →

Refactoring is Not About Reducing Code

April 18, 2011

The first introduction to refactoring for many programmers comes when a senior developer on the team takes a look at what they have written, yells some expletives and starts deleting blocks of code that has probably taken them days to write. After a few such incidents, these programmers start understanding what DRY means. Unfortunately, some […]

Read the full article →

Software for Multiple Customers

January 31, 2011

To follow up on my previous post about fully flexible software, I wrote about projects with a single customer or at least one entity that pays the bill and dictates the requirements. That is, of course, only one type of project, even if it arguably is a huge chunk of the programming market, including consulting […]

Read the full article →

Fully Flexible Software

January 27, 2011

A commenter (Daniel) on my previous post had this to say [summarized from multiple comments]: if you assume that requirements can be well defined and are static for the lifetime of the product, then programming is trivial. I’ve never seen this assumption to be true. […] at the level of programming, what do you have […]

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 →

The Social Network

January 20, 2011

I saw “The Social Network” on DVD the other day. Excellent movie, well worth watching. No surprise that it got the Golden Globe and possibly will get the Academy Award too. I don’t have much to say about the accuracy of the movie, except that even if everything was fiction, it is still an immensely […]

Read the full article →