Software Factories, Coding Slaves and Craftsmanship

A couple of weeks ago flying back from Redmond I read 'Coding Slave'. I did not like it. It's a quick read but I found it too pretentious. Anyway, one of the claims (I hope that not serious) of the book is that as programmers are the ones that do the real job then they (we) have a lot of power, so we need to organize, etc.

At this point of history we should probably know that if you are easily replaceable, then no matter how important your job is you have no power at all. Unions can make it harder, but in the long term if the task you do adds no value, you won't be doing it for a lot of time. Most of the programmers in the world are easily replaceable. Of course I think I'm not, but that's what everyone thinks of itself.

Most of the job that's done by programmers today is tedious and repetitive code that should not be written anymore. That's the kind of job that's being off-shored.

We should find ways to not to write that kind of code anymore. Code generators/MDA tools try to achieve that. Software Factories too. That's the way to go. You could feel that those kinds of tools are too generic and won't fit you, and you could be right. But you could also be wrong, and if you are, you are in danger of being disposable.

On the other hand, we as software developers like the feeling of being craftsmen, writing carefully thought code, very well designed, using 'test driven development', etc. I love to do this. But when we do this, we are creating a very expensive, one of a kind, high quality product, as craftsmen do. You probably know those kind of products are very hard to market. Sure, they could be very profitable, but only high reputation brands can do it successfully. I'm not sure if that's the kind of product most people should build.

We could work this way if we get high quality pre-built components. Then we could still be craftsmen and apply the finishing touches.


 

1 Comment

Comments have been disabled for this content.