SAP labs is a worldwide operation with thousands of developers working in countries as diverse as Canada, China, Bulgaria, India, and Israel. In response to questions about offshoring and how U.S. workers might protect their jobs, SAP offers a canned, less-than-hopeful answer: “Innovation happens everywhere.”
Wherever innovation is going on, SAP deploys what it calls regional industry groups. These groups are made up of local SAP developers with domain expertise who behave in part like consultants when they talk to customers. The members of the group solicit customer feedback, then take that information back to the lab, only to behave like software engineers, turning customer needs into logic and applications.
Industry experts and managers who hire software engineers say that domain expertise and the ability to deal directly with customers are two attributes that go a long way toward maintaining job security.
“IT workers today, particularly those working in the programming space, need to develop ... vertically oriented skills so that they’re experts in a vertical industry,” says Stephanie Moore, an analyst and vice president at Forrester Research.
Srinivas Rajagopal, director of planning optimization and solutions at G-Log, a transportation management software ISV, says domain expertise and a deep understanding of the industry you're in carries with it a certain level of job protection.
Although G-Log works with foreign partners for routine tasks -- “The stuff that tends to be formulaic,” Rajagopal says -- there are also a lot of pieces to transportation that are best done in-house.
“We need to make decisions about what the client is looking for and what is normal in his domain [transportation],” Rajagopal says. “This is hard to get from an offshore partner. They don’t have the domain experience.”
Although knowledge of numerical optimization techniques is a unique skill that has particular application in supply-chain management and transportation, according to Rajagopal, another fairly rare skill that cuts across many domains is knowledge of algorithms and techniques such as linear programming and mixed integer programming.
“Those people are hard to find, offshore or here,” Rajagopal says.
A key move any software engineer can make to help protect his or her job is to get closer to the clients. Talking the client’s language and translating it into software is an ability that is always going to be useful, hiring managers say.
“If your job allows you to interact with the client and understand what they need from the software, that is the biggest value you have as a developer,” Rajagopal says.