|By Hal Helms||
|June 22, 2004 12:00 AM EDT||
One of the most enduring of American legends is that of John Henry, the "steel drivin' man," who pitted his strength against a machine - and won. Unlike many legends, John Henry was a real person - a former slave who was hired by the C&O Railroad to cut holes in rock into which explosives were placed in order to create tunnels. It was slow, difficult, dangerous work and John Henry did it better than anyone.
One day, a salesman came to John Henry's camp and boasted that his steam-powered drill could outwork any man, and the now-famous contest was on. John Henry won the race, drilling fourteen feet to the machine's nine, but his victory was short-lived as he died a few hours later from the stress of the competition. It's ironic, but the best thing for John Henry's reputation was his death after that victory. Had he lived, he would have seen his value as a worker diminish to be replaced by a faster, cheaper, and better method.
Today, many coders are caught up in a John Henry-like struggle. The opponent is not a steam drill but outsourcing. Five years ago, developers heard about offshore work that was being done, but the reality was still distant. Today, it is far more real as many of us have either experienced outsourcing directly or know someone who has. We can only wonder what the outsourcing situation will look like five years hence, but we do have some clues.
The Gartner Group, a highly respected IT prognosticating firm, estimates that within five years, one half or more of programming jobs will leave North America. In an interview Lou Dobbs of CNN had with a Gartner Group vice president, the VP stated that even with the problems of outsourcing, which are very considerable (and often overlooked), the cost of producing the same software offshore costs 40% of what it would cost if done domestically. But far more alarming, the quality of the offshore-born software is higher, as measured using the Capability Maturity Model (CMM), a well-known metric for establishing software quality. With the economics seeming to be so compelling, it is likely that managers will have to justify a decision to not outsource.
The upcoming U.S. presidential election has put the issue of outsourcing squarely on the table. After a brief period where programmers were the star of the "new" U.S. economy, IT jobs have steadily declined. Just how bad is the problem? Consider these facts:
- 68% of IT executives, responding to a CIO magazine survey, said that outsourcing would likely increase in the coming year; 30% said that it would remain the same.
- The CIO magazine survey further found that 11% of the responding companies had outsourced system and architecture planning and 14% had outsourced research and development - two areas that were once believed to be invulnerable to the pressure to outsource.
Unemployment rate: 5.8%
Labor force: 142 million
Typical salary for a programmer: $70,000
Unemployment rate: 8.8%
Labor force: 406 million
Typical salary for a programmer: $10,500
Given these facts, it's no wonder that Indian software exports are over $10 billion annually - and growing at a 30% pace. Still, not everything drives software development eastwards. There are some significant negatives associated with offshore development, including:
- Language and proximity differences: Despite the fact that many offshore programmers speak English, the lack of proximity tends to bring out the inevitable differences in idioms, dialect, and pronunciation. When this leads to miscommunication, the costs can be very high.
- Cultural differences: In some cultures, admitting to a lack of knowledge or understanding is a mark of shame, leading to the "nodding head" syndrome when frank discussion and questioning is required. This, too, has a potentially huge and negative impact on the vaunted cost savings of offshore work.
- Time zone differences: From the center of India to the center of America, the time difference is about 12 hours, a perfect offset. This means that there is no time when we share the same workday, forcing communication to be channeled primarily into e-mail and other written forms. But these have a notoriously low "bandwidth," exacerbating the other problems of outsourcing.
- Upward pressure on programmer salaries: Two years ago, programmer salaries in India were only about $8,000 annually. As India prospers, programmer salaries will naturally rise, offsetting some of the cost advantage of outsourcing.
- Loss of critical expertise: If the trend towards offshore development is too extreme, companies may find that they no longer possess needed expertise in-house. Where such expertise is critical, the danger to the company can be enormous.
- Endangerment of proprietary data: Transferring work half a world away necessarily entails giving up some of the control companies enjoy with on-site developers. Additionally, if problems arise, companies do not have the benefit of employing remedies in U.S. courts of law, but are faced with trying to work out the problem at a very long distance.
Many of us concerned with the effects of outsourcing fail to see the cause of the events that distress us so greatly. The great dot-com bubble was the culmination of attitudes that many of us have held dearly, one of which was that as developers, we have an inherent right to be paid highly. And why not? Software underpins the economies of all highly-developed nations and who writes that software but us?
What we failed to see is the extent of our failure in writing this software. Repeated studies have shown that, at best, the success rate for custom corporate software is no more than 30%. Individual programmers continue to believe that their software is the exception to this rule, but this is nothing but the Lake Wobegon effect, where everyone is above average.
One CTO e-mailed me this about the reality he perceives: "I think our programmers really don't know the skill gap that exists between them and our overseas people. The local guys' knowledge really hasn't kept up with what we're seeing from India - but they still want high U.S. wages." The main lesson of outsourcing for all of us, whether we're in favor of it or not, is that this situation (low success/high wages) can't continue.
Where does this leave us? Are we laboring like John Henry against forces too powerful for us in a valiant, but doomed, effort? It will be helpful if we can more precisely define the problem. Exactly which jobs are "outsourceable?" Most analysts have identified vulnerable jobs that can be precisely defined and made into a routine. These are the "low-hanging fruit" of outsourcing. Since these jobs use workers as cogs in a machine, it's no surprise that the cogs tend to be interchangeable. Remove one expensive American cog; replace with one cheaper Indian cog.
A biologist friend of mine is fond of saying that the law of life is: "adapt or die." In biological systems, it's the environment that goads organisms to change, to adapt, and to grow. There is, it seems, something good about an environment that pressures us to adapt or die, as American car companies found out when their cozy environment was upset by the explosion of Japanese cars into the American market. They became leaner, better focused, and, ultimately, more profitable. Welcome to the jungle.
The reality of outsourcing is the reality of the environment telling us, "adapt or die." But how? What actions shall we take? Put another way, if we are to escape being cogs, what shall we do? So what's a cog to do? Below, I've listed several "strategies for survival" specific to the new environment we face. Most of them will require significant commitments from us and, for all of us, education - effective education - will become preeminently important. I've given them numbers, but the order in which they appear is not meant to imply that one is a better strategy than another.
Survival Strategy No. 1: Get into Project Management
It's been clear for some time that in corporate software shops, coding, as such, is losing its utility value. This is the kind of work being outsourced at breakneck speeds today. Given the low success rate for corporate software, we've got much, much bigger problems than how quickly or efficiently we can write code. The biggest problem is not that we're writing code inefficiently; it's that we're writing the wrong code altogether!
But many coders don't feel that they have much say in the ultimate success of a software project - and to be honest, many of us don't enjoy the type of work that project management entails - we just want to write code. Whatever the future of outsourcing ultimately is, I think it's a very safe bet to say that defining ourselves simply as "coders" is a losing strategy. This is the lowest of the low-hanging fruit in the IT world. And coders face the greatest threats, for not only must they be concerned with their jobs being outsourced to other humans, but the reality of machine coders draws closer each day. From smart IDEs to tools for Model Driven Architecture (MDA), the value of the ability to translate a natural language into code is being continuously downgraded.
When I teach my "Project Management with FLiP" class, I'm often asked what I think the greatest key to successful projects is. Is it the choice of language (Java versus ColdFusion versus C#)? Is it the database (Oracle versus SQL Server versus DB2)? Is it the skill of the coders?
In my experience, it's far more fundamental: neither we nor the users really know what needs to be written. The project requirements are vague and usually don't come into focus until the project is actually delivered. I've written extensively on the need for prototyping as an essential skill for project success. But the temptation to hurry the process can, for many programmers, be all but irresistible: we just want to start coding. If, though, you can successfully learn proven, successful project management skills, you can write your own ticket and will not need to worry about your job being sent anywhere.
Survival Strategy No. 2: Develop the Skills of a System Architect
The problem with project management is that it takes excellent communication skills as well as other soft skills such as empathy, warmth, and patience. Hey, if you had wanted to do that, you could have become a social worker!
For many of us, the technical challenges of software have a great appeal. We find them intellectually stimulating and the thought of giving this up is an unhappy one. The good news is that you don't need to give it up; you just need to plunge into it even more deeply.
People who can design software systems are exceedingly rare. The ability to make large-scale technical decisions has great value in any conceivable world that involves software - wherever it's actually written. If you decide to go this route, you need to understand that you're committing yourself to deepening your knowledge considerably and keeping it up to date. This is not an easy task, but it can be an extremely rewarding one. Just make sure that you don't kid yourself about your current abilities. I meet a lot of people who are good at writing code who assume that this qualifies them as system architects; it doesn't - nor does being fully acquainted with the latest buzzwords.
If you're interested in this (and after you've mastered object orientation), I advise learning about design patterns. The great physicist, Sir Isaac Newton, once said, "If I have been able to see further, it was only because I stood on the shoulders of giants." Design patterns can provide us with those "giants' shoulders."
Understanding and working with design patterns can help you avoid mistakes while guiding you into good solutions for recurring problems. The risk in design patterns is getting carried away by the buzzword aspect. While others use buzzwords and acronyms to represent a knowledge not truly gained, our goal is to gain a deep understanding of design patterns. Warning: the bible for design patterns, Design Patterns, by the so-called "Gang of Four", is not light reading. But you should expect to do a lot of this if you're going to take up the system architect strategy.
Survival Strategy No. 3: Good Enough for Government Work
If you work for a government agency (or in many cases for a government contractor), you probably don't need to be greatly concerned about outsourcing. Even if outsourcing were to succeed wildly, this work will not be outsourced. This isn't a bad strategy, although you may very well be locking yourself into doing this kind of work for a long time. If you have a constant desire for new challenges, you may feel stultified. But many of us aren't technology junkies and the rewards and benefits can be steady, if not spectacular.
Survival Strategy No. 4: Be a Small Cog
Given the considerable difficulties and expenses in establishing a viable outsourcing relationship, very small companies are unlikely to adopt outsourcing. The possible downside to this strategy is a possible lack of job stability and reduced resources compared to larger companies. Still, in the right position this can be a great strategy. It's also probably the easiest one to adopt. Be careful, though, because this "easier" environment can lull you into lethargy. You'll still need to be vigilant about managing your career.
Survival Strategy No. 5: Become a Subject Matter Expert
When I was young, I wondered why baseball players who played only a single position were paid far more than "utility" players who could play multiple positions. Wasn't more better? The answer then, and now, is "No."
Specialists are valuable because they understand the intricacies of a specific problem and can hopefully see more clearly the solution required. Because their expertise is limited in scope, it should also be deeper and that depth of experience can have a great impact on the success of a project.
That's the rationale behind the SME - the subject matter expertise. If you possess a depth of knowledge about, for example, a specific industry, you are likely to be immune to the threat of outsourcing. The key to this strategy is a true depth of both knowledge and experience. For instance, if you've worked extensively with banks, you'll recognize the unique challenges of banks and be in a position to help avoid costly mistakes.
The downside to the SME is that you may need to work more on a contract basis than as a full-time employee. If that suits you, and you possess the necessary skills, being an SME can be very lucrative. Of course, you'll be expected to keep abreast of both the current and the potential changes to your subject matter.
Survival Strategy No. 6: Become a Technology Expert
This may be the riskiest strategy of the lot. Technology experts are expected to be almost prescient in their ability to rank "winning" technologies. Further, the technological landscape is so vast that no one can be a general expert. You'll have to narrow down the scope of your endeavors.
Establishing yourself as a technology expert can also be tough. What makes someone a real expert instead of someone who understands enough about a lot to talk a good game isn't clear at first. You may find it hard to establish yourself in this strategy. If you do go ahead with it, work on getting published. You'll need to be able to count on some name recognition to make this strategy work. And remember, you're trading on people's trust in your ability to make good evaluations under great pressure. That means occasionally taking positions that may be unpopular with people above your pay grade. Better sharpen your political skills while you're at it!
Survival Strategy No. 7: Find a Company That Uses Agile Methodologies
Agile methodologies are a poor fit for the separation of specifications from programming that current outsourcing demands. The best known "agile" methodology is Kent Beck's Extreme Programming (XP) (www.extremeprogramming.org). XP asserts that software development is "about people, not processes." Agile methodologies are very much in fashion right now, but their ability to deliver the quality and type of software needed is still very much a matter of belief rather than evidence.
If you do work for an "agile" company, and if that company succeeds in its purpose for adopting agile methodologies, you'll likely have little to worry about. If you choose this path, you'll want to become as adept at agile methodologies as possible. In fact, you may be able to transform your current company into the company you're seeking. Realize, though, that this is a high-risk strategy and relies, to a great degree, on the perception of success with agile approaches within the management world.
While I don't pretend that this list is all-encompassing, it is at least interesting to note that nowhere does the most pervasive strategy appear: Do Nothing and Hope It All Works Out. Even if claims for the pervasiveness of outsourcing turn out to be wildly exaggerated, is it really likely that staying with a "more of the same" strategy will help us weather the next, inevitable shock to the system? In this regard, and if we allow it to, the wake-up call of outsourcing can prove to be extremely beneficial to us, whatever the future holds.
Perhaps you've come up with another strategy, one better suited to your particular skills and shortcomings. The most important thing is that you carefully consider your options, choose a strategy that works for you, and then act on it. Take very seriously how you will implement your plan. If it requires new knowledge (which it almost certainly will), map out a plan for acquiring that knowledge. In short, don't wait for a catastrophic event to compel you to action.
For further reading, I recommend all of the excellent books from Tom DeMarco. Ed Yourdon's classic, Death March, still has excellent insights, and Eli Goldratt's Critical Chain is particularly thought-provoking. Virtually anything by Edwards Deming will help you understand why projects so often fail, and what you can do about it. For continuing thoughts on, and strategies for, the challenge of outsourcing, please subscribe to my spam-free "Occasional Newsletter" at halhelms.com.
|joespr 09/08/08 03:24:09 PM EDT|
Well, using agile programming is not stopping our company from outsourcing.
So using technique number seven is not foolproof.
Dont know how it will work out, but some people will be laid off.
|Jason Drakeford 06/23/04 12:10:35 PM EDT|
Or you can become an outsourcing agent, find jobs here and outsourcing them, get you cut as the middle man. I use www.OffshoreXperts.com to find my offshore service providers.
|Jeff Gombala 06/22/04 05:35:38 PM EDT|
I agree with Hal, goverment pressure or protectionism will not stop outsourcing. As programmers a.k.a. problems solvers, we must adapt to changing conditions. People who complain are just that, complainers a.k.a. union workers, while the rest of us keep learning new skills and changing how we look at our careers.
Your homes and cars can be automated and self-serviced. Why can't your storage? From simply asking questions to analyze and troubleshoot your infrastructure, to provisioning storage with snapshots, recovery and replication, your wildest sci-fi dream has come true. In his session at @DevOpsSummit at 20th Cloud Expo, Dan Florea, Director of Product Management at Tintri, will provide a ChatOps demo where you can talk to your storage and manage it from anywhere, through Slack and similar services ...
Mar. 28, 2017 07:00 PM EDT Reads: 4,435
In his session at @ThingsExpo, Eric Lachapelle, CEO of the Professional Evaluation and Certification Board (PECB), will provide an overview of various initiatives to certifiy the security of connected devices and future trends in ensuring public trust of IoT. Eric Lachapelle is the Chief Executive Officer of the Professional Evaluation and Certification Board (PECB), an international certification body. His role is to help companies and individuals to achieve professional, accredited and worldw...
Mar. 28, 2017 06:00 PM EDT Reads: 819
SYS-CON Events announced today that Linux Academy, the foremost online Linux and cloud training platform and community, will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. Linux Academy was founded on the belief that providing high-quality, in-depth training should be available at an affordable price. Industry leaders in quality training, provided services, and student certification passes, its goal is to c...
Mar. 28, 2017 03:45 PM EDT Reads: 4,097
SYS-CON Events announced today that SoftLayer, an IBM Company, has been named “Gold Sponsor” of SYS-CON's 18th Cloud Expo, which will take place on June 7-9, 2016, at the Javits Center in New York, New York. SoftLayer, an IBM Company, provides cloud infrastructure as a service from a growing number of data centers and network points of presence around the world. SoftLayer’s customers range from Web startups to global enterprises.
Mar. 28, 2017 03:00 PM EDT Reads: 2,082
"delaPlex is a software development company. We do team-based outsourcing development," explained Mark Rivers, COO and Co-founder of delaPlex Software, in this SYS-CON.tv interview at 18th Cloud Expo, held June 7-9, 2016, at the Javits Center in New York City, NY.
Mar. 28, 2017 03:00 PM EDT Reads: 9,601
SYS-CON Events announced today that CA Technologies has been named “Platinum Sponsor” of SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY, and the 21st International Cloud Expo®, which will take place October 31-November 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. CA Technologies helps customers succeed in a future where every business – from apparel to energy – is being rewritten by software. From ...
Mar. 28, 2017 02:15 PM EDT Reads: 2,174
SYS-CON Events announced today that Technologic Systems Inc., an embedded systems solutions company, will exhibit at SYS-CON's @ThingsExpo, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. Technologic Systems is an embedded systems company with headquarters in Fountain Hills, Arizona. They have been in business for 32 years, helping more than 8,000 OEM customers and building over a hundred COTS products that have never been discontinued. Technologic Systems’ pr...
Mar. 28, 2017 02:15 PM EDT Reads: 3,649
In his keynote at @ThingsExpo, Chris Matthieu, Director of IoT Engineering at Citrix and co-founder and CTO of Octoblu, focused on building an IoT platform and company. He provided a behind-the-scenes look at Octoblu’s platform, business, and pivots along the way (including the Citrix acquisition of Octoblu).
Mar. 28, 2017 02:00 PM EDT Reads: 14,244
SYS-CON Events announced today that Loom Systems will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. Founded in 2015, Loom Systems delivers an advanced AI solution to predict and prevent problems in the digital business. Loom stands alone in the industry as an AI analysis platform requiring no prior math knowledge from operators, leveraging the existing staff to succeed in the digital era. With offices in S...
Mar. 28, 2017 01:15 PM EDT Reads: 1,615
SYS-CON Events announced today that HTBase will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. HTBase (Gartner 2016 Cool Vendor) delivers a Composable IT infrastructure solution architected for agility and increased efficiency. It turns compute, storage, and fabric into fluid pools of resources that are easily composed and re-composed to meet each application’s needs. With HTBase, companies can quickly prov...
Mar. 28, 2017 12:45 PM EDT Reads: 3,133
SYS-CON Events announced today that T-Mobile will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. As America's Un-carrier, T-Mobile US, Inc., is redefining the way consumers and businesses buy wireless services through leading product and service innovation. The Company's advanced nationwide 4G LTE network delivers outstanding wireless experiences to 67.4 million customers who are unwilling to compromise on ...
Mar. 28, 2017 11:30 AM EDT Reads: 2,479
SYS-CON Events announced today that Cloud Academy will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. Cloud Academy is the industry’s most innovative, vendor-neutral cloud technology training platform. Cloud Academy provides continuous learning solutions for individuals and enterprise teams for Amazon Web Services, Microsoft Azure, Google Cloud Platform, and the most popular cloud computing technologies. Ge...
Mar. 28, 2017 11:30 AM EDT Reads: 4,692
SYS-CON Events announced today that CrowdReviews.com has been named “Media Sponsor” of SYS-CON's 20th International Cloud Expo, which will take place on June 6–8, 2017, at the Javits Center in New York City, NY. CrowdReviews.com is a transparent online platform for determining which products and services are the best based on the opinion of the crowd. The crowd consists of Internet users that have experienced products and services first-hand and have an interest in letting other potential buyers...
Mar. 28, 2017 11:00 AM EDT Reads: 3,720
SYS-CON Events announced today that Infranics will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. Since 2000, Infranics has developed SysMaster Suite, which is required for the stable and efficient management of ICT infrastructure. The ICT management solution developed and provided by Infranics continues to add intelligence to the ICT infrastructure through the IMC (Infra Management Cycle) based on mathemat...
Mar. 28, 2017 10:45 AM EDT Reads: 3,307
SYS-CON Events announced today that Interoute, owner-operator of one of Europe's largest networks and a global cloud services platform, has been named “Bronze Sponsor” of SYS-CON's 20th Cloud Expo, which will take place on June 6-8, 2017 at the Javits Center in New York, New York. Interoute is the owner-operator of one of Europe's largest networks and a global cloud services platform which encompasses 12 data centers, 14 virtual data centers and 31 colocation centers, with connections to 195 add...
Mar. 28, 2017 10:00 AM EDT Reads: 1,555
SYS-CON Events announced today that SD Times | BZ Media has been named “Media Sponsor” of SYS-CON's 20th International Cloud Expo, which will take place on June 6–8, 2017, at the Javits Center in New York City, NY. BZ Media LLC is a high-tech media company that produces technical conferences and expositions, and publishes a magazine, newsletters and websites in the software development, SharePoint, mobile development and commercial UAV markets.
Mar. 28, 2017 09:45 AM EDT Reads: 4,441
SYS-CON Events announced today that Cloudistics, an on-premises cloud computing company, has been named “Bronze Sponsor” of SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. Cloudistics delivers a complete public cloud experience with composable on-premises infrastructures to medium and large enterprises. Its software-defined technology natively converges network, storage, compute, virtualization, and management into a ...
Mar. 28, 2017 09:45 AM EDT Reads: 2,254
Now that the world has connected “things,” we need to build these devices as truly intelligent in order to create instantaneous and precise results. This means you have to do as much of the processing at the point of entry as you can: at the edge. The killer use cases for IoT are becoming manifest through AI engines on edge devices. An autonomous car has this dual edge/cloud analytics model, producing precise, real-time results. In his session at @ThingsExpo, John Crupi, Vice President and Eng...
Mar. 28, 2017 09:15 AM EDT Reads: 4,088
There are 66 million network cameras capturing terabytes of data. How did factories in Japan improve physical security at the facilities and improve employee productivity? Edge Computing reduces possible kilobytes of data collected per second to only a few kilobytes of data transmitted to the public cloud every day. Data is aggregated and analyzed close to sensors so only intelligent results need to be transmitted to the cloud. Non-essential data is recycled to optimize storage.
Mar. 28, 2017 08:15 AM EDT Reads: 3,190
"I think that everyone recognizes that for IoT to really realize its full potential and value that it is about creating ecosystems and marketplaces and that no single vendor is able to support what is required," explained Esmeralda Swartz, VP, Marketing Enterprise and Cloud at Ericsson, in this SYS-CON.tv interview at @ThingsExpo, held June 7-9, 2016, at the Javits Center in New York City, NY.
Mar. 28, 2017 08:00 AM EDT Reads: 4,459