Home avatar

Software Gravity

I have a deep appreciation for Dr Neil deGrasse Tyson, astrophysicist, author, and science communicator.

He has spoken about the immense challenge of sending something into space, particularly the need to overcome Earth’s gravity.

When trying to break free from our planet’s gravitational pull, weight becomes a disadvantage. Space-bound artefacts must be made as small and light as possible.

This challenge drives miniaturisation, which has a significant impact on other fields, such as medicine and materials science.

The World of Programming Will Change But...

I’ve tried for a long time to resist diving headfirst into this incredibly boring discussion about whether or not AI will replace software developers in the future.

I keep reporting the countless posts flooding my LinkedIn feed on the topic, but since it’s a platform that works terribly, they inevitably show up again the next day.

I said it before: my opinion is that the world of programming will change. It’s technology, and technology has always gone through evolutions. That’s how it’s been since the Stone Age.

Plans are useless, but planning is everything

Agile is not opposed to planning.

One of the biggest misunderstandings about the Manifesto for Agile Software Development is the interpretation of “responding to change over following a plan”.

Some take this to mean that planning is unnecessary or even discouraged. But that’s not what “over” means. “Over” does not mean “instead of”. It means “we value both, but we value the one on the right more”.

Planning is essential. As Eisenhower put it: “Plans are useless, but planning is everything”. The real danger isn’t planning itself, it’s planning in a way that resists change. If we can’t adapt based on new information, we lose the battle before it even begins.

QA is Not Final Testing

I see a lot of people (CTOs included) who are still confused about this, so let’s say it again: QA does not mean final testers. Just like many others in the software engineering field, that’s a common fallacy.

A “QA professional” is not a manual tester sitting at the end of a production line, waiting to receive batches of work to validate from developers, acting as a go/nogo gate to production.