My solution to this syndrome was to put a strategy and to stick to it. Here is a summary of my strategy:
- Don’t follow fads. Fads come and go, and investing in them is a waste and a distraction.
- The difficult part is to distinguish a fad. My general advice would be, if in doubt leave it out. Wait till the technology maturizes and proves itself.
- Know one major programming language, become an expert in it, and two minor languages.
- Stick to light weight libraries and technologies that are small and easy to comprehend.
- Feeling overwhelmed is an indicator you are learning the wrong way. Take a break, meditate, go back to calmness, then start again.
- Favor concept over a better way of doing it. Favor technologies that teach you a new concept rather than just being a fancier way of doing things. Good examples are: depend injection using guice and dagger, rxjava, functional programming.
- Be a pragmatist. This is middle ground. Being on either side of the curve; either a complete skeptic or a chase everything person will have negative side effects on you career.