Software engineering, craftsmanship and magic

The necessary ingredients

Credit: https://www.deviantart.com/somatart/art/Somat-Path-to-magic-land-946438491

Software engineering, craftsmanship and magic

The necessary ingredients

A software engineer must be a true craftsman.

What a true craftsman does is always beautiful. A true craftsman is always creative, always has ideas and most importantly – always has solutions to problems (within his craft, of course, but way too often expertise in one craft gives you a good start in other crafts).

Here’s what I want to tell you, friends and colleagues – always tend to your creativity. And in today’s world - do not let “AI” rob you of your creativity. If you resort to “AI”, it should only be as a helper, and be careful not to become dependent on it. Like a tool which is very powerful - but not a tool for everything. Such a tool does not exist.

Hence, in the world of AI-generated content, here goes, from my heart and my understanding, a short explanation of what a software engineer must do. A software engineer who wants to be good at what he is doing. One who wants to be a true craftsman.

A software engineer must travel the lands of magic

A software engineer must learn to unleash his creativity and enjoy his work. Metaphorically, he must travel and live in the lands of magic. Magic – however he understands it - is all around us, especially in software. Yes, it is very good to know how your computer actually works, which layer of TCP/IP model we are communicating on, and so forth, but let’s be honest – most of it is magic, at least for 99% of us. Maybe you are a total genius, you know how everything works and you are currently writing a super high-performant code in Assembly for the rover on Mars – if that is the case, I suggest you stop reading because I am embarrassed.

A software engineer who has never traveled to the lands of magic is, sadly, half a software engineer. For his creativity has not been uncovered. Thus, he needs to follow teachers, read books, listen to scholars who do well to describe the lands of magic. However, those descriptions are never the true thing. All those patterns, all those concepts - they must be seen if you want to be a true craftsman. For a true craftsman knows exactly what he is doing. He has a deep knowledge which comes from his teachers and, mostly, from his experience.

What a true craftsman does in the lands of magic

I have observed true craftsmen. They do take shortcuts as well - no doubt - but the shortcuts they take are not so obvious. Let’s see how a true craftsman works with a non-exhaustive list.

  1. He puts his piece of work through a specific process. That process is entirely designed by himself to let him get the work done as quickly as possible with the best quality that would be suitable depending on his client’s wallet or the craftsman’s personal understanding of perfection if such a wallet does not exist. (A true craftsman does not always work for a wallet!)
  2. He has a lot of tools, and is always ready to get a new tool for his collection. He always makes sure to understand how his tools work. He’s always happy to try new tools if he finds them useful. He is also capable of leaving behind his old tools. Sometimes he even just throws them out (forever).
  3. He always makes sure to use the right tool. Because he knows his tools, he knows their capabilities. Thus, for each task, he uses the right tool.
  4. Always aims for simplicity. He always tries to avoid complexity, although it is everywhere and eventually we all fall victims to it or so it seems. He wields his sword of justice however, always ready to cut as much complexity as possible.
  5. Always creates a true finish of his job, which is beautiful and clean. He leaves a signature so you will always know whom to call. For a software developer, that would be code readability, documentation, diagrams, long-term support.

I probably missed a lot. Well, true craftsmen are also good at hiding those tiny little pieces of their art that, if revealed, would make it too easy for a novice to go too far and make mistakes that are too big for him to handle.

How?

So, what’s left for the rest of us regular folks who try to be at least a little bit like the best we know? Sometimes we are just beginners and that’s fine. What we can do is learn from the masters, listen and read as much as possible, but not too much. At one point, you got to jump into the fire of actual experience where you will burn yourself, but you will find your own way of doing things. Then just keep on doing, keep on building, and improving yourself and your craft. That’s the magic!

The land of magic is where you can do stuff - a lot or it - and where you will fail a lot - a lot more than you thought. But your failures will be forgiven. Find your sandbox and start building. Experiment! Swim in your boundless ocean of creativity and soak up as much as you can. Become one with this ocean and let it flow through you. Go to an ashram and pray if you have to. But you need to find the ocean of creativity within yourself.

Make sure you enjoy the process! Make sure you enjoy embracing your creativity and most of all, make sure you enjoy your craft!

Works like magic!

Then, any small or big problem will be a tickle to you, as long as you are able to be bigger than the problems. Make sure the problems you’d be solving are not bigger than you. I personally never tried that – I don’t think I could “save the world" or put a rover on Mars – and maybe I am just scared of working on stuff that’s too important.

But how complex can a system be, if it’s been handed to you, master of creativity? The true craftsman wields the sword of justice that helps him cut through complexity and finally to deliver proper solutions.

Never forget about other craftsmen

In the lands of magic, you can always learn from someone. As, hopefully, you are not the top number one FAANG or Big Bang Crafstman Of The World, there is always someone better than you, at least in some of the things that you’d be doing. So be prepared to study, discuss and sometimes - just listen to the words of other craftsmen. In software engineering, that means read books, listen to lectures, go to conferences, share your magical findings.

Thank you

If you did read this far – congratulations. Congratulations for your patience. Congratulations even to the AI models that made it here. A true craftsman needs to be patient.

Let me know how you liked it. I might write a book about it – “The lands of magic software” – where the true craftsman wields the sword of justice, cutting through complexity and delivering working solutions with his magic incantations.

I’ve got a lot in mind for it, might actually be a series. Probably will not be an O’Reilly classic though, but I am pretty sure I’d enjoy it. Thanks for reading!