A few years ago, I worked with someone who decided that rather than using the standard-proven technology at the time, he'd build it from scratch so he could have one more thing to add to his resume.
That reasoning wasn't really a good reasoning for choosing something and the end result was a project that was unscalable and eventually had to be completely rewritten.
I see this all the time, rather than choosing to use what you know, or to use what you know works best, you choose to be bleeding edge and build on the latest buzzword.
For me, my chosen stacks involve several considerations:
- Do I know it well and am I comfortable with it?
- Is there a strong community out there to provide support?
- Could I actually tell someone how it worked?
- Is it scalable?
- Can it be expanded on quickly to accommodate a growing list of user requirements
- Can it handle traffic or is it locked in?
If any of those questions are a no, then I don't use the stack, and look elsewhere, because I'll lose more time learning and building the damn thing than I will actually building what needs to be built.
That doesn’t mean I don’t use new stacks, it means I take the time to learn the stacks and not during the time I’m building a project. Too many unknowns.
Let's look a good example: React.
I actually was slow getting into React. I love it now but back then, I was hesitant to look at another framework. I was enjoying Angular.js and the idea of one more framework was just daunting.
Then a lot of people started asking for a React mixin for Flybase, so I finally decided to look into it.
The mixin itself was quick to write, and then I started building more apps with it, and now... Now I love it.
Heck, even Angular.js was the same when it first came out, and I still enjoy using v1.5 (slowly making the move to Angular 4).
So no, I'm not saying don't learn a new stack. I'm saying don't learn a new stack during a client project where your team is depending on you to know it.
I use Node every single day (and still use PHP, can't get entirely away from PHP).