It can also lead to franken-apps which have angular -> react -> vue all in one. (Pause to take a breath) I love developing, but there is a lot to learn. I only stay on top of the industry for about 6 months out of every year. It works for me.
It can also lead to franken-apps which have angular -> react -> vue all in one. (Pause to take a breath) I love developing, but there is a lot to learn. I only stay on top of the industry for about 6 months out of every year. It works for me.
Also 1-2 languages... that's really on the shallow end most devs, myself included, will learn a lot more than that and each new language is much easier to pick up then the previous ones.
However as you get more experience, at least for me, you tend to stick to a handful of languages that each cover a domain.
OO, Functional, Dynamic/static variants and a language/stack that allows fast prototyping of ideas.
> If you don't love to learn and to apply the things you have learned the tech industry really isn't for you. Not everyone is in this to learn. I've been on govt contracts where a dev has been there 10-20 years and has only learned 3 languages, (and is writing the same way this year as they did 5 years ago). It is not my cup of tea (hence the past tense).
My point is, not everyone loves to learn. If you want to excel you need to constantly learn but if you get into tech and you hate to learn you'll flounder until you find a gig that will let you coast for years.
Should that be the case though?
I'm actually skeptical that a lot of the new things are actually as valuable as we think they are. We tend to allow our feelings on technology to bias our estimates on productivity. I've heard tons of developers opine at length about how some new library, language, or platform increases productivity. It usually boils down to the "niceness" of the thing and how they feel using it, or some sample project that only measures time to first deployment, and not the overall maintenance burden. None of it is ever actually measured.
Most devs I know have been through a whole bunch more than 2. I've had to use at least 8 over the last 10 years of dev. I didn't have to learn all of them well, but I did have to learn them.
An experienced developer typically has no problem picking up new languages/frameworks/tools/etc. There isn't much value in familiarising oneself with arbitrary and invented things, of which there are many in our industry, and they are ephemeral.
No, the real value is in knowing and understanding the discovered things. And since they are discovered and not invented, they do not change.
There's still plenty to learn, but you have more than a lifetime's worth of learning ahead of you even if you steer clear of the shiny baubles that are React/Angular(v[1..n])/Vue/Whatever.
For example, learning React itself is great because you can pretty quickly see how it cleans up your UI layer. It doesn't take that long and adds real value to your projects.
Oh, but now you need to learn all the corner-cases of NPM, and now you need a new test framework, and now you need to figure out the incantations to get webpack x.y.z outputting just the right way. Oops now hot-reloading is broken. And the chrome inspector is lagging for some reason.
None of these are interesting or fun problems to solve, but they are a pretty substantial part of getting any new technology into production.
How many people post negatively about Java in terms of productivity and cite boilerplate as a productivity-killer, despite the massive advantages a JVM stack brings?
However, I do get pissy when I have to keep learning things, and never get to exploit them, always having to learn a new thing for every single project. Having started in the web arena since before "backend" and "frontend" were even necessarily separated, I've long since abandoned the frontend. More recently, I've personally been frustrated by the local conditions that have made it so that every system I deploy has required me to learn a new configuration management system. It's not so much an "oh, I'm too tired and old to learn this" but more of a professional eyeroll, "oh, geez, gotta learn some other ephemeral technology to do this job, then gotta learn some other technology that is almost all the same but for the spelling for the next project, etc."
But web frontend development really takes the cake, at least in the domains I'm familiar with.
I don't mind learning, I even enjoy it. But if you spend all your time learning and never get to exploit, you're operating at a greatly reduced efficiency. At some point you need to stop learning and actually advance some projects.
Yes I am a veteran who has experienced this.
Design patterns are what I've taken from my experience and applied across languages. But some good patterns in one language can be an Anit-Pattern in another. Not to mention the jump from something like OO to Functional Programming which is not as easy as C -> C++ -> Java -> C#.
> An experienced developer typically has no problem picking up new languages/frameworks/tools/etc. There isn't much value in familiarising oneself with arbitrary and invented things, of which there are many in our industry, and they are ephemeral.
That lesson takes a long time to learn, if you are lucky enough to learn it at all.
I think typically that's true, but it doesn't have to be that way.
It reminds me of the idea that there is a difference between having 10 years experience, and experiencing your first year 10 times.