Do the tenets of competitive advantage for companies also apply to software developers? Is there anything about competitive advantage that we as the builders of software can learn to assist with our own career development?
I categorize legal competitive advantage for companies in two ways: external and internal. (For the purpose of this article, I am ignoring illegally obtained competitive advantage such as bribery, if such a thing as that could even be called competitive advantage.)
External competitive advantages are things like government-given monopolies or resources, or high entry barriers like legal restrictions.
Internal competitive advantage is anything that the organization creates itself. The book ‘Essentials of Strategic Management’ lists four functional strategies to achieve an advantage: quality, innovation, efficiency and customer responsiveness.
At the moment, the job market is fairly good for software developers in most areas of Canada. But with offshoring/outsourcing, automation, and other threats, setting yourself apart from other developers, especially if you have a long career ahead of you, might be worth your consideration.
Without realizing I was choosing a functional strategy, there was a point in my career where I chose one of these. I picked quality. But what works for me may not work for someone else. I know of other developers who have chosen other strategies. And in fact, earlier in my career, customer responsiveness was probably what set me apart.
Perhaps it’s not wise to choose one strategy for your entire career, but to change as you feel you need to. Or attempt to choose multiple strategies at once, knowing that you won’t be able to give your full attention to a single one. At any rate, it’s an interesting thought/exercise.