Software outsourcing services: behind the scenes

Vyacheslav Vanyulin, CEO of Auriga Inc., a custom software development services provider, has recently been interviewed by Adam Sage from ModernCTO, a podcast platform where CTOs, Lead Developers, and rising tech leaders discuss various topics on business, management, and modern technologies. The discussion covered choosing the right software outsourcing company, building relationships with clients, and dealing with labor market issues. We are presenting the extended transcript of the interview. You can watch the podcast using the link.

Vyacheslav, could you tell us more about yourself?

My name is Vyacheslav Vanyulin, and I am the CEO of Auriga Inc., a custom software development services company. My main field of interest is system-level and embedded software development, and I’ve been around for more than 25 years already.

I graduated from the Moscow Engineering and Physics Institute and worked towards my Ph.D. in the Motorola Microprocessor System Laboratory there.

Since 2000, when I joined Auriga, I have worked in the positions of Senior Pre-Sales Manager, Technical Account Manager, Program Manager, Project Manager, Team Leader, and Software Engineer. In 2008, I was appointed as the Director of Engineering, and then Chief Technology & Delivery Officer and Chief Quality Officer, and was raised to General Manager in 2014. In 2019, I became the CEO of Auriga.

As a developer, I know all the ins and outs of embedded development and testing. Most of my projects involved firmware development for microprocessors. I have been an engineer, a team lead, the head of the R&D department, and one of the company’s top managers at the same time. When I make any decision, I can address it such that it can be handled by one of my engineers and, at the same time, have some sort of perspective as a CEO that needs to think about the company’s interests. I know our customer’s pains and challenges, as I have spent a lot of time talking to them and working on various projects.

As far as I know, this year, Auriga is celebrating its 30th anniversary. So, how did it all start?

Auriga was founded in 1990. At first, we were just a business partner of Hewlett Packard on their enterprise and Unix-related projects. We also took an active part in the Packard Initiative, which introduced Russian engineers’ solid skills and background to the U. S. before the India outsourcing debut. This year marks our 30th anniversary, and we are doing pretty well. From a spin-off serving a few US-based companies, Auriga became an international company with a truly global customer base, 600+ engineers, seven development centers in Europe and Russia, and over 100 projects annually.

What does Auriga do?

We still have strong expertise in the embedded and system-level areas, especially in MedTech. Business apps development and business processes automation is our second focus. And, of course, we are no strangers to new technologies like machine learning, cloud computing, and data science. Our clients are more like partners for us, so when they grow and follow new ideas – new visions – we are there to help them to fulfill their dreams and solve the challenges on the way. We primarily work with North American and European customers: medical device manufactures, automobile and construction tools manufacturers, telecom and power management companies, and semiconductor manufacturers.

You mentioned MedTech. Isn’t it a regulated industry? How do you meet the requirements while being an external provider? 

That’s right – software for medical devices must be developed and tested following regulatory standards, and it’s a tough market to enter. Providers need to continuously demonstrate a high level of embedded expertise and reliability. Auriga certified its Quality Management System and deployed several testing labs with our customers. Working for medical device manufacturers is both challenging and rewarding – typically, to win these projects, the vendor should share the same values and be ready to go far beyond the contractual obligations to earn customers’ trust and respect. For example, during COVID-19, one of our customers was very concerned about stopping its labs, jeopardizing its long-term project efforts. Though this customer had to stop activities of its personnel on-site, our engineers took the lead, and all activities went ahead on schedule. Several years ago, our team doubled its efforts and worked hard to cut down release time for the new product from the planned four years to just two years.

There are many related terms – outsourcing, outstaffing, nearshoring, offshoring. How do you define your business model?

Auriga is an outsourcing services company, which means customers come to us experiencing a lack of internal knowledge or staff issues. Challenges they face may vary – from legacy systems maintenance without experts or documentation, to increasing volume of routine tasks hindering new business growth. The most common reasons to search for an external provider include temporary demand for some unique specialists, tricky tasks unresolved by in-house engineers, need to balance costs, and the need to increase global footprint by hiring teams in different time zone locations are.

I would say that outstaffing is the simplest service offered – the provider rents out its engineers. It’s a good yet limited story for me. It can be a start of a long and mutually beneficial story of the partnership, but many providers are just stuck at this level. This model is for those customers who know exactly what they want and who are eager to manage external engineers as their own.

