Bad naming: Over engineering

I hear the term “over engineering” a lot. For me saying over engineer a problem is like saying an F1 car is over speeding or a super model is over beautiful.

But it has the side effect of making people think that more time engineering is bad. Because for some reason, engineering just increases complexity.

Little known fact: Einstein kept working on the e = mc2 formula and he over engineer it. By the end it was y = mca3

Michael Scott

I suggest the name “complicate”.

Moral of the story: engineering good, complicate bad

Bad naming: Technical debt

Technical debt is another term thrown around like crazy. I don’t like this term because when non-technical people hear about it, it’s like they got a get out of jail free card.

Why? Because you don’t need to pay back the technical debt if you don’t keep using that piece of software.

Imagine you want to open a restaurant, you ask for 100K to the bank and then the restaurant blows up and you say to the bank “oh well, it didn’t work out…”

I’d prefer some other term like “technical scaffolding”. Basically supporting stuff that holds your product while it’s being build up. But as soon as it starts to grow, you make sure the building is stable.

What happens in many software companies is that they are just a pit of technical debt, so when you go work there, you maintain a badly structured architecture. You maintain the scaffolding, and sometimes this gets so bad you don’t know if it’s scaffolding or rubble from a previous incident under all the scaffolding.

I’m not saying to not cut some corners when you are starting a project, but like cutting corners in a building, be sure you don’t build a tower of Pizza.

Image

Fanatics in tech

There’s a lot of fanaticism in tech. “That operating system sucks” “That editor sucks” “That programming language sucks”. There is a lot of suckage! It doesn’t help that software developers are trained to follow rules. So every time there is a decision to be made and no clear rule, they just go wild.

Many years ago, a teacher of mine asked a question and said the answer was the thing software developers are more afraid to hear:

It depends!

A teacher

At the time I didn’t get it, but now it’s quite clear. Almost everything is a trade-off.

It’s a bit like people complaining that a truck sucks and you should buy a fast car.