There's outsourcing and there's outsourcing. There may be fewer companies trying to build internal applications using contractors on another continent, but it seems like more companies are getting rid of data center operations in favor of services like AWS.
Smaller companies doing this (and possibly some big ones) are essentially outsourcing "Ops" by using "cloud" providers.
The number of people that think somehow using AWS means you no longer need Ops staff is amazing. In a bad way. How often does "we can't afford our own Ops so we use AWS/Azure/etc" come up as a reason to accept the associated vendor lock in with a given provider?
there are ops and there are ops... are you speaking to ops regarding managing the hardware itself, or ops re the applications you are running on the hardware? Cloud definitely doesn't remove the latter. Unless your company runs on just a database with no app code.
It depends upon what you use your ops staff for that can mean different things and how you're structured across a service lifecycle. For example, WhatsApp had no operations engineers that were dedicated - everyone was an operations engineer that was writing the software by helping keep it alive. This to me is the intent for the devops organizational style - your developers have full visibility and responsibility into seeing their code through the entire cycle of existence and can quickly fix and prevent problems better than split teams. While most software developers tend to be terrible operations engineers and vice versa, I'm quite sure that well-written software makes operations work far, far easier and thus makes O&S much cheaper as a result.
Also, a lot of companies opt to use Heroku first then migrate to basic ol' AWS once that gets far too expensive for them and may hire an operations engineer or two to replace the cost and to help them scale better with capital.
NoOps in a very literal sense being used to describe tech operations is something I never think I'll see anyone take seriously and that can scale.
>That's not really outsourcing. That's shifting from capital expenses to operating expenses
The "capital (depreciation) vs operating" is only talking about hardware. Having in-house IT employees to install new servers, run new cabling, change tapes for backups, etc, is not a capital expense. Migrating to AWS can shift the FTEs from XYZ company's payroll to Amazon's payroll. Presumably, Amazon's engineers can do IT admin operations in a more cost-efficient manner. That's "outsourcing."
Yes, there would still be in-house employees as "AWS admins" but overall, there should be a net-reduction of FTEs doing commodity-IT grunt work.
Why outsource when you can insource instead? Thanks to lobbying both parties support ever increasing numbers of H-1B visas. You can even get the departing developers to train their replacements ;<(.
I don't know if you're trolling, but in this case H-1Bs are being used to outsource: large consulting companies obtain H-1Bs for their (stereotypically Indian) employees, bring the employees into the US for 3-6 months to learn how to do the job, then send them back to India, from where they complete the job remotely, and where they can of course be paid much less due to the lower prevailing wages/cost of life.
Insourcing is what is happening at some large global Fortune 500 companies. Essentially this is doing away with H-1B visas and establishing your own IT center offshore or rather on a different shore than your HQ. Massive money savings by doing this.
The way this should operate for software development is to have people at or near HQ that are the key roles - software architecture, project managers, requirements analysts and software development leads or managers. Then at your Asia branch (India most likely) you would staff up managers, software developers, etc. in a center where they can deliver things that are tightly aligned to your companies strategy instead of aligning to some legal contract.
In software terms: insourcing is a tightly coupled mutually beneficial interface, outsourcing is going through a facade owned by two legal teams.
It is not just you, the article is completely unreadable for me as well. It's not just small font, it's also the line spacing and paragraph spaces that are off. I had to copy-paste it to a text editor to read.
In Europe, it makes a lot less sense as developer salaries are likely half of that in the US.
Even in western countries like Finland, Denmark, and Austria, mid-level developers and other technically inclined can expect to make 1500-4000euros/month. Compare that to US developer salaries and you can see why.
Most of the time there are more employer's contribution in Europe compared to US. Depending on the local law, you have to pay for social healthcare, retirement, jobless benefits... At the end of the day, the difference of cost for the employer is less than the difference in paycheck would make you believe.
The numbers he mentioned are gross salaries, not net salaries. The things you mentioned are already paid by the difference (the highest income tax bracket here is 52%). You would expect the gross income to be much higher.
A FTSE 100 company I was working for has outsourced all their back end operations and is not stopping any time soon. 90% offshore, 10% onshore (legacy employees).
This is exactly what I wanted to ask. The article only mentions things like "a company did so and so" etc. Other than big companies like Netflix closing down their in house data center operations, which has been in the news lately and companies like Uber running entirely off Salesforce, I've not heard of major decline in IT outsourcing activities.
I could never image to work for a company that works for companies. Doing good work is rarely honoured or even noticed. And who cares. Good, that even non-tech people start to understand. How long did it take.
Some of the very best workplaces are IT contractors. Generally there are limits to hourly invoicing, so the pay ranges are quite limited compared to product companies. Thus, in order to attract top talent the companies simply have to be nice places to work at. Also, hourly invoicing means sane working hours.
Then again, some of the contracting agencies are probably among the worst places, too, employing people with limited choices. Just need to identify the good ones.
For internal systems they are cost centers, since there's no revenue associated with them, even if they create wealth. Don't mix accounting and economics.
Well, both this label was always meaningless (not "outdated", as this would imply it was ever worth something), and all parts of a company are expected to create wealth.
The reframing of the discussion as about competitive advantage is a good one.
right, but then so does support - by making sure that your customers are happy and therefore recommend your brand and become repeat customers. so do your cleaners - by making the workplace a tidier building so that your other staff are more productive. every team ultimately is there to "facilitate" another team to work better and make more money.
Elaborating: both better software and better support can be competitive advantages.
Better cleaning, not so much - it's just a cost/requirement of doing business .
Some companies don't consider their software or developers to be sources of competitive advantage, and you should try to avoid those if your goal is to work on cool stuff and have better chances of making more money. Some people do like the challenge of maximizing operational efficiency and might get a good job that way, but it's harder and fraught with politics.
I think what you are showing is that generally accepted accounting practices may not be as revealing about the business as we would like. Operations that make the numbers look better may in fact harm your business.
I don't think this is news, but it seems to often be ignored.
Everything is a cost center, since costs must always be allocated. In this case, we're talking about something being only a cost center, since there's no revenue center associated to it.
If you stop calling it "cost center" and decide to call it "pure awesomeness ninja center" won't make a difference, people will just attribute the same meaning to the new word.
On your point on competitiveness, I completely agree, just like HR having awesome hiring and retention policies can do miracles for a company, even if it's just a cost center.
Legal too, for any major corporation legal is just a cost center, but one that routinely saves the company from total obliteration.
Being a cost center or a revenue center has no relation to the relevance of the people involved.
While developers create software assets and therefore create wealth, its important, as an individual developer, to work on assets that have a higher multiplier of profits.
Working for an insurance company on an internal system that helps agents sell and manage policies reduces costs by eliminating assistant and clerk positions and streamlining the process to save time. The development team working on such a project is working on reducing costs. This type of project is about lowering the floor (to increase profits, the more space between the floor and the ceiling the more profit).
A development team working on a software product that is sold is focused on adding as value to the product so that the company can charge more for the product, increasing sales and profits. This type of project is about raising the ceiling.
Ideally you want to be raising the ceiling, not lowering the floor. You can only lower the floor until you're on the ground (you can only reduce your costs/expenses to zero). If a company is focused on lowering the floor (reducing costs), they are interested and focused on removing YOU too (you're a cost). If a company is focused on raising the ceiling (increasing value and sales), they are more likely to see money spent on software development as an investment and are focused on making you more productive so you can add more value.
Work on a project that raises the ceiling not lowers the floor.
But selling software to others is usually to allow them to save money, they are lowering their ceiling and might approach the bottom some day. And then there is competition. When you have a lot of it it won't be possible to charge any amount and someone might say that from now on you are going to focus on the low end of the market which means less focus on new advanced features.
For internal systems it is usually very hard to stop using them after a while and there is also often a lot of things to develop in the systems. That means you are still contributing to the company. Stopping all development of internal systems might be very expensive.
I wish I had the link, but I remember reading an article years ago (maybe 7 or 8 years ago?) titled (roughly) "Don't outsource your software development", focusing mainly on Walmart. The article described a project at Walmart where they had their software developers actually go to stores and work the cash registers for a while to develop the kind of empathy and understanding of a job to design a good system.
While Walmart labor practices definitely get a bad rap (not necessarily undeserved), I found this story very encouraging. It's kind of ironic, but having developers work the cash registers actually suggests that these developers have a very high status in the business - they are not viewed as glorified typists, or even as technically talented but limited people where it comes to business. They are viewed as people who need to understand business processes deeply and who have the autonomy and authority to act on that understanding. And from what I understand, Walmart did rise to prominence at least in part on the effectiveness of its IT systems (which enabled more efficient supply chains, in particular).
This was a long time ago (and the WSJ article certainly acknowledges that some companies have been aware of this for a long time). Personally, it took me a long time to understand how software outsourcing could ever be anything other than a disaster, and I slowly came to realize that this is because I worked in the jobs that hadn't been outsourced, that required a lot of business context.
Even then, it's been pretty clear to me at times that decision makers higher up on the org chart really don't understand what I do. Or, more cynically, you could say they absolutely do understand it, but are aware that it would take a few years for the hidden costs of their decision to catch up with them, by which point they've made their numbers and can use it to move up another rung (ie., if a highly competent software developer who truly understands the business has built robust, well documented, well tested systems, that person could be replaced with someone more limited in ability and business understanding, and it could actually be a few years before critical systems no longer effectively support the business).
Actually in my experience (in the EU) they still outsource everything they can, and outsource 90%+ of everything they cannot outsource. And they put a shiny new remedy instance in between to "help".
And then they wonder, when they have to push out new releases/features, why no one got the capacity and why only half of the features work - half the time (returning maybe confidential customer data of others customers, ohh).
But then it's the "moral duty" (management words...) of the remaining "local" teams to work 20/24 7/7 for a month to try to salvage what can be salvaged.
55 comments
[ 3.3 ms ] story [ 126 ms ] threadThat's not really outsourcing. That's shifting from capital expenses to operating expenses which has tax and cash flow advantages.
The number of people that think somehow using AWS means you no longer need Ops staff is amazing. In a bad way. How often does "we can't afford our own Ops so we use AWS/Azure/etc" come up as a reason to accept the associated vendor lock in with a given provider?
Many would disagree with you, and run their business as if that is the case.
I'm not saying they are right, I'm saying thats the reality of how a number of decision makers act.
Also, a lot of companies opt to use Heroku first then migrate to basic ol' AWS once that gets far too expensive for them and may hire an operations engineer or two to replace the cost and to help them scale better with capital.
NoOps in a very literal sense being used to describe tech operations is something I never think I'll see anyone take seriously and that can scale.
The "capital (depreciation) vs operating" is only talking about hardware. Having in-house IT employees to install new servers, run new cabling, change tapes for backups, etc, is not a capital expense. Migrating to AWS can shift the FTEs from XYZ company's payroll to Amazon's payroll. Presumably, Amazon's engineers can do IT admin operations in a more cost-efficient manner. That's "outsourcing."
Yes, there would still be in-house employees as "AWS admins" but overall, there should be a net-reduction of FTEs doing commodity-IT grunt work.
http://www.nytimes.com/2015/06/04/us/last-task-after-layoff-...
http://www.computerworld.com/article/2879083/southern-califo...
This is a classic outsourcing strategy. Insourcing is the complete opposite, see https://en.wikipedia.org/wiki/Insourcing.
The way this should operate for software development is to have people at or near HQ that are the key roles - software architecture, project managers, requirements analysts and software development leads or managers. Then at your Asia branch (India most likely) you would staff up managers, software developers, etc. in a center where they can deliver things that are tightly aligned to your companies strategy instead of aligning to some legal contract.
In software terms: insourcing is a tightly coupled mutually beneficial interface, outsourcing is going through a facade owned by two legal teams.
I see no signs of it stopping. :\",
Even in western countries like Finland, Denmark, and Austria, mid-level developers and other technically inclined can expect to make 1500-4000euros/month. Compare that to US developer salaries and you can see why.
One might ask, what are you when all of the proprietary parts of your companies process are 'owned' by outsiders?
Uber keeps trying to tell us that it's drivers aren't employees, so they're trying to outsource the drivers themselves.
That leaves me scratching my head a little bit. It sounds like he's saying that outsourcing is dead because everything has been outsourced already.
I could never image to work for a company that works for companies. Doing good work is rarely honoured or even noticed. And who cares. Good, that even non-tech people start to understand. How long did it take.
Then again, some of the contracting agencies are probably among the worst places, too, employing people with limited choices. Just need to identify the good ones.
The reframing of the discussion as about competitive advantage is a good one.
Even if you cannot put an accounting profit line with them, they facilitate the profit of the other departments.
where do you draw the line?
Better cleaning, not so much - it's just a cost/requirement of doing business .
Some companies don't consider their software or developers to be sources of competitive advantage, and you should try to avoid those if your goal is to work on cool stuff and have better chances of making more money. Some people do like the challenge of maximizing operational efficiency and might get a good job that way, but it's harder and fraught with politics.
I don't think this is news, but it seems to often be ignored.
Using term cost centre is so damaging for the culture that it can kill the company.
If you stop calling it "cost center" and decide to call it "pure awesomeness ninja center" won't make a difference, people will just attribute the same meaning to the new word.
On your point on competitiveness, I completely agree, just like HR having awesome hiring and retention policies can do miracles for a company, even if it's just a cost center.
Legal too, for any major corporation legal is just a cost center, but one that routinely saves the company from total obliteration.
Being a cost center or a revenue center has no relation to the relevance of the people involved.
http://www.kalzumeus.com/2011/10/28/dont-call-yourself-a-pro...
Working for an insurance company on an internal system that helps agents sell and manage policies reduces costs by eliminating assistant and clerk positions and streamlining the process to save time. The development team working on such a project is working on reducing costs. This type of project is about lowering the floor (to increase profits, the more space between the floor and the ceiling the more profit).
A development team working on a software product that is sold is focused on adding as value to the product so that the company can charge more for the product, increasing sales and profits. This type of project is about raising the ceiling.
Ideally you want to be raising the ceiling, not lowering the floor. You can only lower the floor until you're on the ground (you can only reduce your costs/expenses to zero). If a company is focused on lowering the floor (reducing costs), they are interested and focused on removing YOU too (you're a cost). If a company is focused on raising the ceiling (increasing value and sales), they are more likely to see money spent on software development as an investment and are focused on making you more productive so you can add more value.
Work on a project that raises the ceiling not lowers the floor.
the technology landscape has changed since the outsourcing was initiated, some gains will be realized and bonuses will be distributed.
While Walmart labor practices definitely get a bad rap (not necessarily undeserved), I found this story very encouraging. It's kind of ironic, but having developers work the cash registers actually suggests that these developers have a very high status in the business - they are not viewed as glorified typists, or even as technically talented but limited people where it comes to business. They are viewed as people who need to understand business processes deeply and who have the autonomy and authority to act on that understanding. And from what I understand, Walmart did rise to prominence at least in part on the effectiveness of its IT systems (which enabled more efficient supply chains, in particular).
This was a long time ago (and the WSJ article certainly acknowledges that some companies have been aware of this for a long time). Personally, it took me a long time to understand how software outsourcing could ever be anything other than a disaster, and I slowly came to realize that this is because I worked in the jobs that hadn't been outsourced, that required a lot of business context.
Even then, it's been pretty clear to me at times that decision makers higher up on the org chart really don't understand what I do. Or, more cynically, you could say they absolutely do understand it, but are aware that it would take a few years for the hidden costs of their decision to catch up with them, by which point they've made their numbers and can use it to move up another rung (ie., if a highly competent software developer who truly understands the business has built robust, well documented, well tested systems, that person could be replaced with someone more limited in ability and business understanding, and it could actually be a few years before critical systems no longer effectively support the business).
And then they wonder, when they have to push out new releases/features, why no one got the capacity and why only half of the features work - half the time (returning maybe confidential customer data of others customers, ohh).
But then it's the "moral duty" (management words...) of the remaining "local" teams to work 20/24 7/7 for a month to try to salvage what can be salvaged.