Auriga is striving to convert each of its customers into partners. We recognize our developers and testers as valuable add-ons to customer teams. We offer not the heads nor the rates, but the service – a team with the team lead, architectural proposal, and project support at every stage.  We have a lot of experience in managing geographically distributed teams in various locations, and even in managing teams of third-party providers for our customers.  As we perform different projects for multiple customers, we can always bring in additional experts or implement practices or solutions we learned in other projects. And for cautious customers, we have developed trial-up periods and ramp-ups to start the relationship. Altogether, our approach goes far beyond plain outstaffing.

Nearshoring and offshoring are just defined by the proximity to your provider. Simply put, if you are located on the same continent, it’s nearshoring; if you are far – it is offshoring. There would be no changes in quality or time with a reputable provider, but there could be differences in rates and travel expenses.

Talking money. There’s a widespread stereotype that outsourcing means cheap rates… 

Outsourcing is more cost-effective than in-house development, but it’s not “cheap-cheap.” You can save a lot on infrastructure and utilities costs; you can also save on hourly rates depending on the location of the augmentation team. When India entered the market, and then China tried to conquer it, this stereotype went live. Both countries boomed with vast labor pools, supported with short-term bootcamp programs that contributed to lower rates. Some companies promote their service with appealing claims, such as that the customer would reduce costs by 72%. I wouldn’t say it’s impossible; I would say we have some customers who have been deeply disappointed in their former providers. Outsourcing is an excellent idea to approach your project budgeting, but it should be done with caution. And choosing the right provider is critical.

What is the most cost-savvy option in outsourcing?

Changes. Every change you apply to your product increases the cost. So, if you have a smaller project with defined specifications, you’ll be on the safe side with a fixed price. If the project is relatively large or you don’t have detailed requirements – implement Agile with short sprints and meet-ups to keep abreast of the development process. If you trust your provider, it will act in your best interest and won’t squander your money on unnecessary alterations. The right provider will share the best practices you might adopt and implement across your teams, as one of our customers did.

Ideal providers are like unicorns. Everybody had heard of them, but no one seems to have found one. Is Auriga a unicorn? 

No, Auriga is not a unicorn. Generally speaking, there is no such thing as one ideal provider that fits all needs. And it is hard to choose one at present, as there are so many competing companies in the industry with professionally made websites and elaborate marketing. When you try to compare them based on the information they publish on the internet, it’s very easy to feel lost and confused – similar claims, messages, services, and skillsets make it hard to differentiate one from another. Yet, the customer needs only one and, preferably, one that will not only fulfill the contract but has the potential to add value to these relations. I’d say there are some metrics you need to check during the evaluation – the size of the company, its values, its reputation, and the team skillset. Of course, there are more, but these are strongly connected to the project’s success, and the best part – the customer can verify them.

Ok, let’s start with the size of the provider. I thought it’s straightforward – the larger, the better, is it not? 

Not always. The big boys can quickly scale up, they have more resources in place, and they can offer nice deals. If you face a large project that needs more than 100+ engineers for a start, you need the leaders. But the flip side is apparent – overly complicated communications, too much administrative staff, and not enough interest in you and your challenges (unless you’re big enough to spark the interest). On the other side of the spectrum are the small start-ups and niche companies. With them, you can be sure that you’ll get superior quality in terms of their primary expertise and direct communications. Usually, they care about the reputation, so they will walk the extra mile to tend to customer’s needs. But smaller companies means fewer resources, so that they can handle only smaller projects.

Where is Auriga on this range? How do you position yourself? 

We are the right size for almost any project, except for larger-scale projects involving more than 100 engineers. We have performed smaller pilot projects for 3–5 developers and dedicated teams with more than 70 engineers. Auriga has just over 600 people in total. We have enough resources to scale up and down, and maintain a healthy retention rate and balanced team structure. And yet, we are not large enough to ignore our customers or to withhold timely communications. All our teams follow Agile unless the customer wants to implement Waterfall, and we are more flexible in adopting customers’ processes on the project.

We are talking about the resources available at the company, but it is the labor market that calls the shots. Your engineers are located primarily in Russia and Europe. How would you describe the situation there? 

Well, I must agree – the labor market is crazy. The volume of STEM graduates is not enough. And any project manager would agree when I say that freshers need extensive on-the-job training. We recognized the challenge quite early and founded our own Training Center. It’s been running for 15 years already, delivering hundreds of hours yearly not only to our engineers but to all interested. Sharing knowledge is one of our values.

As I mentioned earlier, Russian engineers are among the most talented in problem-solving and in algorithmic thinking – this is demonstrated each year in the ACM programming contest. Russia is in 4th place worldwide by the number of STEM graduates according to the World Economic Forum. We are just 7000 graduates behind the USA. China and India are second and first, but the quality of the graduates is incomparable. The last WEF Future of jobs research, performed in 2020, proved the point – Russia demonstrates notably higher levels of the business relevance in our education and in the overall supply of business-relevant skills.

