Preface
How these pages came about – I’m not a writer, and certainly not a super IT expert, but I’d at least like to write some guidelines with examples that might help others in the IT world. Based on my experience, which dates back to when I finished my degree in Computer Engineering in 2002, up until today, working with various companies from small to large on projects across different sectors, the Italian IT landscape I’ve encountered consists of people who definitely know how to tackle problems and find solutions. However, to be honest, every time I faced a problem or needed to find a solution, I never found anything published on Italian websites. In fact, it was always on foreign websites. A few times, I even found answers or potential solutions from some Italians who wrote in English, but always on international platforms. And sadly, of the many senior people I’ve met, very few were truly senior. I was lucky to learn and grow from those few, while most were only senior by age. Unfortunately, like in many other sectors, there are plenty of “half-baked” professionals who studied something entirely different from IT but, due to a lack of job opportunities in their original field and the high demand in the IT industry, ended up taking courses or were brought on board as interns. There’s a misconception that after three to six months of training in a programming language and earning a certification, you’re ready to go, and that simply being on a project for a few years will automatically make you “senior.” The problem is that on these projects, there’s hardly anyone to teach you, or if there are, they’re very few and often doing something else.
As I mentioned, this won’t only be about technical parts with examples, but also what I think are the technicalities that are often mangled with the creation of “IT English” terms that don’t really exist. In my opinion, when we communicate with foreigners, using these “buzzwords” doesn’t make a good impression. In this translation, I have maintained the core meaning of the original text while adapting phrases to sound natural in English, including slang or idiomatic expressions where applicable. Let me know if you’d like any adjustments!
Version Control Software
What are we talking about?
The programs that every developer, whether working in a team or independently, must use: SVN, Git, Mercurial. These tools, rightly so, have their own commands for managing the code versioning process. Specifically, I’m referring to Git, which is the most commonly used and the one I always end up using on projects. But regardless of its use, I’m always faced with these “Itanglish” terms that I don’t know whether to laugh or cry about.
These are the terms that have now become commonplace in all the projects I’ve been on:
Pull – used to fetch the contents from the repository, has become Pullare. Unfortunately, if you search this term online, it translates to: “Verb used to describe the action of smoking, especially when it comes to joints. From this comes the noun pullo, which refers to a drag from a cigarette, vape, etc.” It goes without saying that pullo is also used (a dialectal term, which in some areas of Italy refers to a young chicken or chick), and ironically, every time I hear it, I add “with potatoes,” which gets a laugh from the team, but for me, it’s disheartening.
Merge – used to merge changes into the dev branch, has become Mergiare, and as a result, there’s also Mergiato.
Commit – used to add changes, has become Committare, and thus, we get Committato.
Push – used to send the commit to the repositories, has become Pushare or even Pusho, which, just hearing it, makes me think of something else.
So, what’s the problem, you might ask? Well, the English terms are there, and we should just use those because, by constantly twisting them, they end up becoming the common usage even though they’re wrong. In fact, many times I have to stop and explain because I feel compelled to use them, but I can’t get the message across that the correct terms need to be used. It’s true that the Italian language is constantly evolving, and new terms and words can emerge, but we are “professionals” in IT, not experts in onomastics (a word I didn’t even know until now, meaning “The creation of new words, neologisms”).
Using the right terms helps convey the kind of professional you are, but, as I said, unfortunately, improvisation reigns.
The Interface, the Unknown
I bet that if I ask a developer what an interface is, they would be able to answer me or at least go online to look up the meaning, what it’s for, and when to use it. But what I don’t understand is why, in all the projects I’ve worked on, for 100 classes, I end up with 100 interfaces. I’ve even come across duplicate interfaces where the only difference was the name of the class and the interface, but the methods were the same. I’ve asked several times about the reason behind this, and here are some of the responses I’ve received:
-
“To follow a classification system for dividing classes and interfaces, the code is cleaner and we divide the responsibilities” (Apparently, eating spicy food at night makes you have bad dreams).
-
“We’ve always done it this way” (You’ve always done it like Tafazzi—self-destructive behavior ).
-
“There are various schools of thought…” (Studying philosophy is harmful; I have friends who are philosophers “no offense,” and they’re in bad shape mentally. Sure, my engineer friends have their quirks too, but on average, they’re more tolerable).




