Work Experience and Poor Quality Code

Before dedicating myself heart and soul to entrepreneurship, like most people—except those who obviously own a family business—I sent out many resumes.

During those years, I also spent time around companies with significant turnovers: several million euros a year. In particular, I remember one, which I cannot name for obvious reasons, that worked with public contracts.

Setting aside the absurd requests that did nothing but take time away from the actual work, the modus operandi resembled an assembly line. Tight deadlines, overlapping projects, and a lot—so much—messy code. This is exactly what made me decide to leave and consider other job offers. I remember opening code where it took days just to understand which part was delegated to do what. I repeat: we are talking about companies with million-euro turnovers!

Photo of a busy software development office with multiple programmers working on complex code, showi

A question naturally arises:

Why does someone who writes clean code—high quality and documented—earn a tenth of what these chaotic entities earn?

If we think about it for a moment, this is far from a trivial question, because it starts from an illogical assumption... We are suggesting that those who work better earn less, and those who work worse earn more 🤔

The problem of public procurement and the waste of resources

Unfortunately, turnover does not always depend on the quality of the work performed; more often, it depends on political pressure, connections, "little favors" and, to be fair, branding.
After all, the complaints from the Court of Auditors and journalistic analyses discussing the widespread phenomenon of "millions wasted" in Italian public IT are no secret.

Duplication and Lack of Reuse of Public Software

There are no single emblematic cases concerning one specific piece of software, but rather a generalized system of procurement and inefficiency. First and foremost is the lack of software reuse as a source of systematic waste.

For years (and in part still today), the main problem has been the lack of a reuse obligation. Every Italian entity (Ministries, Regions, Municipalities, Local Health Authorities) developed internally or commissioned from external suppliers "custom-made" software for needs that were often identical or very similar (e.g., electronic protocol management, official notice boards, online demographic services).

The Court of Auditors has repeatedly pointed out that this duplication has led to waste amounting to hundreds of millions of euros per year. Instead of adopting existing software that was already functional and paid for with public funds, the preference was to start everything from scratch, paying again for development, maintenance, and licenses.

Image depicting a government office with stacks of documents and multiple software development proje

That being said, even a child would be shrewd enough to believe that behind this waste of money lie the usual "favors among cronies"; otherwise, it would be impossible to explain how they can believe in spending "20,000 dollars for a hammer and 30,000 dollars for a toilet seat cover," as David Levinson's father said in Independence Day.

Inflated prices for work that, if entrusted to companies outside this circle, would probably cost a tenth, perhaps even less.

But let us return to us mere mortals.

Is it better for me to write garbage quickly or focus on code quality and take more time?

Well, I am of the opinion that writing quality code pays off more in the long run. Writing things in a rush that lack structure, stylistic elegance, and organization can make them difficult to maintain or even lead to a breaking point, where the entire poorly organized system can cause financial damage due to service outages.

Don't you remember the Covid period when the INPS website—due to a few extra connections—stopped working entirely? Even PornHub mocked us... "If you want, we can lend you our servers."

I have worked on and still need to finish the Yooth project. We tested it with 2.5 million connections in 5 minutes... It didn't even flinch. How do you explain that a traffic increase of even just a few tens of thousands of simultaneous connections leveled the INPS portal?

High-tech server room with racks of servers and network equipment, showing robust infrastructure cap

Does it occur to no one that perhaps there is a fundamental problem at the base?

I stand for quality

In my opinion, quality pays off in the long run. If you deliver a system that is easy to maintain—something where, if the client calls you to integrate a new feature, you can get it up and running in one or two working days if it's complex, or even in a few hours if it's simple; something that will never leave them stranded or cause them problems—that client will never leave you. In fact, they will become your best source of word-of-mouth referrals.

Whenever the opportunity arises, they will be happy to share your contact information because they will be certain it makes them look good.

The value of a senior consultant in the Italian and European market

As for the price... It certainly depends on the working days.
In Italy, a Senior Software Engineer earns 350 euros + VAT per working day. Yet in Italy, those who hear these figures claim: "350 euros + VAT a day? Are we crazy?".

Let's clarify this aspect as well.

We are not talking about some 15-year-old kid who has been writing code for two years. We are talking about a professional capable of delivering any project proposed to them, who knows which architectures to use for every single scenario and is able to orchestrate development teams because they have spent perhaps 30 years constantly challenging themselves and raising the bar.

To be honest, Italy is one of the most affordable countries in Europe in this regard. In England, the same role is paid between 500 and 900 pounds per day. In France? From 500 to 900 euros per day. Want to look at Germany? From 1,000 to 1,600 euros per day, and even more if the project is particularly complex.

You pay a Junior 100 euros a day (again, speaking of gross costs), but on complex projects they will likely only cause damage or fail to make any headway. The project would probably land with poor quality code after a year and a half of work instead of in 3 months.

At this point, the scenario and the best course of action should be clear.
But be careful! It is not my intention to discredit the Junior consultant, but it is only right that they gain experience before requesting these fees.

The Importance of Human Expertise and the Limits of Artificial Intelligence

Those of my generation come from a path where AI didn't exist, and anyone who thinks that having AI means you can do everything even as a Junior is doubly foolish. AI is useful if you know the subject very well and it speeds up your code writing, but it does not replace reasoning based on knowledge of infrastructure and best practices. Replacing the knowledge of a Senior consultant with AI can lead to irreparable damage because it's not enough to ask the AI: "What should I activate on Google Cloud to do this?". The AI will likely respond with the most logical context, but one that might not fit the scenario at all, generating exorbitant costs for the client company. And when the client receives a bill from Google for 300,000 euros (there have been cases) when they could have spent only 1,000 if they had relied on a prepared Consultant, there will be little that can be done. Google provided the service and the company must pay.

And here we come to the biggest cultural problem: we are raising generations convinced that technology replaces competence. It is a fatal mistake!

This is why I continue to believe that Artificial Intelligence is an excellent ally, but it is far from replacing the preparation and contextual understanding of a skilled human who can rely on intuition as well as knowledge.

AI will probably cause irreparable damage to new generations. They will replace the pleasure of opening a dictionary with a question to ChatGPT; they will no longer savor the joy of reading a great book. In 40 years, we will find ourselves in a world where important decisions are no longer made by humans but by Claude, Gemini, ChatGPT and their ilk. Aseptic decisions, but certainly more sensible—by that point—than those of a herd of ignorant people who will ask ChatGPT even how to kiss a girl. Unless she, too, has been replaced by a robot.

Final reflections on the ethical and conscious use of technology

Make no mistake, this is not animosity toward technology! I love technology, but its use must be ethical and conscious; otherwise, humanity—which since the dawn of time has progressed at exponential rates—will find its horizontal asymptote and then enter an irremediable "programmed" decline.