Believe it or not, but what we hear very often in initial conversations with potential customers is this: “The way you do it, we haven’t seen it anywhere before.”. And that was and is meant as a compliment….
Content overview:
- Hierarchical structures in software service provider countries create distrust towards developers and discourage direct interaction with customers, while a lack of expertise and communication problems on the part of project managers can cause misunderstandings.
- There are also significant differences in testing culture, for example Unit Testing is common in development in Germany and Nordic countries, but not in some Asian cultures, which is often influenced by customer preferences.
- GoInsourcing values creating productive conditions for developers; yet some service providers lack engagement due to distant client relationships, which underlines the importance of intensive interaction with the client to foster better project understanding and engagement.
Bad experience with remote software developers
When it comes to the development of a software solution, or the delivery of a software developer, then there are many, yes a great many providers from, by now, all corners of the earth. And that’s a good thing, because this software development work from Morocco, Vietnam, Uzbekistan or Brazil – to name just a few – often offers individuals the only opportunity to earn a decent living without leaving their own country.
This is also a reason for us not to be friends of relocation….
When we get into conversations with customers or potential customers, we almost always talk about experiences with similar service providers. Many of the bad experiences can be generalized.
You probably know the situation: Every day you receive offers by cold email via Linkedin or, even more brazenly, via Whatsapp, promising everything: “We are specialists in the development of XY… we create your product quickly and cheaply…”
Actually, you’re always annoyed by it, but the day comes when a new job comes in and your team is already stretched to the limit. So you say to yourself: “you can give it a try”. And that’s when – not always, of course! – the trouble begins.
We will look at some of the reasons for bad experiences here, and please feel free to write to me if you have experienced anything else.
Lost in project management
Most countries of origin for software service providers are very hierarchical (whether in Asia or Eastern Europe). Therefore, the developers there are, per se, distrusted by their “employers”. Direct contact between developer and client is not desired. A relationship of trust could develop that would strengthen the developer’s position. This must not happen, because the individual developer is supposed to remain a cog in order to be quickly replaceable.
Internally, and towards the client, it is argued that the developers should work in peace and without interruption from the client. That’s why there’s always a project manager between you and the developer (which one actually?). Some readers will certainly have moaned now …
In the worst and most common cases, the project manager is not a specialist himself, has no technical understanding, promises everything, is slow to communicate and plays the Telephone Game. This means that what the customer asks for is guaranteed not to be delivered. Above all, as a customer you never know which developer is working on your project.
In this form of collaboration, it is indeed the case that different developers work on your project over and over again. This is not noticeable. Simply the developer who has the capacity at the moment is used. The consequences are clear: a long development time, fluctuating code quality and, above all, a very minimal loyalty of the developers to the project. The result is often the legendary “spaghetti code”.
By the way, the alternative is neither black nor white, but grey. Because we also use project managers, preferably with a technical background. However, our developers also have direct contact with the customer. This increases the engagement and ensures that most of our developers stay with us for a very long time (permanently 🙂; which is atypical in our industry.
Testing is overrated
We love working internationally. With customers and developers from all over the world. That’s how we see the differences in coding culture. In Germany, for example, it is part of good style to comment on code, while elsewhere it’s “good code explains itself”.
What is even more important is the different testing culture. Unit testing is an essential standard of development in the German and Nordic regions. This is not the case in the Asian (yes, I know, that’s a bit of a generalization) coding culture. The reason is simple. The majority of customers, for example Indian service providers, are from the US and they are not prepared to pay for the increased effort involved in unit testing.
Loyalty does not exist
What is clear to us at GoInsourcing is not self-evident: The developer generates the added value, so we create framework conditions for him that allow him to work productively and with commitment.
This is not the case with the poorer development service providers. Instead of developing a deep understanding of the project through direct contact with the client, distance and detachment are cultivated. This results in little or no identification with one’s own work.
What are your experiences, what is important to you when working with external partners?
Feel free to write to me: sebastian.texter@goinsourcing.com