There are some dangerous zones there, waiting for a careless programmer to fall,
I list some of them, see what you get.
First one: spend too much time on the detail. We all say the Devil is in the detail, and it is so as we write program.
Some tiny little misunderstood of concept, or miss taking care of one small condition will lead to a fatal error.
And it makes programmer addictive to the detail: each fraction of detail brings some joy.
Lots of programmers spend enormous hours on seek more details, in the language, in the library, in the code,
so forget to do the most important job: getting things done.
Second one: Chase new things. Yes, nodejs is cool, angularjs is cool, mongodb is cool, html5 is cool too.
But is it stable? Is it fits your needs? Can it survive long or just a flash in the sky?
Think twice before you use it (or even start to learn it).
And the third: language or tech hater. Windows sucks, PHP is not cool, Java is ugly.
Maybe that’s true, and take it with no deep thinking brings you a pair of coloured glasses.
Rational people think at the margin, consider things in different angles,
Maybe the thing you hates is the best solution, even compare with your favorites.
There are also other pitfalls, like: be a jack of all trades, code before think, etc.
Senior programmer meets them all, and with experiences of the past, they learn not to listen to the siren’s songs.