I was writing a T4 template generator that spat out code (Code that writes code, what better project for a lazy programmer?) and having a heck of a time writing some bits of the code.
My boss, who had previously walked over, looked at code for half a minute and then told me exactly how to proceed, had never heard of T4 Templating in Visual Studio. In fact, nobody in my office had heard of it.
Up to this point I was seriously questioning how useful I was to the team at large. The friend who had gotten me the job knew the codebase inside and out. I had just told a different project manager that I had no experience with the technology that made up their project and would take a while to get up to speed. The other full time senior developer hired at the same time as me had gotten much further along than I had in his ability to contribute.
Projects were hard and confusing. Our codebase was a 20+ year old monstrosity of very early .NET and very early VB.NET code. Stuff that shouldn't have been in use everywhere, stuff that was basically deprecated was relied upon functionality. In retrospect it's perfectly clear why I struggled coming from a reasonably well maintained codebase and falling headfirst into the mess that is our codebase at my current job.
It was only when I started googling for the bizzare error message I was encountering that I discovered that I was one of maaaybe a handful of people on the internet working with T4 in this way. Here was a feature baked into Visual Studio, and I was practically one of the pioneers figuring out how it worked, and how to leverage it. Turns out one of the other major pioneers of T4 is the Entity Framework team at Microsoft, probably the number 1 project that people know about making use of T4.
I literally had to stop and walk outside for a while when I realized how important my position actually was, and that I had more knowledge about one single subject than anyone in the tri-state area had.
I then submitted my findings in the form of a StackOverflow post, solved my problem, answered my own SO post, and proceeded to complete the project. The code has been in continuous use with very little maintenance for 3 years now. Only one other person in my company has been trained on how it works, by me.
This hasn't stopped the impostor syndrome from kicking in every so often. But it certainly helps when you're explaining some solution you came up with to the technical lead on the project because he isn't familiar with standard design patterns. Or you're teaching language features to someone 10 years your senior. Eventually you find that you can be a positive contribution to your team, and you have to just cling to those moments to keep you level-headed about your abilities.
We’re a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.