Why do men care about horse power but not about code power?

Bugatti carTry to recall the last talk you had with some friends in the bar or colleagues over lunch? What was it about? In the case of a group of women I don’t know it. If related to cars I guess you mentioned the nice but, the great look & feel, the rounded shapes, beautiful striping, nice and special color, the safety and the great seat covers. If not about women or money you and your male friends talked about cars. Especially about horse power, engine size, fuel type, fuel consumption, acceleration, maximum speed, tire size and more technical and impressive specs. Do you ever have such talks about the software you have just bought?

We care about the tiniest details

In our daily life we are so much concerned about all kind of technical and performance specifications. This is especially applicable to men. Women are much more focused on the aesthetic and practical side of things.

But not when it is about software

When it is about software males start acting like females. Suddenly, they focus on minor details in the look and feel. They focus on unnecessary functionality for fun. And they don’t give a damn about technical and performance indicators. It’s just supposed to be working.

Sometimes I have the feeling we as software developers should just sell a car looking like a Rolls Royce with the engine of a 30-year-old Trabant, or maybe even better just a pimped Trabant. Nobody will notice the difference. At least not on day one.

Trabi-Safari Creative Commons License photo credit: Andrew Stawarz

What happens if your application appears to be successful?

Now let’s assume your application, portal, web shop or website becomes popular. Your business is depending on it more and more and then all at once it stops working. How does that feel? We have seen many of such cases. We have seen people almost crying and begging us for help to make their solution work again. Mjam spaghetti, but not when it's code

yummy, yummy, spaghetti

Very often that is the moment we start crying. What a crappy software have we seen in the past years. Horrible spaghetti code, hardly documented, without a clear architecture, no usage of design patterns, lack of in-code comments, without tests etc. Bottom line, the code you can hardly maintain.

Whom to blame?

But who’s to blame? The developer? I’m not sure. Too often he got hardly paid for his job and probably he had to build something under the extreme time pressure, meanwhile handling a lot of change requests. On the other hand, he should warn the client. But most developers don’t dare to do this as they are afraid they will lose a client. Should we blame the client? Partly yes. He should be aware that business critical applications should be designed well. You also won’t be able to build a house based on some sketches. On the other hand I also understand their eagerness to start with something new as cheap as possible. You never know whether or not your idea will be successful.

We all need to change

It seems we need some kind of a paradigm shift. We will need to invest a bit more upfront to prevent failures later on. That might feel like wasting time, money, etc, but in the end you will win. Picture credits: Bugatti taken by Macromastia girl http://www.flickr.com/photos/38629607@N03/3692196037 Spaghetti taken by Sweetnicks http://www.flickr.com/photos/74547820@N00/2217126777

VP Software Development Europe for Aspire Systems. Sociologist and electrotechnical engineer, a great combination that stimulates him to look for the best working software solutions for clients. Passionate about converting great ideas into new solutions. Married and a proud father of 3 great sons. Training for and participating in triathlons/runs to stay fit.