I agree that education is the team member’s main characteristic I would check before choosing my outsourcing provider. Is it enough to hire the best senior engineers to succeed with the project? 

If you just hire seniors and do not give them enough challenges to keep their brilliant minds occupied, both you and they end up frustrated. And if they catch stardom disease, you will find out how hard it can be to manage a team. When we talk about outsourcing, we are talking about teams. And every team should have a healthy balanced structure and an influential leader to move forward. So, first things first – when choosing the provider, be sure they can build the right team for your project. The right team means enough seniors to generate ideas and face challenges, standard engineers to deal with more routine tasks, some juniors to grow and enhance the team in the future when you need a scale-up – and a team leader to keep them all in place.

And here comes the tricky part. Education and coding or testing tools knowledge – the so-called hard skills – are verified pretty quickly: check the CV, ask some questions, and give some tests during the interview. But there are also so-called “soft skills” that are equally important. Do team engineers culturally fit your expectations? Are the communications transparent and results-oriented? Are they flexible and possess teamwork skills?

Providers committed to the project’s success will spend a notable amount of time hiring, testing, and training candidates in soft skills. I would highly recommend asking your provider about it beforehand.

You mentioned earlier that you would also recommend digging into the reputation and values of the company. I agree with the reputation part, but how have values become so crucial in the evaluation process? 

Reputation is one of the keystones. Analysts’ reports and industry ratings are not enough, though. There are many reputable recommendation platforms right now, and it’s worth your time looking for the right provider there. Usually, they conduct independent interviews with the customers to verify their ratings. Clutch.co is one of them; there are also goodfirms.co and other services. I agree that checking references and online reviews is simply common sense.

Values come into play when you are looking for a long-time provider you can trust and, at the end of the day, call your partner. Not all in-house employers appreciate the idea of adding some external engineers onboard. Shared values and resembling corporate culture can help establish a cooperative environment and loosen the tension. But checking the values stated on the website is not enough. The most important thing is how the company puts them into daily practice. The only way to verify this is to read through the Corporate Social Responsibility docs and compare facts and initiatives there to your own. Some analytical bodies evaluate CSR as a part of their ranking processes – for example, IAOP (International Association of Outsourcing Professionals). IAOP’s Global Outsourcing 100 List of the best providers worldwide has been around since 2008. Each year, a judging committee selects the 100 best outsourcing providers based on several criteria, and CSR is among them. Auriga’s CSR gets high scores every year, and we put much effort into being sustainable, support diversity and integrity.

Outsourcing, in some ways, is a controversial practice. Some blame vendors for giving the jobs abroad, some expect less quality, others fear losing control over processes or IP fraud. Yet, talking to you, I become convinced it is just a tool. 

You got it. Outsourcing practices are not good or bad by themselves. You can use it to boost your efficiency, getting your product developed on time, and be agile and cost-effective. And you can end up with bad code, missed deadlines, exceeding your budget. When almost everybody was stuck in their homes in lockdowns during the COVID-19 pandemic, outsourcing providers were the ones who helped their customers through those tough times due to their experience with managing workloads remotely.

The trick is to find the provider that will be your guide to the light side. Our engineers don’t steal jobs – there are enough jobs in IT, and demand heavily outstrips resources. Auriga’s quality is something we take pride in, and our customers acknowledge it again and again in their references. Moreover, we offer various options for those clients that are concerned about monitoring the project’s success. And we are constantly improving our cybersecurity measures using the SecurityScoreCard platform, a SaaS cyber risk ranking service recognized by Gartner, as a reference.

Ok, I got it – you just need to find the right provider to make your dreams come true. Any inspiring stories? 

Unfortunately, we are working following strict NDAs, and we respect our customer’s rights. I could tell you about the customer who found himself stuck with several dozens of customized desktop solutions written on an almost extinct programming language with no experts and scattered documentation. Auriga’s help migrated them to a new, cloud-based solution, significantly increasing their market share and client base.

Supported by our resources, one of our clients, initially a smaller start-up, were able to enhance their product to the point they were acquired by a very prominent company, a leader in their market segment.

Another Auriga customer released their product two years ahead of schedule (and the competitor) to win the new market.

Wrapping up – what’s the main difference Auriga can offer? 

Well, it’s simple. Our message says it’s all: software services delivered. We deliver.