I have a confession to make — I’m not a rock star programmer. Nor am I a hacker. I don’t know ninjutsu. Nobody has ever called me a wizard. Still, I take pride in the fact that I’m a good, solid programmer. One who works hard at his craft and really enjoys it, even without the fancy labels.
I have no pretensions about how great I am as a programmer. There isn't a day that goes by when I don't look at code I checked in the other day and sigh at how amateurish a job I've done. But that just encourages me to fix the mess I've made and keep going.
There's a real need for boring tools -- as in dependable, solid, well-engineered, well-thought-out projects. Too many projects out there try to be revolutionary without first being good, and I'm discovering being good -- well-engineered, well-thought-out, etc. -- is hard enough by itself.
Of the many nifty innovations I see taking place in computing, I have trouble imagining many of them surviving. Bitcoin seems more interesting for its underlying distributed ledger technology than because it's "disrupts banking" or any of that folderol -- and even then, I doubt the bitcoin protocol as we current know it will survive because of its inherent technical limitations. Nifty stuff will in time be built with it, but it will be difficult to get right. I suspect that's at least partly because the kind of mindset drawn to working with such technology is more interested in being flashy than in being correct and precise.
Again, I have to point the finger at myself here. A lot of my software is crap, but at least I know it's crap and try to do something about it. I have no delusions that it needs massive, massive work, and always will. I'll never be lacking for another hill to climb.