To complete my answer about why 'boring' mature tech should be used when it solves the problem, here's a post from a New Relic engineer (if you don,t want to read, there's also the video of the talk): blog.newrelic.com/2014/09/30/boring-technology-is… Shiny new stuff could give you new tools to solve problems, but also introduce new risks. Choose wisely your risks.
I prefer to experiment with latest tools and frameworks for my personal projects even when they are in beta stages.
For production level projects I generally tend to go for latest but stable stacks only after checking out the performance metrics of a particular stack not just on official sites and but also on other blogs by various writers as well as companies which utilized that stack for their projects.
The next obvious step is trying to verify the results ourselves. For choosing backend stacks we usually go through load and stress testing coupled with api response on basic code snippets before zooming in towards particular database or tech stack.
For frontend stuff I usually pick up the most complex or resource draining component and try to analyse whether it can be implemented using new tech stacks without the need for major overhaul of entire project.
I prefer what fits fine in my project, and make what i want to do :)
This obviously depends on your definition of bleeding edge vs cutting edge vs mature ;)
Marco Alka
Software Engineer, Technical Consultant & Mentor
For what? My game? The software for a radiation therapy machine?
The answer depends strongly on whatever you develop. For personal/fun projects, bleeding edge is ok (for instance, I am using Rust and Vulkan for my game). For anything which should be remotely productive: stable and mature.