TL;DR In majority of scenarios real technical mastery has a tertiary degree of importance - being just solid, playing it safe & avoiding accidental complexity is just enough until market gets very dense, interest reaches viral levels or competitive factor is about pure tech (very rare). Very few companies (excluding some unicorns) compete with just tech as their primary weapon - it's usually all about the product, idea behind it & how fast it has been delivered (before the competitors ...).
Disclaimer: keep your seatbelt buckled up, we're going to get a bit controversial here & you may not like where this is all going ...
Few years ago I did a short (paid) assessment of new, rising business - label "start-up" may be more than adequate here. I've met a very enthusiastic crew led by a very smart (& very experienced) entrepreneur - let's call him Simon - in their very fresh (not even furnished) office to ask/dig/challenge & in the end provide feedback/suggestions.
First impression was strikingly positive - they shared a common vision, all of them seemed to fully embrace it personally, they were almost literally boiling with ideas of what they'd like to offer to their (future) customers. I simply adore teams like that - it's hard to imagine more productive work environments. But the more questions I've asked & the more I've learned, the more I was concerned about one thing that kept bothering me ...
Me: "Your idea (for product) makes a lot of sense, the value you'd like to provide to your customers seems compelling, priorities you've set up are fine, but ... you're all business people - individuals with management, sales, operations, marketing experience. Where are the IT guys?"
Simon: "... There are no IT guys. We're building an unique business product here ..."
Me: "But isn't this product supposed to be a platform? With some apps on the top of them? Mobile ones? Made out of code? As far as I understand you don't want any other assets, brick'n'mortar shops, branches, anything like that - just software, right?"
Simon: "Yes, that's correct. But this is just an execution detail, not-really-creative stuff that we can outsource to some reliable 3rd party. Our competitive edge is somewhere else - in product vision, in the concept of value streams we've designed, in how we want to amaze our customers & make them feel great."
Frankly, I was kinda stunned.
This dude wanted to build A SOFTWARE PRODUCT, but people who were actually the ones supposed to technically build it were considered the least important ones - the "execution detail". IMHO it just couldn't work - it didn't make any sense!
Few years have passed since then. I've learned a lot (fortunately I still keep learning - I even have the impression that more than ever ...). So maybe it's time to re-visit the opinion clash between me & Simon? Who was right & who didn't really get it?
It's simple.
I was utterly wrong. Simon was right. And let it be a lesson for you, software crafts(wo)men.
"The product, stupid"
Let's get it straight - I'm not saying that software professionals are not important at all - I believe that having a seasoned professional(s) on board (with a skin in the game) would help these guys create even better product because of additional, technical insight ("how IT can support this business concept").
My point is that technical excellence is NOT a critical factor (especially during product's infancy) -> product vision, entrepreneurship skills, understanding of customer needs & market conditions, proper timing - all these are much more important in triggering future success.
In fact, even if I can recall some companies (1) that have clearly achieved success at least partially thanks to technical excellence, I know much more companies (2) that have achieved success despite their IT mediocrity (at least until certain point). Why so? Why is it like that? Massive digitisation of today's life creates a lot of potential, new market niches - innovative & well aimed products enter this markets w/o real competition and ...
"In the land of the blind, the one-eyed man is king."
Desiderius Erasmus, Adagia
(one could only imagine where would they have been if they had known how to write proper software ... ;P)
Each bonanza has its end
I treat it as an another reason for developers to stop feeling so comfortable - we, software professionals, are "kings of the (job) market" but this is not going to last. Why so?
We like to think that our power (in general) is about our incredible, difference-making skills that turn void into gold. That we earn much more than average among other professions because we're so well educated, our skills are so sophisticated, our way of thinking so abstract & not available to other ("mundane") people.
But in fact our main power is ... scarcity - the fact that demand has raised so incredibly quickly that (organically-constrained) supply had stood no chance to meet it.
However, inevitably, software development skills will commoditize over time (faster than we think) & software development will reach the status/prestige (& compensation) level of any other service profession - like hairdresser or pharmacist. Nature (& economy ...) doesn't tolerate vacuum & supply-vs-demand chasm will be filled by:
- neophyte education (all these hairdressers re-qualifying)
- fact that software engineering is a great opportunity for developing countries (relatively low entry threshold + huge population)
- technological progress ("smarter" tools, better re-use due to componentization)
Again (I have a feeling I keep repeating it like every 2nd day ...) - don't oversleep this change. You either go with the flow (& "commoditize" yourself & your skills) or stand out (of the increasing crowd).
Stand out?
Yes, there's still be place for software crafts(wo)men who make actual difference, who are highly valued & appreciated, who are in a vanguard of digital revolution (just like there are hairstyling or cooking stars & celebrities ...) - but these won't be people with perspective limited to purely technical aspects - masters of a single framework or opinionated zealots of meaningless patterns. Who would you hire for flat renovation? Is being an artisan of Bosch EasyImpact 500W drill handling sufficient enough? Yeah, I thought so.
The most bright future will belong to PRODUCT DEVELOPERS who put the domain (& business problems) first on their priorities list & understand what is necessary to build ultra-successful software products that people love.