Every year it seems there's a new paradigm/tool/technology for software engineers to become familiar with. The reasons range from "because everyone else is doing it" to "wow that's a great idea". Various examples, in no way intended to condone or detract from anyone or anything, might be: Moose, Catalyst, PSGI, KiokuDB, MongoDB, mootools, dojo, JQuery, Node.js, etc.
What is your best practice when you see a new technology mentioned somewhere?
- Ignore it. New technologies appear and disappear so fast it's not worth the investment in time.
- Ignore anything new. Old technology is stable and reliable, and the new things will eventually wash away as the transient memetics that they are.
- Ignore it for a year. If it survives that long, look for major open source projects using it, check ohlol for mindshare, and check their git repository for recent commits. If it passes these tests, consider using it.
- So...who's mentioning it? Are they someone? Would someone who's anyone be seen coding with the person mentioning it? Wait until someone who is someone mentions this technology before adopting it. (If that happens, adopt right away! :) )
- Write something using the technology that no one will be using in production, just to see if it works. If this code winds up in production, then it's a good technology.
- Nothing old is good, so if it's new it must be good. Do a git checkout of HEAD and hack away, submitting patches for how you think it should be.
- Is this an appropriate tool for what needs to happen? If so, try it out. If not, move on, even though that's a great idea.
- Each of the above strategies, as well as none of the above strategies, are all equally applicable depending on the situation and task at hand.