What Drives Your Tech Stack Strategy?
One of my favorite software engineers on LinkedIn - Vedran Bilopavlovi?, posted about a new software development language and it sparked a very interesting discussion about the benefits and perils of embracing new Frameworks, Libraries and Programming languages - FLPs.
Is it just me or in the last couple of years it feels like there's new languages being created all the time? Not to mention Javascript frameworks and libraries?!
Don't get me wrong. I have nothing against software engineers who create a new FLP for the added knowledge and insight it gives them. Indeed, I remember the days when I created my own AJAX library using the XMLHttpRequest and how it allowed me to really get a deep understanding about the internals of asynchronous requests work.
Easy of Use vs Depth of Knowledge
While the Software Engineer(s) creating the new FLP will get extra depth of knowledge, the developers who end up using it will end up having less depth of knowledge if they didn't have access to that FLP.
Unless the developers go the extra mile and "look under the hood" into the FLP core to understand what kind of "magic" is happening there, they will end up thinking, for instance, that they have to use jQuery's $.ajax to make AJAX requests!
Now, add the fact that some "Management" people, request that a new project must be developed with a set of frameworks and libraries without a clear strategy and purpose for WHY they want it, and we have a recipe for disaster!
Management are scared to lose the Talent battle so they try to make their job specs look "attractive" by adding the latest FLPs into the mix and then when they're asked to justify their technology decision, often they justify it with hard facts like:
"Google AdWords, one of the most important projects at Google, uses Angular so Angular is really solid!"
... or ...
"Facebook created React so it really is that good!"
The value of a FLP shouldn't derive from the "value" from its creator(s) but from it's intrinsic value in the form of what advantage/benefits it enables the programmer to achieve. And this is the point where, I think, recent FLPs fail to communicate clearly.
"Because we can!"
When you dig deep and ask the first developers, who started using a new FLP at work, their honest answer, when Management is not around, is... "because we could and it's fun!"
And who can blame them, right? Heck, one thing is to use new stuff on our local machine... another thing is to set it free in Production!
But, for Companies where they are using new FLPs just because they can, it can turn quickly into a Frankenstein kind of problem, where they end up using nearly every library and framework under the sun, without a clear strategy behind it.
It's the shiny new technology syndrome again!
What do you think?!
Principal Cloud Architect | Cloud Strategy | Cloud Transformation & Modernization | Cloud Native Architecture | Hybrid & Multi-Cloud
5 年Most often, software companies have a technology radar, not some "mamagement people". Just saying...
vb-consulting.github.io
5 年Thanks for the shout-out I really appreciate it :)