2 ms·
I think you should hire energized, motivated, continually educated employees that stay at the top of their game...not boring ones. I think the point of the art
by kafkaesq 9y ago
I think you should hire energized, motivated, continually educated employees that stay at the top of their game...not boring ones.
I think the point of the article, which was rather subtle actually, is that "top of their game" is best defined in more general terms than simply "skilled in the top random webby crap from from the last 18 months".
I've been able to rewrite front-end code in a different framework with less than 1/5th of the code to maintain.
And about 10,000x as many dependencies, not to mention (if not exactly a shit-ton) a considerable degree of implied bulk in the form of new abstractions ("transpiling") and random contextual crap (packaging, etc) to maintain as well. And the implied path-dependence (for the sake of temporary benefit that comes from adding X, Y and Z to the project... it's going to be that much harder to refactor and shift to something else). All for the sake of a simple autocomplete form, and maybe a popup or two.
Which is exactly what's so cool about "boring" developers -- they see not just the positive tradeoffs in using the shiny stuff ("1/5 as much code") but the negative tradeoffs ("So you mean that hot new AngularJS thing everyone was yelping about 3 years ago... suddenly isn't looking so hot anymore? How come?") as well.
- chrisco255 9y agoThe app I'm mentioning was pre-Webpack days, like 4-5 years ago. Just using KnockoutJS...which has no dependencies. It made me realize that tools can dramatically impact my output as a developer. Dependencies can sometimes be a pain in the ass to manage...but they are a huge net positive for productivity. When the choice is between downloading a battle-tested autocomplete package written and maintained by someone like PayPal (https://github.com/paypal/downshift https://github.com/paypal/downshift) and rolling your own thing...it's a no brainer. You use the battle tested lib unless you have a very good reason to roll your own thing. Some tools fade, some tools stand the test of time. AngularJS has been deprecated even by its own creators (who built a shiny new framework with the same name)...so that's a bad example.
- kafkaesq 9y agoRight -- moral of the story being, one needs to evaluate any given framework import choice on its intrinsic attributes, pro and con. Not simply on how new and shiny it is. And potential collaborators and colleagues, likewise. Just give me people who are solid in the better practices of whatever language they use (even if it's Java or vanilla C) -- and reasonably aware of the current landscape (even if they chose not to, or heaven forbid, the quotidian needs of the real, money-earning products they work on don't exactly make it feasible to adopt the latest and greatest tools or platforms) -- over the type of folks who instinctively cargo-cult nearly everything that's been trending in the last 18-24 months -- any day, please. AngularJS has been deprecated even by its own creators... so that's a bad example. But don't you remember -- AngularJS was (if you took certain people at their word) the absolute shit some 4-5 years ago (that's slang usage of "the shit", as in "something really, really good you just have to get into, man"). Whereas now it's... well somehow no one wants boast about using Angular anymore, do they? That's why it's such a good example of what I'm talking about.
- chrisco255 9y agoFrom that perspective, I see your point. I think Angular had an optimal sweet spot for the scope of applications it was good at building. Once you went past that point, it became unwieldy. I don't think you should chase something that's merely 12-24 months old if you're working on production code for a big product. But to some folks, using Golang or Node.js is considered "hipster" even though those technologies have been out now for many years and have proven themselves at scale at large companies. I wouldn't have suggested using Node in 2010, but in 2017, it's a mature choice. And letting your team use something like Go or Node over Java isn't going to kill you and you may very well see productivity gains and recruiting gains.