|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.
We certainly live in interesting technological times. And no more interesting than the current competing IoT standards for connectivity. Various standards bodies, approaches, and ecosystems are vying for mindshare and positioning for a competitive edge. It is clear that when the dust settles, we will have new protocols, evolved protocols, that will change the way we interact with devices and infrastructure. We will also have evolved web protocols, like HTTP/2, that will be changing the very core of our infrastructures. At the same time, we have old approaches made new again like micro-services...
May. 30, 2015 03:30 AM EDT Reads: 5,792
How do APIs and IoT relate? The answer is not as simple as merely adding an API on top of a dumb device, but rather about understanding the architectural patterns for implementing an IoT fabric. There are typically two or three trends: Exposing the device to a management framework Exposing that management framework to a business centric logic Exposing that business layer and data to end users. This last trend is the IoT stack, which involves a new shift in the separation of what stuff happens, where data lives and where the interface lies. For instance, it's a mix of architectural styles ...
May. 30, 2015 03:00 AM EDT Reads: 6,149
Connected devices and the Internet of Things are getting significant momentum in 2014. In his session at Internet of @ThingsExpo, Jim Hunter, Chief Scientist & Technology Evangelist at Greenwave Systems, examined three key elements that together will drive mass adoption of the IoT before the end of 2015. The first element is the recent advent of robust open source protocols (like AllJoyn and WebRTC) that facilitate M2M communication. The second is broad availability of flexible, cost-effective storage designed to handle the massive surge in back-end data in a world where timely analytics is e...
May. 30, 2015 02:00 AM EDT Reads: 6,546
Collecting data in the field and configuring multitudes of unique devices is a time-consuming, labor-intensive process that can stretch IT resources. Horan & Bird [H&B], Australia’s fifth-largest Solar Panel Installer, wanted to automate sensor data collection and monitoring from its solar panels and integrate the data with its business and marketing systems. After data was collected and structured, two major areas needed to be addressed: improving developer workflows and extending access to a business application to multiple users (multi-tenancy). Docker, a container technology, was used to ...
May. 30, 2015 01:00 AM EDT Reads: 2,814
SYS-CON Events announced today that BMC will exhibit at SYS-CON's 16th International Cloud Expo®, which will take place on June 9-11, 2015, at the Javits Center in New York City, NY. BMC delivers software solutions that help IT transform digital enterprises for the ultimate competitive business advantage. BMC has worked with thousands of leading companies to create and deliver powerful IT management services. From mainframe to cloud to mobile, BMC pairs high-speed digital innovation with robust IT industrialization – allowing customers to provide amazing user experiences with optimized IT per...
May. 29, 2015 11:15 PM EDT Reads: 1,762
The true value of the Internet of Things (IoT) lies not just in the data, but through the services that protect the data, perform the analysis and present findings in a usable way. With many IoT elements rooted in traditional IT components, Big Data and IoT isn’t just a play for enterprise. In fact, the IoT presents SMBs with the prospect of launching entirely new activities and exploring innovative areas. CompTIA research identifies several areas where IoT is expected to have the greatest impact.
May. 29, 2015 09:00 PM EDT Reads: 5,548
2015 predictions circa 1970: houses anticipate our needs and adapt, city infrastructure is citizen and situation aware, office buildings identify and preprocess you. Today smart buildings have no such collective conscience, no shared set of fundamental services to identify, predict and synchronize around us. LiveSpace and M2Mi are changing that. LiveSpace Smart Environment devices deliver over the M2Mi IoT Platform real time presence, awareness and intent analytics as a service to local connected devices. In her session at @ThingsExpo, Sarah Cooper, VP Business of Development at M2Mi, will d...
May. 29, 2015 04:27 PM EDT Reads: 905
The Industrial Internet revolution is now underway, enabled by connected machines and billions of devices that communicate and collaborate. The massive amounts of Big Data requiring real-time analysis is flooding legacy IT systems and giving way to cloud environments that can handle the unpredictable workloads. Yet many barriers remain until we can fully realize the opportunities and benefits from the convergence of machines and devices with Big Data and the cloud, including interoperability, data security and privacy.
May. 29, 2015 03:45 PM EDT Reads: 5,122
Explosive growth in connected devices. Enormous amounts of data for collection and analysis. Critical use of data for split-second decision making and actionable information. All three are factors in making the Internet of Things a reality. Yet, any one factor would have an IT organization pondering its infrastructure strategy. How should your organization enhance its IT framework to enable an Internet of Things implementation? In this session, James Kirkland, Red Hat's Chief Architect for the Internet of Things and Intelligent Systems, will describe how to revolutionize your architecture and...
May. 29, 2015 02:33 PM EDT Reads: 887
We’re entering a new era of computing technology that many are calling the Internet of Things (IoT). Machine to machine, machine to infrastructure, machine to environment, the Internet of Everything, the Internet of Intelligent Things, intelligent systems – call it what you want, but it’s happening, and its potential is huge. IoT is comprised of smart machines interacting and communicating with other machines, objects, environments and infrastructures. As a result, huge volumes of data are being generated, and that data is being processed into useful actions that can “command and control” thi...
May. 29, 2015 02:00 PM EDT Reads: 1,393
The Internet of Things is tied together with a thin strand that is known as time. Coincidentally, at the core of nearly all data analytics is a timestamp. When working with time series data there are a few core principles that everyone should consider, especially across datasets where time is the common boundary. In his session at Internet of @ThingsExpo, Jim Scott, Director of Enterprise Strategy & Architecture at MapR Technologies, discussed single-value, geo-spatial, and log time series data. By focusing on enterprise applications and the data center, he will use OpenTSDB as an example t...
May. 29, 2015 02:00 PM EDT Reads: 6,904
All major researchers estimate there will be tens of billions devices - computers, smartphones, tablets, and sensors - connected to the Internet by 2020. This number will continue to grow at a rapid pace for the next several decades. With major technology companies and startups seriously embracing IoT strategies, now is the perfect time to attend @ThingsExpo, June 9-11, 2015, at the Javits Center in New York City. Learn what is going on, contribute to the discussions, and ensure that your enterprise is as "IoT-Ready" as it can be
May. 29, 2015 01:15 PM EDT Reads: 3,109
Scott Jenson leads a project called The Physical Web within the Chrome team at Google. Project members are working to take the scalability and openness of the web and use it to talk to the exponentially exploding range of smart devices. Nearly every company today working on the IoT comes up with the same basic solution: use my server and you'll be fine. But if we really believe there will be trillions of these devices, that just can't scale. We need a system that is open a scalable and by using the URL as a basic building block, we open this up and get the same resilience that the web enjoys.
May. 29, 2015 01:00 PM EDT Reads: 7,546
We are reaching the end of the beginning with WebRTC, and real systems using this technology have begun to appear. One challenge that faces every WebRTC deployment (in some form or another) is identity management. For example, if you have an existing service – possibly built on a variety of different PaaS/SaaS offerings – and you want to add real-time communications you are faced with a challenge relating to user management, authentication, authorization, and validation. Service providers will want to use their existing identities, but these will have credentials already that are (hopefully) i...
May. 29, 2015 01:00 PM EDT Reads: 4,804
SYS-CON Events announced today that MetraTech, now part of Ericsson, has been named “Silver Sponsor” of SYS-CON's 16th International Cloud Expo®, which will take place on June 9–11, 2015, at the Javits Center in New York, NY. Ericsson is the driving force behind the Networked Society- a world leader in communications infrastructure, software and services. Some 40% of the world’s mobile traffic runs through networks Ericsson has supplied, serving more than 2.5 billion subscribers.
May. 29, 2015 01:00 PM EDT Reads: 2,503
Thanks to widespread Internet adoption and more than 10 billion connected devices around the world, companies became more excited than ever about the Internet of Things in 2014. Add in the hype around Google Glass and the Nest Thermostat, and nearly every business, including those from traditionally low-tech industries, wanted in. But despite the buzz, some very real business questions emerged – mainly, not if a device can be connected, or even when, but why? Why does connecting to the cloud create greater value for the user? Why do connected features improve the overall experience? And why do...
May. 29, 2015 12:42 PM EDT Reads: 1,029
SYS-CON Events announced today that O'Reilly Media has been named “Media Sponsor” of SYS-CON's 16th International Cloud Expo®, which will take place on June 9–11, 2015, at the Javits Center in New York City, NY. O'Reilly Media spreads the knowledge of innovators through its books, online services, magazines, and conferences. Since 1978, O'Reilly Media has been a chronicler and catalyst of cutting-edge development, homing in on the technology trends that really matter and spurring their adoption by amplifying "faint signals" from the alpha geeks who are creating the future. An active participa...
May. 29, 2015 12:30 PM EDT Reads: 1,407
Imagine a world where targeting, attribution, and analytics are just as intrinsic to the physical world as they currently are to display advertising. Advances in technologies and changes in consumer behavior have opened the door to a whole new category of personalized marketing experience based on direct interactions with products. The products themselves now have a voice. What will they say? Who will control it? And what does it take for brands to win in this new world? In his session at @ThingsExpo, Zack Bennett, Vice President of Customer Success at EVRYTHNG, will answer these questions a...
May. 29, 2015 12:13 PM EDT Reads: 910
The 4th International Internet of @ThingsExpo, co-located with the 17th International Cloud Expo - to be held November 3-5, 2015, at the Santa Clara Convention Center in Santa Clara, CA - announces that its Call for Papers is open. The Internet of Things (IoT) is the biggest idea since the creation of the Worldwide Web more than 20 years ago.
May. 29, 2015 12:00 PM EDT Reads: 2,708
An entirely new security model is needed for the Internet of Things, or is it? Can we save some old and tested controls for this new and different environment? In his session at @ThingsExpo, New York's at the Javits Center, Davi Ottenheimer, EMC Senior Director of Trust, reviewed hands-on lessons with IoT devices and reveal a new risk balance you might not expect. Davi Ottenheimer, EMC Senior Director of Trust, has more than nineteen years' experience managing global security operations and assessments, including a decade of leading incident response and digital forensics. He is co-author of t...
May. 29, 2015 11:00 AM EDT Reads: 6,202