Impostor Syndrome

After my introduction yesterday, I really thought I should get a technical article out there as my next topic, but then I realized that I should discuss the impostor syndrome. I read an article years ago on Scott Hanselman's blog, and it really hit home with me. Here is a link to the original article. https://www.hanselman.com/blog/ImAPhonyAreYou.aspx I often feel like I am an impostor, and that at some point my boss is going to realize I am not as good as he thinks I am.

When I thought about writing this blog, the thought went through my mind that not only would I have to worry about my boss thinking I am an impostor, now I am opening up that possibility to the whole world. This could really limit my future income if everyone figured it out. My other thought was that if I post something that makes me look totally incompetent, someone will point it out to me, and if my ego will allow it, I could become a better programmer. That seems like a pretty positive upside. 

As I get older, I get the feeling that I am falling behind all the time. When I was young, I felt like I could take on the world. My brain was a sponge that would just absorb new things and actually retain them. I would get an assignment to work on a project in a language I have never used before, and I would buy a book, read some sample code, and then get the project done. Now it seems to take forever to learn a new concept in a language I am familiar with. Did I really slow down that much, or did the environment I work in get more complicated. 

The answer is a little of both, but more the environment I work in got a lot more complicated. When I learned to program, it was all procedural programming, and when I started working in IT, I did mostly scripting for system administration or SQL programming. Even when I started writing web applications, it was all still scripting, asp, php, perl, and coldfusion were all scripting languages. Even my cgi code was procedural C, so it was a long time before I did anything with object oriented programming. 

Now all the main architectures are object oriented, but even when I started learning MVC, I wasn't using a pattern based approach. I read through tutorials online and bought several books, and they all started with building applications that put all the programming logic in the controllers. When I look at my old code, and I see how heavy my controllers were, I realize how far I have come. 

When I go to a user group meeting and I see a real hot shot coder showing some new code, and while going through a demo he or she will mention something I didn't know as though it is common knowledge, I always beat myself up for not keeping with these things. At these meetings, I am always taking notes, not just on the topic being presented, but also on the side items that I see that I have to learn. I always feel like an impostor after one of these meetings. 

Usually after a user group meeting, I avoid the social hour, and go straight home. At the last meeting I went to, I decided to go out with the group that was getting beers at a local bar. I am usually an introvert, but a beer or two and conversations about IT solves that problem, and I had some really nice conversations. The interesting thing was that during the meeting, I had those feelings of being an impostor, but when talking to people directly, I felt right at home. Everyone at the table had similar issues they were working through. How do you keep up with new code while maintaining legacy systems. 

Here is my take away on this. When I go to a user group meeting the presenter is usually someone from a tech company like Microsoft or Quicken Loans. These are guys who live and breath the latest and greatest technologies and standards. They get to work with this stuff everyday for hours on end. Where I work, I get to work on a few new applications every now and then, but I am also still supporting applications that are 20 years old. I am still maintaining several SQL Servers, a web environment, SharePoint apps, and even some command line applications. No I am not on the cutting edge of technology, but I do a lot of things really well. I spend more time learning new things than anyone in my group which means I never have anyone to use as a mentor. I am not an impostor, my skills are just broader than they are deep, and that is what I need at the current time for my job. If my employment changes, then my skills will have to adapt, and they will, they always have.

x

Comments

Popular posts from this blog

Asp.Net Core with Extended Identity and Jwt Auth Walkthrough

File Backups to Dropbox with PowerShell

Dynamic Expression Builder with EF Core