“We’re having so many problems outsourcing to devs outside the Silicon Valley… how’s Italy?”
This is what the CTO of Silicon Valley star told me once.
Outsourcing to India works like this: you either pay very little money for shitty services, or you pay a reasonable amount of money for decent services. The 90s idea that India can be both cheap as junk food and high quality as French cuisine, has proven to be completely ridiculous.
Software development requires knowledge, mental strength, fantasy and initiative. These are qualities you certainly won’t find in demotivated people.
The question “how’s Italy” is more complex than one might think. There are a number of reasons a company should or should not outsource to Italian developers and teams, it’s all about understanding what you can accept and what not.
I will talk only about the things I know, so since Italy is not a compact, uniform country, I will refer to the north, north/east area.
I’m starting with this simply because this is one of the main reasons people outsource.
Italian developers are pricey if you compare them with other popular outsourcing locations, like India or eastern Europe countries. Unfortunately the costs are just partly related to the cost of goods or the average retribution for this kind of career.
If you’re reading this from the United States, you might be shocked to find out software development/engineering is generally not a very well paid job over here. It offers a number of opportunities, more than most careers, but the salaries are medium-to-low. With that said, though, the overall gross expense is higher than one would expect, and the problem is taxation.
An auto mechanic in Tennessee has a gross salary similar to an Italian software engineer, but the American net income is almost 1/4 more (very rough calculation).
So if you’re considering outsourcing from the US to Italy, you have to be ready to pay salaries that are not the cheapest, but you should keep in mind that with a reasonable salary you can definitely hire the best around.
Doh. This is probably the main reason I would suggest you to outsource to an independent company rather than opening your own branch.
Bureaucracy in Italy is… overwhelming, there’s a number of cavils for every damn thing. Health, office safety, contracts, tax deadlines, overtime… everything requires lots of paperwork and time. You will need a good professional to assist you on these matters.
Open ended employment contracts used to be a life sentence. Things changed a bit lately, but still firing someone can be a big problem. On the other hand, contractors are not a big thing anymore, so finding short term help can be another problem. However part time and temporary contracts are available.
This is one of the things I kept hearing over and over about the software Eldorado, San Francisco: employees are not loyal, they suddenly leave for a better bid, and they do this continuously. If this a plague for you, in my honest opinion, you should consider having an Italian team. I’m not talking about an Italian company doing your job, but having your very own branch.
The sense of responsibility, the need to share the company vision and get things done until things are actually done is humongous. Involve the team, keep them high, motivated, reasonably retributed and they won’t leave for money. In years doing this job, I’ve rarely seen someone leaving for a better bid, but remember you need to pay attention to a number of other things (see work ethics) to make it happen.
Simply put: the education system itself is not going to systematically provide what a high profile technology company would require, assuming it’s considering to outsource valuable tasks (as opposed to go-to-India tasks). This is not, at any level an accusation to professors who really try their best (well, most of them), but a systemic failure and I believe people working in the education field would agree. It’s not just the level of the education itself, but the quality of the evaluation of the acquired proficiencies that fails consistently, so the risk is to find people with the same degree but completely different abilities. I would consider the education level “average” and noticeably uneven on the territory, but we’re not looking for average professionals, are we?
A junior with an average interest in software development could be an inconvenient hire, unless you want to invest time and resources in training. As always in life, it’s the passion that makes a great professional, but my feeling is in Italy it is even more relevant.
It’s perfectly fine to hire junior developers, but the interview is more than essential to understand who you’re talking to, and a good experienced leader is mandatory.
A good point about Italian universities is a decent connection with the open source world and the use of open technologies is absolutely common. Not saying it’s the geek paradise, but geeks can definitely find an ecosystem that is compatible with their needs and this helps a lot the spontaneous creation of real coders communities. Remember Silicon Valleys rock stars were geeks before it was cool. These communities is where one should be looking for talents, and trust me, there are some of the most brilliant engineers-to-be you’ll ever meet among them.
I generally found front end web developers to be more up-to-date with modern technologies and patterns, while back end developers look a bit duller.
Fact. since long before the startup galore, most Italian developers have been dev-ops because a majority of Italian software companies are minuscule, and they simply cannot afford a developer that is “just a developer”.
To be completely honest, you could range from a bachelor degree that can barely write his own resume to a total guru with a high school diploma a specialization in computer science. Eyes open.
I decided to split skills and proficiencies for a reason, and the skill part is more complex than the knowledge of things.
The best quality you will find in Italian software developers is creativity. Now this strict connection between Italians and creativity is both a stereotype and -trust me- a matter of fact.
In software/web development, creativity is the ability to craft alternative, innovative, more efficient or more elegant solutions to problems. In a context where the future becomes past in the blink of an eye, this quality turns a decent company into a visionary.
“Oh you Italians! (hearts) (hearts)” stop that, we’re not talking about Italian shoes. Jesus.
Italian creativity applied to the software industry has two faces.
One becomes the ability to evolve naturally, without a centralized propulsion. It is what I call compulsive improvement.
That propulsion has to be fed with controlled freedom if you want to make good use of it, but the advantages can be enormous.
The other one becomes the traditional ability of Italians to “always land on their feet” like cats, which translates into the ability to “get things working at all costs”.
While this is a fantastic ability when the project is messed up and you customer looks like Gordon Ramsey, I would be very careful not to abuse it. Landing on our feet does not mean landing graciously like a freaking ballerina.
To conclude, learn to take advantage of Italian creativity, and your projects will evolve to spectacular, unexpected conclusions. Guaranteed.
If you ignore the common place of the Italian living with the parents until the age of 35 (plot twist: it’s not a common place, it’s the truth for many people), you’ll soon discover Italians are pretty autonomous on work and like it more that way. In a country that praises the small/micro companies every damn day because it’s the actual core of the economy, every person is taught to be company. Give an employee a project and will most likely care for it as a puppy and feel responsible for. As a counter effect, she will want to have word on where that project is going.
Another interesting thing that I’ve noticed across a multitude of Italian software / web engineers is we tend to work on software like “watchmakers” if we’re allowed to do so (ie. no overworking, no anxiety). We like to work on minute things, sometimes for the sole sake of elegance. Balancing vision and craftmanship can be hard, and the predominant quality is definitely the latter. Even though this is great, just make sure we don’t get bogged down in some stupid academic exercise!
Also, in opposition to watchmakers, we’re not as good woodsmen: we can chop a forest if it’s needed (see “always land on their feet”) but it’s going to have a major number of quality downsides.
As last item I’d like to underline with pleasure how the resistance to learn new technologies and paradigms is generally very low if not inexistent. Training is a rare event in many Italian software companies, so it’s generally accepted with enthusiasm.
We’re now talking specifically of the scenario where you hire people for your company overseas. Now, given that all people are different and Italy has 60 million inhabitants, let me tell you what I know. It is a common misbelief that Italians do not work hard, on the contrary I can proudly state (still concerning the area I know well) Italians do work very hard. Of course, behind every stereotype there’s a bit of truth (see drawbacks). Also, sense of responsibility is another great quality in Italian software professionals.
From a general point of view, I think you should expect distinguished work ethics from Italian employees, but there’s a price to pay: company ethics.
And company ethics works as a great motivation. In the IT field, motivation is fairly different already from other jobs because the best software engineers and developers chose this career for that kind of passion that joins work hours and spare time in a continuous self improvement and to be honest, given what we said so far this is the only type of hire you want to do.
To motivate the passionate Italian IT professional you must provide things that are often quite rare in Italian companies, which I summarize in:
- Be transparent. Share with the company all the information that can be shared, and don’t tell lies you won’t be able to support. Italians would consider it a lack of respect, and respect is still a thing. Most Italians are instinctively very respectful with the top management / owners, but if they feel the management is not respectful enough with the employees, the problems they can generate are immense
- Keep anxiety levels down. Pressure is fine, but anxiety can be a strike out
- Plan careers. “Where do you see yourself in the company in 3/5 years?” is a question a few hear over here.
- Unfair retribution. Even though there’s always been a tendency to be “fair” in the retribution and the laws kinda endorse it, you should definitely pay the value an employee introduces in the company. It might be a shock and generate a bit of drama at first because people are not used to it, but politicized salaries create much more damages over time. Use 1 to achieve 4
- Identify key roles. Horizontal companies, Swedish style, can also work, but authoritative leaders work way better
Provide these 5 things, and you will have addressed all the major issues most Italian software companies seem unable to solve.
Provide ethic and get ethic back with interest. Don’t do it, and you will pay it dearly. Unfortunately Italians take lack of ethic or respect in a drastic personal way.
To conclude, you can get a superior kind of commitment and dedication from Italian engineers, but keep in mind it’s not to be taken for granted.
Here’s a number of things to be very well aware of.
- If you’re used to a fluid time sheet for office hours, I would suggest you to reconsider. From north to south, the concept of time… well, is relative. This doesn’t mean people will not work a consistent amount of time during the day, but you should be aware that if you’re loose on the entrance / exit schedules, you will quickly find yourself with even looser punctuality.
- The problem is not how hard Italians work, but how efficient we are. The answer is: not much, in certain conditions. It’s not uncommon to see us running here and there like headless chickens, trying to do 10 things at the same time, achieving nothing. Draw a clear path, set up mid term objectives and you will get the best from your employees. Italian developers can be pretty chaotic when the goal is not visible.
- If anxiety is unavoidable, get ready for drama. Italian drama is not something you are used to. We will rarely confront the top management directly, but this is even worse because the environment becomes poisonous pretty quickly and for everyone.
- We live in a country that overprotected employees for too long. Now things changed a lot, but this caused a number of negative effects as well. For these reasons, Italians are extremely defensive on the rights that are left, even if some of them are remarkably nonsense. I wouldn’t fight that war, anytime.
- Whining. Get used to it, it’s a daily ritual.
Being Italian myself makes me not the best judge of Italians, but working with international companies provided me a better point of view. I believe some of the things I pointed out in this article are true for many people, not necessarily Italians, but they definitely describe us well, or at least, they describe the pool of people I had the pleasure to work, hang out and discuss with.
It puzzles me why Italy hasn’t become a potential target for international hires in the IT field. The idea that the bureaucracy is the only problem is disrespectful to foreign companies. To me, the keyword is uncertainty. In bureaucracy, costs, education, expectations. For this reason, getting started can be harsh, complicated, but when a good team is established and the path is clear enough, the delivered quality is always remarkable.