
·
A personal essay looking back at my first 18 years as a software engineer, and the life, and the losses, that ran alongside them.
This is the first time I write a post like this, far from the classic technical articles I publish on this blog. I am here as always, on a muggy Saturday afternoon (because you never really stop, not even on the weekend) of a summer whose heat doesn't seem willing to end, in front of my mechanical keyboard echoing through the room that serves as my office like a jackhammer, and yet as pleasant as the patter of rain at night.
Usually my weekend activities in front of the computer (studying, "playing" with some new framework) turn into knowledge I bring to work, and into new articles for this site. Today, though, I decided to take a break from all of that, and try to write something different. I need it: I want to put in writing what many colleagues have heard from my stories, together with some details nobody has ever heard until today. I believe that seeing it written down, in black and white, can give me a new perspective on my career and on my private life. Partly to understand myself better (yes, a kind of introspection), but above all to manage to make sense of my life as it is right now.
I come from a very humble family. My father, a construction worker, now retired after fifty years of work on his shoulders. My mother, a housewife, with a past as a teacher in an institute for kids from difficult family situations. I still remember, as if it were yesterday, the satisfaction in their eyes when, in 2008, I earned my bachelor's degree in Information Science and Technology (Computer Science). Getting there had not been easy: they had given me the chance to dedicate myself to my studies, and in those years I limited myself to a few odd jobs, like tutoring math and other subjects to my sister's classmates or to other girls from the same teacher training school. In that period I had even stopped helping my father with his extra construction jobs, something I had done since I was seven. The academic path of my bachelor's was almost flawless: started in October 2005 and closed perfectly on time, in September 2008, with a grade of 106/110.
Why did I choose Computer Science? Because computers have been my passion since 1992, ever since my parents gave me my first Game Boy. I nurtured that passion throughout my childhood, in an era when computers were considered, at best, expensive toys, until I made it a life choice. The evening of my graduation we celebrated soberly: a pizza at a restaurant. One night was all it took, and I was already looking for a job. Many had suggested I continue with the master's degree, but I was tired of sacrifices: I wanted to start reaping something concrete from all those years, a salary of my own, a first form of independence. The frustration was sharpened by seeing many of my peers already almost independent, luckier, with a car and some money in their pockets to go out. Being a "rowdy metalhead" at heart and in appearance (metal music is my second great passion, after computers and videogames), I vented that frustration in behavior that went over the top every time I went out. I will skip the details, but with hindsight some of those episodes could have gotten me into serious trouble in life.
That is how I started sending out résumés and receiving my first phone calls. Back then the IT job market offered a few good opportunities, but I was beginning to feel the weight of something that had just blown up. Did you notice the year and the month of my graduation? Well, yes: I entered the working world almost at the exact instant when the 2008 housing crisis exploded.
Despite everything, after several interviews, I decided to accept the offer from Avanade, a well-known consulting firm with several offices, one of which in Milan. I joined it with the hope of building a technical career, focused on software engineer, even though many had advised me to aim at something else, at something for which, in their words, I was more suited. Even back then, after all, software engineer was perceived as the "mechanical translation into code" of concepts and architectural choices made by others; and the university itself insisted much more on project management and other stuff than on pure programming. I admit the choice was also financial: it was the only company offering an apprenticeship contract with pay worthy of the name, and not yet another underpaid internship. Avanade, as a company, has a huge number of business areas, and there is always the chance of being assigned to the most disparate projects. And fate, in fact, had something other than a technical path in store for me.
After the initial bootcamp the company assigned me to a project at Unicredit as a PMO, Project Management Office. Concretely, inside Excel sheets, I kept track of the exchange of functional specifications for a banking systems integration project; on top of that I built automated reports fed by some PowerPoint presentations, with a combination of VBA on both fronts. An incredibly boring job, in which programming was cut to the bone and tied to technologies that were not exactly "a software engineer's dream". On top of all this came the commute to the office: almost two hours of public transport each way, four hours a day thrown away just to get around. Back then I was trying to save money by staying at home with my parents (I contributed to the expenses, of course, but it was not like paying rent). All of this, put together, led me to hate the job. The paradox is that, while I was starting to loathe it, a great many people were desperately looking for one. I still remember the very first "company mail", the email sent to the entire company: with the 2008 crisis we had entered a full spending review, and every nonessential activity would be cut or suspended until the situation improved. Avanade, for instance, was famous for its company retreats, where employees from all the offices were gathered in a sort of big party to celebrate the company's results. Beyond the fact that I am not accustomed to these things, the news struck me all the same: I had not really started yet (the email arrived about a month after I joined) and already there was talk of crisis and cuts.
For all these reasons, a little less than a year later, in 2009, I left Avanade for a new company: no longer in Milan, but in the Como area. It developed management software for the textile industry. I got there thanks to one of my best friends from university days: it was the only time I got in, in part, thanks to a personal connection (what in Italy we call being "raccomandato"). Full of hope of finally getting my hands on something more technical, I was disappointed this time too. I still tried to make myself like the job itself, allowing myself a few treats outside the office: that very year I started playing the bass, a dream I had cultivated for a long time given my passion for music. A few years later I would realize, perhaps too late, that I had no talent for it, and I would give that up too.
But it was not enough, because in 2009 something happened that would mark my life and my family's forever: my mother was diagnosed with breast cancer. Her, of all people, the only one in the family who had never smoked a single cigarette nor drunk a drop of alcohol. My father, from the very first day, took care of almost everything (even today I believe him invincible, for the way he knows how to face life), but an illness like that is a demon that creeps into every crevice. I remember when my mother started her cycles of chemotherapy based on anthracycline: the evening of the treatment she would spend in the bathroom throwing up until morning. The retching echoed through our modest apartment of 65 square meters, and the memory of those nights came with me to the office the next day. And yet none of this is enough to justify my poor professionalism back then. Rightly so, after a year, the company decided not to renew: mine was a temporary contract.
And so I found myself unemployed, a couple of years after my bachelor's degree, without even a clear idea of what to do. Or rather, I had made up my mind about one thing: I no longer wanted to work in IT. Yes, I was starting to set aside my dream of being a programmer. I had convinced myself that what I had seen of the field until then was not for me, and that I no longer wanted that life. So I started registering with the job placement offices and leaving my résumé in the most disparate places: the accountants' firms where I had done my summer internship in high school (I had studied accounting) and shops, like Mediaworld. But the degree weighed like a boulder. The accountants' firms, seeing me again years after the internship and now reading an updated CV, turned me down with generic explanations. In essence they told me: "you have a degree in computer science, go find a job consistent with your studies". With the shops it went even worse: to this day I have never received so much as a phone call.
So, with no real alternatives, I went back to looking at the IT field, in Milan. I started again from scratch, with an intern contract at SHI S.r.l. And there I finally found the right environment to give vent to my passion for programming: they assigned me, as a junior developer, to the development of native iOS apps. It was a turning point. Working alongside my mentor at the time, the engineer "Ing." Gian Enrico Conti, I had for the first time the chance to push programming to the limit. Back then native app development was in its infancy, and you would go down into a myriad of details at a low level, close to the hardware. Besides this I worked on web applications written in Struts (they were my first professional experiences with Java after my bachelor's) and PHP.


For the first two years I felt like I was in heaven, but they were still very hard years. The hours were exhausting: weekends and nights spent closing projects to deliver to clients in impossible timeframes. I still remember one Sunday in August, finishing a project until late in the evening with Ing. Conti, before allowing myself a few days off. Situations like this were the norm. This is where I finally laid the foundations of my knowledge and my technical skills. And on a personal level too things seemed to be getting back on track: after the first cycles of chemotherapy my mother was starting to feel a little better.
Everything, finally, seemed to be going the right way. It was then that, despite the impossible hours and the workload, I decided the time had also come to go back to university to complete my studies and earn my master's degree. Madness? Probably yes. But I had a burning desire for it, because this time I was facing it with a different spirit: I wanted to attend the courses on the topics that had always fascinated me, above all computer graphics, a child of my passion for videogames, the one passion that, apart from a short break I will tell you about later, has stayed with me my whole life, the courses that during my bachelor's I had skipped in my hurry to finish. In this same period I met Chiara, "Clary" to her friends, the partner of my life and of my heart ❤️. For years she put up with a relationship made of counted moments together: we saw each other twice a week, because the other days I spent on my university books. She put up with my endless working hours, which sometimes stole even the one weekday when we managed to be together. And yet she never asked me to give up: on the contrary, she always encouraged me to study, not to surrender. If I have gotten where I am today, most of the credit is hers.
Even though everything was going for the best, the storm was about to return. I cannot go too much into detail: at a certain point the company was not doing well, in purely financial terms. After two years, by then fairly deep into the company dynamics, I sensed that the situation was not among the best. I "saved" myself from unemployment by a hair: the company announced the "cassa integrazione" (the Italian wage guarantee fund for companies in crisis) and the start of bankruptcy proceedings on 3 June 2013. That same day I started at a new company. This, however, did not spare me the ordeal of chasing my TFR (the severance pay Italian employers set aside for each worker) through lawyers: I only managed to recover it in 2018, and at eighty percent of the original amount. An almost grotesque detail: in my last days at that company I found myself taking part in dismantling the office, for the sale of some assets to another company before the definitive closure.

What was the new company? Condé Nast Italia, famous for its great publishing brands: among them Wired, the tech magazine that marked the dawn of the IT world as we know it today, and then Vogue, Vanity Fair, and many others.
I joined as a native iOS developer, and my manager at the time, Marco Viganò, has always been passionate about everything technology, videogames included.
The rapport was immediate.
The salary too marked a good step forward compared to SHI: I had managed to dodge unemployment and raise my pay at the same time. A small miracle.
As soon as I arrived, they entrusted me with the development of some native apps for reading the magazines.
In the meantime I was determined to continue my master's degree at Bicocca (a bit slowed down by the SHI storm, but with a good chunk of exams already behind me).
It seemed that, after a difficult year, things were settling down.
But when the storm is actually a hurricane, it drags you along with it for a very long time.
A few months after I joined, the company announced solidarity contracts (contratti di solidarietà, a scheme that reduces everyone's hours instead of firing people) and early retirements: despite the important brands, things were not going great.
Publishing has always been a difficult industry, and not even the glossiest magazines are an exception.
The curious part is that, mindful of SHI (where the problems were readable in the balance sheet), I had decided to protect myself: I had obtained the previous year's "visura camerale" (the official company registry report) to understand whether the company was solid.
This is exactly why I would have had no future as an accountant: it had been of no use at all, given the scale of what was happening.

I decided not to let it get me down anyway: in exchange for a small cut in my salary, I would have free hours to devote to studying (it is exactly what solidarity contracts provide for). At work, meanwhile, I was diverted mostly onto web development for company needs: I wrote mountains of PHP code for the sites of the various magazines and for new ad hoc projects. I hated it, because it kept me from devoting myself to iOS development as much as I would have wanted (at SHI it had become my specialization), except in the little free time I had left between one exam and the next. I ended up focusing more on university than on work. And here Marco was the manager everyone would want: he always supported me in my studies, sometimes granting me more than he should have. He even let me make use of the so-called 150 hours, the extra paid leave that in Italy you can use to attend university lessons while working.
And so I reached July 2016, the defense of my master's thesis. Despite work and the commutes (as I said, I have always lived with my parents, and that meant four hours of public transport a day), I had managed to close the circle of my studies with a grade of 110/110 with honors. This time I spared nothing, thesis included. The topic: computer graphics. For once in my life I had managed to do, in the IT world, something that came close to videogames.


This time the celebration was more intense. Chiara, who for years had supported me with infinite patience in the face of my constant absences, split as my life was between study and work, was in the front row with her parents. My mother too, who had long since resumed her cycles of chemotherapy because the breast cancer had come back, came to Milan to attend the defense, together with some aunts and cousins. I dedicated the thesis to one of the cousins I grew up with, Pierantonio, who died at 33 in an accident. He was the other "scholar" of the family, the first to graduate on my mother's side, under the university "vecchio ordinamento": a role model. It was a beautiful moment.

Right after, I decided it was time for new challenges. I was no longer bound to stay in Milan: I had stayed there to be close to the university and to be able to shuttle back and forth with work when needed. So I started looking for a job again. Given my passion for videogames, and given the topic of my thesis, I applied to several companies in the sector. The result was merciless, yet another failure: many did not reply, others rejected me already upon reading my résumé. I have never understood exactly why, but I believe that my skills, combined with my age (I was thirty at the end of the master's), did not help me. So I aimed at companies looking for skills closer to those I had built up in recent years: mobile and web app development. Two contacted me without my even having sent an application. One was a big tech, which I will not name: I got halfway through the selection process and then gave up on taking the second part, which I doubt I would have passed. I was not prepared enough on algorithms and data structures, and I probably am not even now, despite the course I am writing. I had in fact already chosen the other company, the one I still work at today: lastminute.com. The selection process was not simple. Back then it involved several steps:
It was not easy. To complicate everything, my mother's condition was worsening. Something no colleague at lastminute.com knows is that, during the live coding interview, she was hospitalized, for the umpteenth time. In that period the hospitalizations for transfusions came one after another, because the illness was by then starting to win. Despite this I passed all the tests, signed the contract, and started in February 2017. lastminute.com is the company everyone would want to work at (as I have always repeated in all the posts on this site): an environment comparable to that of a FAANG, with a Swiss salary in my case (the headquarters is in Ticino).

Here I was able to go back to focusing on mobile development, helping the company migrate its native apps to React Native, and I became definitively passionate about web frontend with React (I actually fell in love with both frameworks). Here too I found Java again, after SHI, developing backend services in Spring Boot. The first months were difficult, especially on a personal level: Chiara and I went through a serious crisis right in February, the month I was starting the new job, only to find each other again in May. It was not easy to hold together the focus on work and the will to mend the relationship with her, rightly tired of seeing me only work and study. By the end of May everything seemed fine, and at the company things were going full sail.
What was not fine was my mother's health. Since March my mother had known there was nothing more to be done. Physically, apart from the constant fatigue she had carried for years, there were no other signs; I understood she was collapsing only at the end of May. I was showing her this very site I am writing on now, and in particular the "about me" page, where I had written that one day I would get tattooed again (I had not gotten new ones for a few years). It had always been a battleground between us: she stubbornly against it. I will never forget what she told me that day, leaving me speechless: "Get tattooed. Why not? If you like them, do them and don't think about it. Enjoy life". Her, always against it, telling me something like that. I understood that something, inside her, had broken: a resignation, a regret, perhaps for all the sacrifices that were now vanishing at 56, without the chance to enjoy a bit of time with my father, by then close to retirement. A few weeks later she was hospitalized, and she never came out again. She died on the night of 2 July 2017.
Despite everything, a week later I went back to work. In the following months I focused on work and on my relationship with Chiara. The year after we went to live together in Como: for both of us, the first real experience away from the family nest. Chiara, unfortunately, struggled to find work despite her effort: a degree in humanities, sometimes, becomes a boulder, as the one in computer science had been for me. That is how, at the end of 2019, she decided to sign up for the Nursing admission test, set for May 2020. It was precisely in those years that I interrupted my passion for videogames: the leap toward a family life in Como was not trivial, and between work and Chiara I had no time left to play. Besides, the rejections from the videogame companies I had sent my résumé to still stung. But in the meantime, around the corner, a bomb was ready to go off: COVID-19.
Personal ups and downs aside, my first years at lastminute.com were full of satisfaction. It was also the first place where I received salary raises. I learned a lot about aspects of software engineering that until then I had only seen at university: Agile practices, Test Driven Development, and much more. Then COVID really arrived, and it swept over us like a tsunami: even though we are a software company, we effectively sell holidays online. Not exactly the ideal business in a historical moment when people were forced to stay shut inside their homes. So began a fight for survival, which the company tried to manage in the best possible way, given the conditions. The anxiety of finding myself hunting for a job again was enormous. And yet the company made an incredible effort to save everyone, and it succeeded: many others would simply have started firing people without too many scruples. Against all predictions, we came out of COVID somehow. I fought as I could, making myself available to help in the rescue. In the meantime Chiara graduated in Nursing on schedule, and finally found a job.
In the middle of all this, in November 2020, Chiara and I decided to get a puppy: a shih tzu we named Milo. He brought enormous joy into our lives. The strain of those years spent at home defending my job was softened by his company. I still remember, when the lockdowns eased, the long walks in the park of Villa Olmo, a historic villa near Como. He was so in attached to me that I could take off his leash and run with him, free, through the meadows.

But here too fate chose to be cruel. At the beginning of 2023 Milo started to appear tired and without strength, despite his young age. After a series of checkups with several vets, we discovered he had a rare form of tumor, which was enlarging his heart. After months of attempts at treatment, in which my father gave me an incredible hand caring for him as best we could, there was nothing to be done. On 9 July 2023 we made the decision to accompany Milo over the rainbow. Many don't understand it, but losing an animal you are attached to that deeply is like losing a brother: a pain that tears your heart forever. What was supposed to be a faithful companion for the next fifteen years turned into a wound that even today has not fully healed.


It is at this point that, overwhelmed by the rush of so many difficulties in a row and looking for a bit of stability, Chiara and I did the biggest thing we had ever done: we bought a house.
After what happened to Milo, and while work, mine and Chiara's, went on, we decided precisely to buy an apartment in a town outside Como, Montorfano; since 2018 we had been renting in the center. I will not mince words: it was the biggest swindle of our lives. Being both the first in our respective families to buy a house, we had no experience. We trusted the "stories" told by the agency and by the former owner, and we ended up in a whirlwind of renovation work, inside and out, that eroded our savings well beyond every estimate. Despite this, the positive note is that with the new house my passion for videogames came back too. The town too, even though a stone's throw from Como, seems stuck in the Sixties (certainly not the initial impression, needless to say). In some ways it reminds me of my hometown, Asso: places where backwardness and the digital divide reign supreme. All of this distracted me from work, to the point of nearly making me miss what was happening in the IT world: the arrival of AI.
Throughout the first phase of AI I looked with distrust at the various OpenAI tools, at Cursor, and the others. Partly because I was distracted by what I have just told you, partly because some colleagues were already using them to produce code, with questionable results. Then, around the beginning of 2025, a former lastminute.com colleague, Andrea Bergia, suggested I take a look at Claude Code (just released) and the Anthropic models, pointing out their superiority over everything I had seen until then. There was a free trial week of Claude Code, and I tried it on one of my open source projects. I will be honest: I was shocked. I had asked the model to implement a small feature and, without any particular knowledge of prompt engineering, Sonnet 4 did exactly what I had asked it. From there I began to sense that the IT sector was again at a turning point, as had happened years before with smartphones.
It was also the reason I set out to study better how LLMs work. Not much later, at the company a pilot of enterprise licenses for Anthropic started, and I asked to take part in it: I had already sensed its potential. While the pilot went on, Anthropic released Sonnet and Opus 4.5. It was by now clear that, to use the words of Salvatore Sanfilippo on his blog, automatic programming was at the door. What required days, or even weeks of writing code, now required hours, sometimes minutes. This very article, after all, was reviewed by a "correttore di bozze" (a proofreader, a term I learned during my years at Condé Nast) that is the AI itself. I don't know whether it is more ironic or more unsettling: the tool I fear could make my profession obsolete is the same one that, right now, is helping me write that I am afraid of it.
During the pilot I tried to learn all the secrets of Claude Code and of LLMs, including writing skills and agents, and how harnesses work.
By now I haven't written big blocks of code for months, only small things, and rarely.
My daily work has shifted toward design, architecture, "connecting the dots".
It is by now evident that the IT sector, and programming in particular, is no longer what it used to be.
In less than a year the software engineer's job went from being "the safe profession for the next fifty years" to "next year, will we still be working as software engineers, or will we have turned into something else?".
Naturally the company too started asking itself questions, and this brings us to June of this year and to the "new hurricane":
lastminute.com announces its transformation into an AI powered company,
which entails the start of a round of layoffs unprecedented for the company.
And here comes the irony, the sharpest of all: only a few weeks before that announcement, I had been promoted to Principal software engineer for the customer value area.
A recognition of years of work, arriving in the very same breath as the layoffs, a title handed to me just as the ground was starting to give way beneath everyone's feet.
I will not comment on the company's choices, they are clear in the press release I linked, but I want to focus on myself. Here I am, on the threshold of forty and just promoted in a new role, for the umpteenth time immersed in a world, that of IT and software engineering, full of doubts and worries. Except this time I can no longer be merely worried: bitterness and resignation are the two emotions running through me. The bitterness of seeing those who took the right risks at the right time and now have nothing to worry about. The resignation of thinking that I will never have the stability and the certainties of the generations that came before me. The resignation of knowing that, no matter how hard I try, there is always something, around the corner, ready to destroy the plans I was making, at work as in life with Chiara. The whole thing, this time, is made worse by not having a plan B. The new big tech companies gathered under the acronym MANGO proclaim that the software engineer profession has no future; but it is not a newspaper headline that scares me, it is what I have seen with my own hands in these months. The real doubt, the one I cannot dissolve, is how autonomous these systems will become: will they get to replace me entirely, or will there still be a need for someone to guide them and "connect the dots"? I don't have an answer. Making everything more opaque is then the suspicion that part of this race is just marketing ahead of the IPOs, an overvaluation that inflates a new bubble (the so-called AI bubble, perhaps bigger than the housing one of 2008). And not being able to tell how much is real innovation and how much is hype is, perhaps, the worst part.
What is, then, the moral of this story? If you have made it this far expecting an answer to all the uncertainties I have told you about, and that today afflict us software engineers, I am sorry to have disappointed you. This is not an article written to give answers to those who read it. It is an article written for me. To remind me that, despite everything, I have gotten where I am thanks to myself, to my abilities, and to my stubbornness in never giving up. And of course I am surrounded by loved ones, Chiara ❤️ and my family above all (thank you, mom and dad ❤️), who try to help me in every way. A few great friends met along the way have always played their part too. Only time will tell me what fate has in store for me. The hope, alive, is to still be here, on another muggy Saturday afternoon, a few years from now, writing the article for my twenty, thirty, forty years of career. We'll see.
Rereading my story of the last eighteen years has, without a doubt, a beneficial effect on my mind. What these first eighteen years of career, and last eighteen of life, have taught me is that nothing goes the way we expect. No matter how hard we try to foresee everything, uncertainty is always around the corner.
And that is why we must accept the situations we find ourselves facing and try to make the best of them, even the hardest ones. Everyone walks their own road, with the means they have. Some start with a few more advantages and some with a few less, but in the end the only certainty we all share is the uncertainty of our lives.
In this post we will show how we encoded our software development lifecycle in a set of custom skills and subagents.
How I implemented a three-layer guardrail system for the AI chatbot on my portfolio website, using regex-based prompt injection detection, Llama Prompt Guard for injection classification, and an LLM-as-judge for topic relevance.