A Russian Perspective on Outsourcing

February 10, 2009
195 Views

Here is an talk with an experienced  Russian software programmer M Sitnikov, who talks of his experiences in European software outsourcing. It is a raw account of the industry from a non Indian perspective on how things are in the trenches.

Software outsourcing- A look from inside By M Sitnikov
It’s been a long while I was […]

Here is an talk with an experienced  Russian software programmer M Sitnikov, who talks of his experiences in European software outsourcing. It is a raw account of the industry from a non Indian perspective on how things are in the trenches.

    Software outsourcing- A look from inside By M Sitnikov

    It’s been a long while I was thinking to present some thoughts, facts from my software outsourcing experience both as a service provider and as an employee of a software outsourcing company.

    The attitude here will be more negative, because I saw how one can make 1000% profit on a customer project and this article is more like a small discussion, so please don’t judge the text, its layout and my English language skills too strictly.

    Software outsourcing in brief

  • There is an opinion, a company should make approximately 3000 euros/USD on each developer per month. But of course this varies from country to country depending on the flat rate price for local resources and at least number of hours in a working week.

  • Average yearly budget for 10 people team is usually estimated about 360 thousand euros (could be also 90000 dollars, it’s not the point)

    • Typical ways of cooperation:

      • Fixed time

      • Fixed cost (Offshore Development Center)

      • The fact is that in well developed regions, where there are lots of universities and qualified resources there are also lots of big players like Intel, EMC, HP, Alcatel-Lucent, Siemens, Motorola, Google: you name it. I seriously doubt that any software outsourcing company can compete with salaries/conditions offered to top level professionals by any of the giants when they come to the local market.

        Conclusion #1: It’s quite rare that a software outsourcing company can provide top resources:

          • no giant companies locally, but then it means the place doesn’t have top education facilities in the relevant (IT in this case) industry

          • if it’s a well developed region then the giants are there

              More facts/thoughts

            • To be competitive IT-outsourcing company’s personnel should grow by 25-30% annually: how else can company that produces nothing grow? The only chance to grow is to get more projects to set up more Offshore Development Centers (ODCs) and naturally increase personnel and revenue "per head", but achieving that is not easy – see Conclusion #1

              • Companies hire students, developers from other cities and regions: take into consideration Conclusion #1 and you will see that this is a natural development for solving HR problems in software outsourcing company, but:

                • Do students hired have enough education? – not always

                • Do students work full time? – not always

                • Do students provide high quality software development? – no, that takes time

                • Do students provide end customer with the quality he paid for? – no, he didn’t pay for students, but for software professionals

              • Software outsourcing is not a very profitable business: really, if you don’t produce anything you can market, sell and expand your sales then your business cannot be very profitable, well, unless you have one big customer, or you are a major software outsourcing company in the region, but anyway, your profit is a matter of personnel growth.

                • Merges and acquisitions are typical trends: if you are a business owner of a software outsourcing company, would you sell your company for a good lump sum of money? – hell yes! One cannot increase company operations by increasing amount of personnel permanently and the business owner cares about money, not only progress of its company, but:

                  • What happens if a software company is sold? – the buyer may loose some employees, the customers may loose some key software developers, architects and even project managers (they are supporting a reliable communication and mutual understanding between the customer and the team)

                • Venture capitals are not invested into low-innovative companies: why would a venture capital be interested to invest in an outsourcing company that has no value in terms of future development, in terms of innovation or new products? – could be for some internal reasons, but unlikely:

                  • Business owners are not interested in company development, but in company profitability: outsourcing companies in many cases use their "partner" companies registered in offshore zones or their mother companies. It’s obvious – that helps to avoid paying local taxes, but:

                    • If all the income comes to an offshore company would the owner be interested to develop its local company? – no, why? This company should be working to make money and it’s not the object for investments. The key is to press the company top management: bring more clients, make more projects, increase turnover, increase amount of personnel, show me better figures next year!

                      Conclusion #2: Software outsourcing business is not a very profitable business with lots of competitors. Companies tend to increase their turnover. Owners tend to make more money out of their outsourcing company no matter whether they sell it or get projects for another 10 people. Offshore companies do not care much about their onshore offices, where actual teams are situated, the goal is to drive as much money to offshore accounts as possible.

                        • What’s inside a software outsourcing company

                            • In fact your software outsourcing partner is more sales oriented than customer oriented: every company has sales director and sales managers, their income partly (in many cases it’s the main part) depends on the commission. Sales guys try to sell: they maybe doing it very hard (and sometimes horribly annoying) – they need to make money. And their typical attitude towards their technical colleagues maybe: I did my job, now you do yours! I don’t have time, because I am the manager and you are (just) a technical guy: Of course, a company may have account managers, those who would take the customer afterwards, but:

                              • Why to spend money on hiring additionally account managers? Let the sales people do the job!

                              • Why to spend money on hiring additionally account managers? Let the project managers do the job!

                              • We have account managers, but why to spend so much money on them – they should take care of several accounts at once! What? They say that 4 accounts is the total maximum to do the work good? Hell no, take 8 and if at least one can handle that we’ll have a case, give him some bonus and nail the others!

                            • Sales people may have a significant lack of technical knowledge: who is your sales person? What education does it have? In many cases technical people don’t have fluent English to communicate with the customer appropriately and the sales person lacks real technical knowledge (of course, that person is more humanitarian, that’s why the language knowledge is better). And this leads to internal conflicts that you may sniff only by some side effects: have you ever got a mail from your business contact in a software outsourcing company stating something like, "we’ll develop your warehouse management system in Assembler, because it will be the fastest ever!", or something like, "no, we suggest C# instead of using .NET", or anything else: really strange and even funny. This may be the first ring to you – be prepared there is a conflict between the sales guy and the development team. Programmers have a good sense of humor, so they were joking and the sales person didn’t understand that, because it knows nothing about IT and (what is even worse) doesn’t want to learn, because "that’s your job, not mine!".

                              • Eager of making super revenues by hiring students and cheaper labor: here we refer to companies hiring students and developers from other regions for your projects. A good example: so, a monthly salary for a professional software developer is let’s say 1000$, this is a person with at least 2-3 years of relevant experience, having extensive knowledge in technology etc etc (let’s not put a very high demands here), and a student is not a person who can demand such big money while still studying in his university: Well, a student has no experience in software development, no experience working in business environment, no knowledge what professional coding or SVN is: and so on and so on, but:

                                • A student would work for 100$/month, because he needs experience and 100$/month is better than nothing especially comparing to student’s scholarship

                                  • The company knows what to do too (get 1000% profit!):

                                    • Get a strong project manager to work with the customer

                                    • Get a strong software architect to train the student

                                    • Press all in the team to provide deliveries on time

                                  • The Customer is also happy though: he knows that top company professionals will be working for his project, he can see highly qualified project manager and software architect and he doesn’t know that other 5-10 members of the team are students: The Customer will learn about that after the first release, but the project manager will find answers and will make the Customer feel good again:

                                    Conclusion #3: Quoting Amanda Laire, "Don’t trust a pretty face:", whether it’s a company image or nice shapes of a cute and "intelligent" sales manager. There is always a way for a software outsourcing company to make 1000% profit on you, you won’t even mention that.

                                    • High stuff circulation: imagine you are a software developer, or a project manager, or a software architect working in such conditions:

                                      • Sales guys pretend they rule the World

                                      • You have to work under pressure and utilize low all resources that you receive (also low quality, because high qualify resources circulate between new customers)

                                      • You work overtime and don’t get real bonuses (see Conclusion #2)

                                      • At a certain point you realize that a project ends and another starts and it’s pretty much the same like before:

                                      • You are young, you know you can do more, you know you can earn more

                                        What would you do? – you will leave the company. How much this circulation can be? Sometimes it’s up to 30-40 or even more percent!. And in many case 70% of company employees are willing to change there job, but 10% of them are scare, because they are used to the community and environment, 20% demand more than they cost, 20% change it to a similar company or don’t know exactly what they want and 10% do leave the company and find a job in a World leading brand company or in some other, really better place.

                                        • Low level of working conditions for personnel

                                          • How can you decrease expenses on personnel, which your main asset? – you rent a cheap office space and place 15 people in a 30 sq. meters room (it’s real: 11 people around perimeter and 4 people in the center of the room)

                                          • You are liberal to your employees and let them come late and leave late, have a couple of days off on sick leave, but you don’t want to spend money for extra medical insurance for all 200 people in your company – it’s too much.

                                          • What happens to those who can find another job (that highly qualified people the company promised will be working for you!) – they leave to a better place, and they do right.

                                        • Lack of motivation for technical personnel: sales guys get a certain percentage from the project they get or a customer they sell resources to, but what would the others get? Well, they may get bonuses or may not, after all they can’t see perspectives of their growth, whether professional or administrative: developer can grow to architect, but if it’s a good architect then top management would rather increase his salary than makes him a project manager, and salary of an architect cannot be much higher than salary of a project manager etc etc: And of course even if salaries in the company is a big secret people will get know everything one day.

                                          • Tendency that employees turn into free lancers when possible:

                                            • You are a highly qualified professional that grew up from a developer to a software architect

                                            • You can communicate to customers and manage projects, but you are not promoted to a project manager

                                            • You know you can handle many projects at once

                                            • You know that your work is sold for 20-30 euros/hour and your salary is 5-8 euros/hour, but you don’t know why

                                            • Your customer tells you in emails that he would not mind working with you in the future also

                                            • You start visiting freelancers web sites and found your own customer

                                            • You are tired of sitting back to back of your colleague

                                            • You are tired to pay for medical services every time you need to visit a doctor

                                              • You are making 50% of your salary doing freelance projects, you are young, you believe in yourself:

                                                • What would you do? – you will leave the company and start working as a freelancer developing your own customer network charging them 10-15 euros/hour instead of 20-25 – everybody is happy.

                                            • Very strong social connections between employees: people working in IT companies are usually people with higher education, people who learnt a lot, know a lot and are able to do a lot. In software outsourcing companies you can find 50, 100, 200 and even more people working in the same premises. And thus people form their own unique community, they share their thoughts, hobbies, views, they form smaller and larger groups of friends and sometimes this is something that keeps that 10%+20%+20% of personnel continue working in the same company for years: But this can’t last long either.

                                              Conclusion #4: If you are willing to outsource software development, the best case for you would be to use personal connections, to know for sure what is happening in the company of your outsourcing partner, maybe even to own shares of that company. Otherwise try to build your own outsourcing team via freelancers if your business conditions allow that. This doesn’t mean you can’t use services of high profile or low profile software outsourcing companies, but: read all above – it’s there in a bigger or smaller amount, in one way or other as it’s part of the modern outsourcing business: or maybe it’s not as this text is nothing, but my personal opinion.