I remember my last day of work with my former employer, one of the biggest software firms in Italy. I worked here for over a decade. Over the course of so many years, there have been good, bad and at times very bad moments. I joined the company to develop a huge developer–oriented source generator/framework. In all those years I learned a lot, mostly on my own, for my own sake, driven by the hunger for knowledge. I developed high profile skills in application security and system integration, and I had the chance to develop huge and all-encompassing products for the top financial players in my country. This is the kind of opportunity that only a big software firm can put on the table.
Building products for large financial institutions wasn’t always easy. I worked really hard to build bridges between old legacy systems and brand new solutions. Just a few years ago, I had the opportunity to work on a very important project and we did an awesome job. It was how working in a big company should be. We developed a foundational technology in order to easily integrate a particular kind of legacy systems at a more abstract level. What we built has been used for years now in different products at the client, and even extended multiple times with very little effort. It is a damn good design piece of software if I should say so myself. It will be my little legacy that I have left with them.
So why did I leave? Since that amazing product did not make history, it did not become the standard way that we developed products. Pressure to deliver more in a short time span kept increasing, and the quality of the products started to suffer. I’m sorry to say so, probably in a company with thousands of employees it is a necessary evil, but still, it makes day to day work a grind, and lowered my motivation. The “problem” is that the banking sector has been one of the first industries to become heavily digitalized. Now we have a huge volume of legacy system that cannot sustain the volume and the business needs of the modern financial industry. It’s not a problem that will be tackled overnight, but I needed a change. I needed to work on something new, that is not just a big rewrite of a legacy product that has to look like exactly like the old one.
I joined a vibrant young company in pursuit of my dream of becoming a better software engineer, not just an experienced developer, a living reference guide for tools and libraries. I’m working with friends that are skilled professionals, exchanging knowledge and jokes. The team is driven by a mission I believe in: to build a software that simplifies people’s jobs with the help of advanced optimization and machine learning techniques. I will work in an international environment which is something I always dreamed of. Life is full of uncertainty, but from the uncertainty comes possibility, and from possibility comes development. At the end of the day, I’m a developer! Technology thrills me, but not just “technology for the sake of it”. My quest today, as an engineer with two decades of experience, is to find the right kind of innovation that matters and solves a very concrete business need. And keeps on sailing.