Why age in software is bullshit
medium.com
medium.com
I'm in my 20s and I've said this comment before plenty but it isn't in the context of someone being too old to ship code but instead the fact that as we age we usually take on additional commitments, responsibilities, etc.
All these extra factors often limit the amount of time that most people have to dedicate to coding.
I'm in my 30s and have what you call "more responsibilities" and can tell you that I now value my time more, get more s--t done in less time and overall are more productive than in my 20s when I had none of those responsibilities.
There is a tendency for a lot of people to hang on to tools and ideas that worked for them in the past. e.g someone who comes from a relational world, finds it very hard to get used to nosql unless their boss gives them no choice.
"Reactive", "Streams", "Containers", "NoSQL", "Big Data", "Blockchain", the list goes on. I work, or have recently worked, in each of those problem domains to a non-trivial extent, so I'm absolutely no stranger to the leading edge of the marketplace, but I still find it amusing how gaga people get over the new branding, and I'm even more amused how indignant people get when you show them work from 15-20 years ago that was materially similar under the "hot new" brand name it had back then.
Sure the show might be new to a lot of people, but to a lot of other people it's just re-runs that have been in syndication for a long time with tired plot devices and predictable story arcs.
Reluctance to jump on the bandwagon may very well be rooted in the scar tissue built up the last time around, not purely reticence to try something new. They may just be withholding their enthusiasm until they try can something actually new.
Also what is the analogue to reactive in the past ? The main reason for reactive is different screen sizes and orientation of handheld devices. What similar problem would reactive have solved 2 decades ago ? There are a couple of references from 2001 and 2004 https://en.m.wikipedia.org/wiki/Responsive_web_design , but really there wasn't a practical common use case before the iPhone in 2007 and ipad in 2010.
"Reactive", as in http://www.reactivemanifesto.org/, and it's manifestations in various Akka projects like http://www.reactive-streams.org/. Reading the "manifesto" reads like somebody going to really, really extensive lengths to talk about Erlang without actually saying "Erlang" and that's been around publicly, along with its runtime semantics, since 1998.
Cost (dev, support, maintenance, etc.) conscious managers are going to ask tough questions like, "Why would we use Node.js and MongoDB to build a financial transaction processing switch?" and "Why would we deploy a Hadoop cluster to do offline analysis of only 4GB-5GB of transient data per day?" and "Why would we front Elasticsearch with Kafka when our write-load is well below what a small ES cluster can handle and the data is non-critical?" and "Why would we deploy Mesos for infrastructure of <20 machines that has no dynamic multi-machine scheduling needs and never will?"
There's an almost never-ending barrage of stuff like that I contend with. Which is fine. It's part of my job, and despite hard-earned cynicism... myself and my teams have still managed to build all manner of things with all manner of relatively esoteric tech.
Erlang, Rust, Elixir, Scala, Cassandra, Riak, HBase, Kafka, Storm, Spark, Ansible, Cobbler, Packer, Consul, Vault, LING, Rumprun.
No stranger here to including feedback and ideas to determine the best tools for the job that needs doing and their associated costs (dev, support, maintenance, etc.). I'm also no stranger to the flights of fancy that beset engineers who end up inventing reasons or overstate their problem space in attempts to justify using new shiny things.
Take it easy mate. Cheers!
If you want to build a strong resilient team you should allow your devs to fail.
For your every valid example I can show you terrible choices people make in realworld because someone with a lot of experience told this was the perfect thing to do and they resisted changes.
Ofcourse you have to exercise sound judgement in everyday life. I have seen managers who are reluctant to hire rockstars simply because they don't need them.
I work on a system at my dayjob that was "NoSQL" in the 1980s and is functionally similar to modern document-databases.
So...yeah. I'm sorry but the idea these things are "new" is the perception of someone who hasn't touched older technologies.
It might be that I am beyond redemption at this point.
C++ in your browser tomorrow? Check. [2]
[1] http://kripken.github.io/emscripten-site/
[2] https://github.com/WebAssembly/design/blob/master/CAndC++.md
BTW, since somebody's likely to ask, I'm 51.