For the past several years I have been feeling quite embarrassed about my coding abilities. I've been self studying most nights trying to catch up to my peers but I feel like I have a moving target. I feel like my years of work experience does not reflect my coding ability at all.
This post will go over my programming history, then how I am currently studying to improve my technical skills, then finally what I think my weaknesses are as a developer. What I am trying to get out of this post is how I can improve as a developer in my current embarrassing situation.
A bit about my past:
I graduated from a UX design program 6 years ago. I did several internships during my time in college. My first boss told me that my UX skills were lacking but he saw that I had potential in web development (I put together a basic static website for his company). Since then I decided to slowly teach myself web development.
I did my second and final internship at a well known IT companies (Amazon, Apple...) as a junior developer. Unfortunately I did not get a chance to do much programming due to over staffing of interns.
After graduation I got hired as a junior software engineer at another large well known IT company where I worked for 6 years. My manager knew that I didn't have a very strong programming background so I was only assigned very simple programming tasks to do. I thought I was a good developer for most of these years as everyone praised me for how fast I was able to complete my work.
Last year before I got let go (due to company restructuring) I was speaking to a senior developer and he quickly noticed that I was lacking a lot of basic front end programming skills. He felt like my programming skills were equivalent of a 2nd or 3rd year computer science student instead of an intermediate software engineer. After hearing this I started spending my free time self studying.
After I got let go at my previous job I got a software development position at a smaller IT company. I work with several other developers, all of which have about one year of working experience. My team lead has about 4 years of software development experience. Needless to say, I have by far the most software development experience on my team yet I have the worst coding ability.
I guess my problem is that I feel very incompetent and embarrassed as a programmer. I have all this years of experience working and a beautiful resume, but my programming abilities do not match my experience/resume. I feel embarrassed having to bother my peers about programming issues that they don't seem to face. I feel lost when they talk about how to better architect the code. I feel exhausted that I spend every day at work coding, and then spend my evenings studying more code.
I have a subscription to PluralSight and do follow a few front end email feeds. Over the past year I feel like I have increased my CSS/JavaScript from a basic level to an intermediate level. My new company is using Angular and I feel like I have an intermediate-ish understanding of the framework. I am currently finishing up an Angular app. I plan on learning Java next (via PluralSight) as my manager wants to transform me from a front end dev to a full stack dev.
I guess my question is what can I do to rapidly become a stronger developer? I feel like no matter how hard I study I have trouble thinking like a developer. I feel like I don't know how to properly debug (my general strategy is to comment out several lines at a time to isolate the problem). I have trouble reading documentation hence why I subscribe to PluralSight for instructional videos. I don't have any developer friends I can talk to about this.