Of all my career experiences, the one that taught me the most was my first full-time job in IT.
I was hired as a Junior System Engineer at a bank. As a Swiss person—how cliché.
When I started, I wasn’t thrilled. The banking industry has a bad reputation for a reason, and the technology stack they were using was not exciting, to say the least. Most of all, there was no development work on the horizon—only system and application lifecycle management (no DevOps at the time; I’m old).
I was placed in a peculiar team: there was the manager wannabe who basically didn’t want to touch a computer anymore, a guy who ended up in IT by overselling his profile, and then there was a guy my age who was passionate about IT and ended up in the job much like I did.
Of these three, the most beneficial for my career was the "impostor" who oversold his profile. His objective incompetence gave me access and exposure to production systems from day one.
This early exposure to critical systems in an industry that literally cannot afford downtime gave me a strong sense of how delicate production environments are, but also taught me not to fear making mistakes—as long as you have a plan.
On the job, I quickly realized that this odd trio never did anything on their own; they always relied on an external consultant from our software provider to handle the heavy lifting and take the blame if something went wrong.
This consultant was, and still is, the best system engineer I have ever worked with—a true Linux wizard.
At school, we worked with Unix and Linux, but real-world experience is something else entirely.
I did everything with this guy: from installing new operating systems to managing an e-banking solution, including the first blue-green deployment of my life (on Sun Solaris—no fancy containers back then).
The mastery of the operating system and the concept of having a rollout plan are skills I still carry with me to this day. The knowledge I acquired during that time is the most valuable and enduring of my entire career.
The systems are where our software runs—the building blocks of everything. Even today, with containerization, knowing how to navigate an operating system and understanding its main components is invaluable.
In my role as an architect, especially at the start of a new project, there’s a lot of interaction involving the OS, the main platform, and the pipeline. Systems knowledge is crucial for setting up the foundation of a new project, particularly if you want to quickly bring it to a production or pseudo-production environment.
I focused a lot on development for several years, but nothing shaped me as an architect and responsible engineer like my exposure to those production systems.