>>I’ll tell you a story of when we were developing a product here States-side. We worked with one very gifted development team and we put all of our eggs into that basket.
They were doing great work for us but eventually, there was a business event where they left.
-------
"Business event" aka budget cuts? Benefit cuts? Change in leadership? Bad leadership?
People in the US often do not leave if things stay the status quo, managed well, and are given appropriate accolades for their performance. Absurd way to deflect blame and justify cutting fair wages
The level of double-speak is off the charts. Also "It is very expensive to spread intellectual property and know-how amongst the number of US-based resources."
It gets even better than that: "unfortunately, the economic benefits [of outsourcing to Argentina] started to fail when the Argentine economy started to improve."
> We are in Ukraine now, where the talent pool is abundant and economic conditions are favorable.
They are probably routing for the Russo-Ukrainian War to continue as long as possible. Makes for more "favorable" conditions too. The worst event for them would be if Ukraine joined the EU, with all that pesky labor protection laws.
It’s a little mind blowing to see an atomic version of how business interests end up favoring outcomes that are negative for an entire country. If many of these small businesses end up dependent on low-wages, political instability, etc., it doesn’t seem far fetched to imagine that in aggregate they start institutionalizing lobbying efforts to maintain these circumstances.
This introduces possible outcomes like failed states, and counter measures like authoritarian strongmen to maintain modicums of stability. This can then lead to greater, unintended geopolitical consequences. And it all stems from a bunch of businesses trying to shave a few dollars off of wages...
Not getting any richer. It's just there is inflation, but the exchange rate for exporting services is fixed by the gov at a low valuation (90) vs the actual dollar on the street (160)
Two points:
The war is happening in the Russian speaking part of Ukraine. To that point I'll put everything I have and double down with debt that a westerner would not be able to tell which folks are "Russian" and which are "Ukrainian" in this conflict.
Civilians are getting the brunt of it on both sides. Don't think for a second that Ukrainian forces avoid hitting civilian targets in some display of galantry. It's a brotherly war and nobody wants it.
This reminds me of someone I was talking with about their growing, modestly successful startup. They were bragging to me about how they didn't even have to worry about paying benefits, healthcare, retirement, etc. to their contractors in Mexico.
I said something like "Yuck, who needs healthcare and basic life standards" and he sincerely replied "Exactly!"
Business is full of people like this. If it's not full blown sociopathy then it's definitely a grievous lack of awareness, turning humans into an inhumane abstraction.
I don’t know why people are taking this at all seriously. It’s a poorly-disguised advert and SEO bait. “Look at how awful and scary outsourcing can be. See all the years of effort we have put into overcoming these obstacles to become the experts you need to outsource successfully.” Complete with a call to action that feeds into their sales pipeline at the bottom. It was likely written for pennies by somebody who had a list of keywords to repeat for SEO.
The unstated information behind this bit is probably more important to understanding than all the rest. It might be wages or budgets or leadership or something else, but if it was innocuous they likely would have not been so vague.
Summary: "we failed on outsourcing so many times that the costs exceeded any possible cost savings, even taking into account future projections."
Imagine how much it cost them to build up and tear down development teams six times. Not just in real costs of contracts and such, but also the logistical costs of training the new teams, building the relationships, finding faults, correcting errors, determining alternatives, knowledge transfers, etc... Not to mention opportunity costs of all the time spent.
Effective outsourcing is paying AWS/GCP or Heroku for whatever they can provide. Not trying to turn an expensive employee into a cheap one.
Your summary is quite good. Indeed, we failed a lot. Please note that we used offshoring providers for all locations. And only after successful work on one of our products, we decided to build our own office and hire our team in Ukraine
Wow, they listed hourly rates for China and Argentina but abruptly drop it for India, lol!
The article speaks against my experience and working alongside some talented people in Argentina, China, India and surprised they didn't list it - The Philippines.
The hourly rates also don't seem likely for what "they're" paying them, but more what the end client is. I don't see $35/hr common in China for a BPO/offshore provider, see that as what is being billed to the end customer.
And at that point, $35, 45, 60/hr dev rates for Dynamics CRM and Salesforce, might as well employ locally. You're not saving much, if at all. Geez.
But the cherry on top:
"A funny fact about offshoring to Ukraine is that we, as Americans, wake up when the sun is up. But when I came to the office, no one was there. They are not getting there until 11 AM – 11:30 AM.
(Editor comment: it is not always the case, in fact, the majority of Ukrainian developers prefer starting their day at 9 AM – 11 AM)"
Lol, what is this. What. It's simply hilarious this is even there at all.
As someone who used to freelance for US companies from Slovenia ... damn right I started working at 11am or lter. You expect me to stay available for meetings until your 4pm (my midnight), I sure as heck won’t start coding at 9am lol
12pm to 10pm is a perfectly fine workday with lots of overlap for communication
The hourly rates are quite meaningless anyway. If you look for the cheapest price, the offshore providers will give you fresh grads who muddle through the work with little guidance and supervision. This is especially true for clients who aren't perceived to be particularly important in the long term.
It's easy enough to see what the money gets you in Ukraine, since developers there are paid in USD or EUR anyway. And the outsourcing company takes a big cut of what you pay.
This is completely false in my experience. Ukraine is among the top countries for IT talent, end of story. USSR education (until recently) coupled with very low COL make it a top destination. That's going to decline as most Ukr devs move out of the country though.
The author idiotically projected one office's habits in Kiev to all Ukrainian technologists. Absurd.
I've worked with some phenomenal talent in Kiev. I've also had people who would over-engineer the simplest solution in comical ways, that had to be let go. Not unlike engineers everywhere.
I gave a talented engineer, who was also a relatively fresh graduate, a task to build a framework that would convert pieces of xml state that rendered in a non-web GUI into a React representation.
His solution ended up using as many new features as possible, seemingly for the sake of using the new features, but beyond that, it was incomprehensibly complex. Most importantly, it didn't work. It felt like he used the project as an excuse to try new tech and pad his resume.
Wow... this brought back memories. A decade ago I was on a (small) team that took over a project from another company. Our client had paid the other company to build it but wasn't entirely satisfied with the results. The product worked but it was a resource hog, very difficult to use, very expensive for what it did, and the other company wanted increasingly larger amounts of money to maintain it and add new features.
The entire project was a giant mess of technologies, to the point it looked like every dev who was on it used it to try out some random technology for personal curiosity. I mean... it used multiple RDBMSs, multiple programming languages, multiple formats for transporting information over the network. The set-up/build process was so complicated and fragile. It was insane, this project could have been done for probably 1/4th of the cost of less.
Project management - it's extraordinarily necessary when you have devs who think they are at work to personally entertain themselves rather than build the best product.
We shared only our own experience. We never outsourced to the Philippines that is why it is not there. We mentioned these rates because we were the end customer of IT outsourcing services. Only in Ukraine we set up our office and started hiring people directly
As a CTO at my company, I’ve done a lot of investigating of offshoring general cost saving for software development and my conclusions are that you can save ~50% in development costs by hiring a remote/distributed team outside SFBA/superstar cities and offering people a truly remote and autonomous job that doesn’t demand them being on their computers 9-5 and treats them like adults. We have a long track record of hiring extremely motivated and talented developers by offering them this basic non monetary compensation (freedom and trust lol). No need to worry about time zones or cultural differences, just measure folks on output and tell them it’s fine if they want to spend their afternoon with their kids and work mornings and evenings or whatever.
Outsourcing looks attractive only to bean counters. There are prohibitive issues that take full-time competent management, even to break even. Such as time zones, language, currency and banking, export rules, contracts, internet delays and outages, cultural conflicts.
We even had politics interrupt development once (on the daily conference call, he said "We're having a revolution outside my window. I have to go.")
In my experience, while Indian developers are much cheaper they seem to have a much different work ethic to many other countries.
It seems like their approach is more to finish the task as quickly as possible, with little care to the quality. Obviously this works for a lot of products, but if you're looking for a high quality, maintainable, or safety critical product then I've found India isn't the best place to go for that.
If you're looking for a product to get out the door asap and don't care about the quality of the code and/or UX, then India may be fine.
My limited experience has been that you get what you pay for. I have worked with some really top tier developers based in India, but they were quite expensive (relatively).
I suspect YMMV, I'm currently working with a very good frontend developer and he takes a very proactive role. Tasks are finished properly and he gives his own input / vision on how to approach certain features / problems.
That does seem to show up often online, where you can see blog posts, forums, youtube videos, etc. you'll extremely commonly see indian developers asking for the author to practically do their entire project, or ask for a tutorial on doing their entire project.
This comes around a lot when working with contractors. They are signing up for hourly work for an hourly rate, and generally don't care if what they are executing against is directionally correct. If you say build X, they will go off and build X and the success or failure of that engagement is largely determined by how well and clearly you defined X.
A lot of organizations would benefit from being more clear of what needs to be developed, even on this side of the world.
I probably lose 1/4 of my time to unclear specs and things that PMs assume I would know. Why they think I know anything about the industry is another question.
No one in their right mind would put an engineer on a factory line because said engineer built the machine. Yet people are completely ok handing off tasks to developers and asking them to do the mechanical part of the job.
In both cases you're only extracting half the value from that person that you could be.
That back and forth with your PM isn't wasted time, it's you digging in to better understand, and in doing so are given the opportunity to identify and make suggestions due to the expertise you have that the PM doesn't. I'll go one further. Your company should endeavor to put you face to face with the "customer" making the request if it's practically possible for exactly the same reason, and your PM shouldn't be involved at all outside of setting the priority for the work itself. This is of course ideal circumstances and there are always reasons why the reality can't match exactly, but in general this is what you should be endeavoring to do.
>So bill rates went up and all the reasons, or at least one of the large reasons, why people do this went away. We were not seeing the savings, an economic benefit that we once benefited from.
I wouldn't normally comment about the grammar in an article... but who wrote this?
>25 is the lowest average developer age.
Huh? What does that even mean?
I think they outsourced writing this article, too. ;)
Sometimes companies will spend more trying to not pay fair wages than they'd spend just paying fair wages. I've seen it with software outsourcing numerous times-- they outsource at great logistic expense and then get crap that has to be rewritten, yet still consider it a win because the wages were lower.
To add something similar: I've seen non-tech companies that have no ability to evaluate or mentor tech staff, hire 3-4 junior people at the lowest rate they can find... they all struggle and have no one to ask, tons of incomplete or barely working projects... The workload could be done by 1 competent mid-level dev... costing half what they're paying for those people. But the company is happy because they got a good deal and didn't have to pay "ridiculous" tech salaries.
We had a project last April where the lead dev was getting a lot of abuse from management about "Why isn't it done yet, I thought the outsourcer already did all this". I've never wanted to scream at someone more in my entire employment history. It was taking so long precisely because the outsourcer did all of it, and he was having to spend all his time undoing it. It actively cost more money and dev time than if they had never hired them in the first place.
Yeah, I get the feeling a lot of times that outsourcing is popular with dysfunctional companies because it shifts a portion of the labor, and thus the resources to managerial staff in the rich country, and the remainder is spent on the actual talent.
If you're a US based manager, this is great. You suddenly become that much more valuable to your employer, even though the customer will lose out. Plus, you don't have to deal with that smart chick down the hall who knows how to code and makes you look really dumb and lazy in meetings getting more glory with the bosses.
The more bureaucratic the org and removed from customers the success criteria are, the more likely it'll get outsourced.
This is probably similar as self-hosting some services vs letting someone else deal with it. Hosting something like Elasticsearch requires a lot of knowledge and understanding. If you run it yourself it's free! So you end up doing it yourself, but really you'll need to spend engineering hours on it. Engineers being one of the most expensive expense in a business, you've suddenly not really saved much, and you'd have been better off having Elastic do it for you, and you could have started using it in less than a week rather than months.
Your entire staff would never ever leave at once UNLESS you really messed up big.
Thinking anything otherwise is ridiculous nonsense.
This specifically reminds me of when a company I worked for fired my two developers by making it so they couldn't clock in. They didn't have the respect to tell them to their faces or to tell me who they reported to!
In the 00s, we made a good living stepping in for U.S. clients to fix boondoggles from primarily U.S. consultancies and India consultancies. Through that experience, we reached by and large the same regional conclusions, and think they hold largely true today.
Canada is not mentioned in the article but should be, as well as Nigeria, Ghana, and the like.
I recommend figure out first how to be productive and secure with local work from home, then how to remain productive with multi-timezone distributed teams, and only then consider near- and off- shoring but in a dedicated not staff-aug model.
Thank you for your comments. We shared only own our experience so talked about countries where we outsourced our software development. To date, we have two offices - in Dallas and Ukraine. For years, we worked remotely so we have in place all systems and processed. We are also a product company so we decided to set up our own office. But for a few years, we used a dedicated team model
I've been in both sides of the table: ran a dev agency in Central Europe, as well as hired developers from various places in the world.
In my experience, wages of experienced developers don't vary so much geographically, because outsourcing is a global market. Dev/agency in Ukraine, Germany, China or Argentina know what kind of rates they can get based on the skillset involved.
These rates are much lower than in superstar cities, that's basic supply and demand and CoL calculation.
But companies chasing extra low rates will end up with subpar team and these are the clients and agencies that give outsourcing a bad name - be it India, Nigeria or Slovenia.
That's not to say rates are flat. Specialized shops/devs, people involved with prominent open source projects and those that invest in deeper relationships with the clients (and delivering higher/noncomiditized value) can charge a premium, while body shops on UpWork will bid lower amounts.
Outsourcing, like many other things in busines can be great IF you know what you're doing.
In my professional experience, country really doesn't matter.
What we found to be most effective is clear cut punishments for poor code quality.
We have a itemized list of issues that if we find, the contract would be penalized in points.
Items like OWASP Top 10 count as '10 points' and items like abusing null types are 3 points.
If the contractors exceed more than 15 points of issues in a month we get reimbursed a percentage of the contract. If they exceed (contractMonths * 20 points) worth of issues then the contract is cancelled. Having the 'eject button' is something we've recently added and not had to use yet, thankfully.
Combining this with interviewing the contractors before the work begins has helped reduce defects and having to refactor the code that is build by them.
Overall contractors are a massive time sink, our benchmarks indicate you will need 3 FTEs per 8 contractors to coordinate everything and review the work that has been completed. The quality is usually not the same no matter how much you try.
Wow, smart approach! I can tell you that one of our clients recently hired an external tech consultant to evaluate the code and make sure it is done right. I guess it is a good approach too.
Wow - nearly unreadable with the giant cookie prompt. The web is practically broken in so many respects nowadays, yet it's at the center of so much of what we do.
my CEO/cofounder is addicted to outsourcing to India. He has eschewed even considering making any first hires in the US because he would rather hire a boutique contractor from an India firm. I think this boils down to him seeing engineers as fungible legos, so the huge pay difference is just a discount on certain bricks.
it's made worse by the fact that a founding team member left the project, so now he is wanting to hire yet another contractor so we don't "fall behind."
i've done my part to explain the mythical man month to him but it's fallen on deaf ears. you'd think the founding engineer of the company would be considered the expert in software project management, but apparently having an MBA trumps that.
yeah that's my sense too, but it's a hard thing to reckon with given that my vested stake is so large already, and the company is well beyond MVP as well.
> However, we believe our Ascendix story will help you simplify, accelerate offshoring, and become a valuable learning experience and effective guide for your company.
> So, if you are looking for reliable outsourcing software development companies with solid expertise and large experience in building high-quality digital solutions, feel free to contact us and we will be glad to provide you with a free estimate of your project development requirements.
My company did some outsourcing. It was terrible, and not as cheap as they thought.
They tried to replace a team of 8 US personnel who supported a main workflow application. The vendor wanted to replace us with 19 resources. I think they finally settled for 12. Also, a few of those resources had to be on-shore to do the PRD support because of restrictions in the financial and PII data. The resources continuously cycle through those contract jobs so they don't retain very much expert knowledge on the system.
At least I got a different job at the same company. It's too bad they threw away my expertise and I basically had to start my career all over again (it was obscure/rare tech).
Demonizing offshoring, nearshoring or reducing it to a cost saving strategy is ... terrible way of seeing it. It is about talent and talented people. And talent is everywhere. I say this because our company does nearshoring for the US from Argentina and Chile to US companies. We don't try to be the lowest price, we try to be as good as we can. If it saves our client's money, much better. But our goal is not to save our clients money: our goal is to deliver as much value as we can. We focus on frontend: we have 2 master classes a week about topics like debugging, communication, teamwork, data viz, javascript... We have english lessons to improve communication skills. We try to give back contributing to frontend libraries by fixing bugs on those libraries and sponsoring their devs. We have created open source tools like https://grid.layoutit.com/. We put our souls on this and we are very fortunate our clients trust us and value us. We are not the only ones doing this and doing it as good as we can. The base of business relationships is about mutual benefit.
Thanks for sharing it. We follow quite the same best practices both for our Dallas and Ukrainian offices. And yes, we are about the value as well. But usually, companies outsource either to cut their costs or to reach talent that is not available locally. That was the reason why we outsourced.
I have worked remotely each day for the last 3 years with both programmers and testers at one of the largest IT consulting firms in Ukraine. I have no perspective on the cost of doing so, but I do have some on the team work and quality of outsourcing over there.
Like everywhere else in the world there is a shortage of high quality professionals in Ukraine. And specially now that more and more companies are outsourcing their work over there.
My team has had abysmal programmers & testers come in (who we simply had removed from the team as a result) all the way up to fantasticly professional and capable people. It might take some time, and may cost you above the going rate, but there are certainly gems to be found over there.
The main problem has been the culture. In our experience there is a lot of rigid hierarchy over there, that in the first few years kept team members from speaking their minds.
Junior developers would never speak their minds, and blindly do what their seniors would tell them to do. And similarly, the seniors would never take any input from anyone who wasn't either a senior, pm/po or architect.
And lets not get into the sexism that is deeply rooted in Ukrainian society and culture.
This is all very different from what we are used to here in northen Europe, as each team member is expected to speak their mind completely (put professionally ofc) so as to leave no stone unturned.
Once a decision has been made this way, the team can move onto something actionable as a unified front without unmentioned trepidation arrising later on (or such is the thinking at least).
It has taken us three years of moving people in and out of the teams, figuring out the best composition of what people to have together and where. And even bringing outside contractors in to replace people within the contracting firm we use.
So it is no silver bullet, but it can be done. I do wonder though if all that time and effort, with the cost incurred, would have been better spent simply hiring locally and building the best team we could here.
The problem that almost nobody mentions with hiring devs in a poor country:
Programmers are well paid in comparison with general population. That attracts people that have no talent/love for the domain. People that are in it only for the money. The bigger the difference in earnings compared with the general population, the more of this you'll get.
I live in such a country. Offerings of 'mentorship' and training (in three months or so) for good money are plenty. They make a lot of 'programmers' that know almost nothing and you'll have a good chance of getting those if you outsource blindly (not if you verify them, ask them for a university diploma on the domain and so on).
Quite frankly from experiences of both me and my friends - many companies might be ok with remote work, but few are ok with fully asynchronous workflows (like in many open-source projects). That alone is a blocker for distributed work beyond a couple time zones.
The dissonance is weird: they all but admit that they were just looking for cheap wages all along (see why they left Argentina, for example), but then they come up with bullshit ("spreading the intellectual property", lol) just to avoid saying "we couldn't afford more devs at local rates".
But as someone who's not typically privy to this sort of reasoning, it's a fairly good read and I appreciate them for posting it.
They were doing great work for us but eventually, there was a business event where they left.
-------
"Business event" aka budget cuts? Benefit cuts? Change in leadership? Bad leadership?
People in the US often do not leave if things stay the status quo, managed well, and are given appropriate accolades for their performance. Absurd way to deflect blame and justify cutting fair wages