One of the biggest threats to developers today is the outsourcing and offshoring of their jobs. How can developers make themselves so valuable to an organization that outsourcing is no longer a threat? To be more precise, how can developers today add more value to their organizations so that if tomorrow they’re faced with having their job offshored, they can adapt and grow within their company?
This is an issue that I recently discussed with a friend, Brian Parkinson, who also happens to be the Vice President, Architecture at Toronto-based Algorithmics (an IBM Company).
The operational cost savings of developing overseas can be significant for many companies, and it’s a trend that doesn’t look like it’s reversing anytime soon. It’s undeniable that economically difficult times and more open borders means that many organizations are trying to accomplish their work with less, or less expensive, people.
With the increased efficiency of frameworks, the improved quality of collaboration tools, more open source options and cloud services, in many settings fewer developers can now accomplish the same amount of work as once was the case. A lot of these tools have also improved the ease of collaborating with an overseas dev team.
When I worked in Product Management for Brightspark and Tucows, I found that the developers who advanced their careers the most, worked on the most interesting projects and were most frequently asked for their input and advice were the ones that really understood the problems that our product was trying to solve for customers.
Now when I’m interviewing developers, I make it a point to gauge how much they know about their product, users, customers and market. It’s surprising how many are not well versed in these aspects of their job. I don’t think that developers are to blame for this either – I just think it’s a byproduct of the way many organizations are structured and managed.
And here’s the big problem with that: with the adoption of iteration methodologies and more emphasis on user-centricity, developers that don’t understand the market, customers and users of their products won’t have as much opportunity to advance their career in a world where outsourcing development work is increasingly common.
Where are the opportunities?
Here are some steps that developers can take today to establish themselves as a broader asset to their organization. You might not be able to curb the trend of outsourced development work, but you can show that your contribution as a professional is something your company won’t want to lose over the long term.
Be knowledgeable not only about your own users and products, but also about the broader market. Keep up with influencers on Twitter and blogs, and know what your competitors are doing and how your product compares.
Build relationships internally. Start thinking of your role as one that requires relationship building across sales, product, support or anyone who touches the product. Demonstrate your ability to work with and contribute to different teams.
Contribute to innovation. Innovation is the core of any good company. Being seen as a contributor to the product road map and new technology solutions is a good thing. Your contribution could be in scrums or sharing information info internally with your colleagues across the company.
Know the local scene. Being involved in the tech community locally gives you a perspective about the industry overall. Observe how other companies are solving similar problems. Collaboration at the local level is still a highly effective way to learn.
Think beyond becoming the CTO. Know what senior roles are out there. It’s important to look where you want to be in 5 or 10 years. There are only so many CTO roles out there. Some of the other career options available to developers that allow them to grow within an organization include becoming a Lead Engineer, Scrum Master, Technical Product Manager, Sales Engineer or a Business Systems Analyst.
There are a few things that lead me to believe that developers can seize these opportunities more easily today than ever before.
Agile is breaking (or has already broken) barriers for a developer’s role in the product definition process. This more fluid, less sequential product environment means that devs are expected to be daily contributors rather than just implementing everything handed to them in a 200 page spec. Being a contributor and collaborator across the product lifecycle could very well be a welcome role in many Agile environments.
More than ever before there is a wealth of information out there to help you understand markets, users and customers. The Internet has made it easy to stay in tune with your industry through a multitude of websites, blogs and white papers that keep you up-to-date with news and trends. Even better – find out who your CEO, Product Manager and other company leaders are following. This doesn’t just make for a good water cooler chat; it demonstrates to management that you care about the broader ecosystem in which the business operates.
But of course, not all organizations will be as open to having your try to expand and deepen your role. There are a few constraints to be aware of.
You’re probably alone on this one. In most organizations, enlisting sales or product management to help you learn about your product, users and markets is probably unrealistic. In my experience, as much as they would love to help, these departments are usually pretty strapped for time and resources. This is an exercise you should enter with a DIY attitude, or one that is likely easier to collaborate on with other like-minded developers. Do this though, and it will help establish your credibility and will further help you build relationships.
You might still run into managers with a “developers should only focus on coding” attitude. In some workplaces the creative input of developers into the overall product is, unfortunately, not as valued as it should be. This might be both a motivation for outsourcing development work (since in this mindset development is “just about writing code”). But it could also be a reason why developers in certain companies are not encouraged to contribute more broadly across the product creation process.
The bottom line: your job might be outsourced, but you’ll be two steps ahead.
Outsourcing is a threat, but if developers take proactive steps to broaden their engagement with the organization, their contribution will always be seen as much more valuable than just software development. You have a choice of where you want to end up in your career. These are just some of the steps developers can take to become more multifaceted resources for their organization.
Does your organization encourage the input of developers? What is your relationship to other parts of the organization, such as sales, marketing and product management? How well do you know your product’s users, customers and markets?