Well, I can’t say if this text is about Imposter Syndrome or not. Most of what I read about it, explains the definition and try to give some advice...
For further actions, you may consider blocking this person and/or reporting abuse
You are not alone with this problem! Be kind to yourself. There are so many ways to be a good developer.
I'm terrible at keeping up with the latest frameworks. However, I see that as a personal strength -- it allows me to focus on the user and communicating ideas and solving problems. Things that I would consider timeless.
Other developers enjoy keeping up with the latest and greatest technologies. That's awesome. They can help me, and I can help them.
Is there one part of development that you really enjoy? Or that you're strong at? If so, try building around that.
I like when you mention about "focus on the user", there is another comment here about focusing in the user and it makes me think that sometimes it's like we're creating software for other developers and not for the users, whose should be the main focus.
A couple of years ago I was in a meetup which the speaker told us something like: "If you're more concerned about creating the next JS framework than making the people's lives easier, you're like a Civil Engineer that builds houses only for other Engineers to live. Programming is much more powerful than you think, use this power!".
Currently I'm working as .Net developer, but I like Frontend more. While I can't switch my position I like to give some shots on GitHub, building silly stuff for practicing my Frontend skills.
So true. Programmers who can put themselves in the users' shoes are extremely valuable. It's just as valuable as knowing all the frameworks off the top of your head. After all, Google can find you frameworks. It can't find you empathy.
Also, don't be too put off by job descriptions. Often they're thrown together by recruiters, who ask for all technologies under the sun.
I LOLed. I don't think there is a single person walking the earth who has watched all their Udemy courses (or even a fraction of them) till the end. Udemy courses straight up suck 95% of the time because they always feature the obvious stuff for a prolonged time. They are made for absolute beginners.
Anyway, please realize the following: Dan Abramov isn't a better developer particularly because he created Redux. There are a lot of people who created some libraries or came up with some sort of technical implementation. Dan Abramov was fortunate enough that he did the right thing at the right time and it gained traction. That alone doesn't make him more knowledgable than you. You may close on this thought by saying he was at the right time at the right place.
Right now he is (re)learning JavaScript, particularly by teaching it to others. And by the way, the first sentence in one of his recent articles is saying exactly what you are fighting with:
What I would say though, is, that Dan is an excellent writer - maybe even better than he is a developer. I also think he has a few other, advantageous traits that helped him to get where he is now, but that's on another topic.
So relax. You're doing good. Dan is doing good. Everybody is doing good. Don't degrade or elevate yourself or anyone based on where you or anyone is. If you feel you lack some knowledge or some skill, isolate that realization from any judgment and expectation. Then go and look it up. Feel better afterward.
Your words somehow brought some relief to my heart. If I feel like a fraud it doesn't really mean that I'm a fraud. This bad feeling makes me not see what the good stuff I've done so far and the skills that I'm good in.
We're here to (re)learn by our mistakes, and that's beautiful :)
Stop comparing yourself with others, each of us has it's circumstances, and a lack of knowledge doesn't mean you're behind someone else. I'm a self-taught developer, when I started it was just about how to write code and make it work, I wasn't care about what's going on? How the things wokrs out there nor why to use this over that? I was hungry of knowledge and learning, I was pushing myself to know a lot of things at once, but in the end I didn't catch any, so I stopped and I decided that I must go with what/where I found myself. I stacked with JavaScript, Vue using Nuxt in Front-end and Express in Back-end, PHP using Laravel. I have 4 years of experience as a professional developer but just two years as a full stack since I started with web design.
You're not behind anyone, in contrary what I see is that you have a passion a lot of it which makes you hungry to know more and seeking knowledge BUT don't let it put you down or make you feel that you are less or behind the others.
So, this is like a daily battle with myself. I don't know where this feeling of competitiveness came from, so without realizing it I'm comparing myself to the others like we were in a race or something like that. But you're completely right when you talk about passion and it reminds me when I was learning how to code and enjoyed every line I typed, maybe I missed something about this passion during my career and should focus more getting this passion back and feel happy for being able to build something with the lines of code I typed.
Thanks for your comment :)
See it as a good thing, it sounds like you are surrounded by people that can teach you stuff and keep you engaged.
As long as you have interest in your work, I wouldn’t worry. :)
I think I might have felt the same around my 7-8’th year as a developer.
Now I am on my 13’th and seniority and accumulated knowledge just kinda snuck up on me.
It's good to hear that from another experienced developer. In the end, we are doing a good work but this sense that "I'm a step behind everyone" is very bad. I think the secret is to know how to cope with this kind of feeling just by knowing that we can't know everything about all, and that's okay since you're doing what you love :)
Ps, I still feel humbled by others quite frequently, in fact, problably more now, since I am more aware of the soft knowledge gabs.
Don't worry, .. most of us feel this way I think.. in part because we are exposed to super smart people due to Open Source and the Internet. You get the feeling everybody are geniuses and that you don't know shit.
But trust me, you see the tip of the iceberg online.. most people would never dream of publishing anything.
The fact that you even wrote this article proves you are way beyond the average /s
Your perspective is very interesting. We forget that not every developer has a GitHub account, give lectures or write articles, for example. I just wrote this article because I thought "I can't be the only developer feeling like this". But I couldn't imagine to reply any comments so soon. It's awesome.
And also it's good to know that even some of the "top of the iceberg" already felt like a fraud at least one time during their careers like I read in the other comment here.
By reading the comments I'm feeling I'm going on the right path by not giving up and trying to cope with those bad feelings :)
I think it's a good idea to shift your focus on what technologies you know / don't know, to what kind of products you can deliver, and ultimately what kind of value you can provide to a business or other people.
Instead of thinking about how, well, you could learn X or Y stack, or improve deployment with Z, focus on what products you're capable of making instead.
Of course, you shouldn't completely stop learning, but focusing on what matters is a lot easier ;)
Yeah, you're completely right. As I replied in another comment here, sometimes we are so lost in an open sea of technologies and JS frameworks, that sometimes we feel like we're creating software for another developers, whereas the main focus should be the final user
Thanks for your comment :)
I like when you talk about a "great position to become a better developer because you see your blind spots". Maybe now, after all of these years, this is a good moment to see what I've done wrong, what I've done right and how I can improve even more as a developer (and as a person as well, why not?).
I guess I remained so much time in silence about those bad feelings that is good to receive a feedback like yours.
Thanks for your comment :)
Get the numbers out of your head.. "30 years old", "kids on their 20s", "8 years of development".. Years are important only if you are whisky..
I am 31 yo, I am coding since high-school, I worked on Web development and embedded systems but I don't call myself a senior developer or principal developer or whatever. I let the others play with those labels and I use my time doing what I love the most and this is software development. If you are able to list several ways to solve a technical problem and choose the most efficient, if you are able to handle the software development process in every stage, if you know what you don't know but you know where to look for it in order to get the missing bits, then (to my eyes) you are a senior developer.
All the aspects you mentioned, like the unit testing and the design patterns, you can all master them as along as you are willing to. Don't let the frustration distracting you. Although, if you like this industry but you struggle to feel comfortable with the programming part, then you should probably consider other roles as well (qa/tester, product owner etc). NOT because those roles are easier to master BUT probably those roles might suit you more.
In any case, I wish you good luck!
I guess at some point I just missed that passion of writing code and enjoy the result. I ended up focusing on wrong stuff that keeps me away from what I like to do, which is to build software.
It's interesting when you talk about "consider other roles", even though I can't imagine myself in another position than a developer, but why not? I'll think more about that. Maybe it could be another way to explore my skills. Interesting.
But I think this frustration that you've mentioned is what is blocking me. Without it, everything would be SO much easier. I'll on that.
And thanks for your words :)
I think we should take this question from a higher level perspective. I think devs like Dan Abramov are rare gems. We shouldn't use them as examples to generalize.
I think how good your as a developer is more than just having great coding skills and knowledges. Let's be realistic, there are tons of new tech/libraries/lauguage/whatever you can name every so often. No one can possibly be familiar with everything. Not saying technical skills are not important, but it is just one of them.
There are also some other very important traits, such as:
I used to be one of those cool kids criticizing other people's code and I wished there would be someone who could tell me all these earlier. I hope this help you or at least give you insights!
In every profession there are those who does a bad work, others who does a good work and others that are exceptional like "omg, this person was born to do this!". The bad part of comparing yourself to the others is that you're aiming the perfection without taking into consideration your background, your feelings and not seeing the good outcomes you have done.
The points that you mentioned takes me to another level of perspective, showing that there's a whole world out there to explore and focusing on negative thoughts like "I can't do this" or "this is very difficult and I'll never learn it" can block our evolution.
Along our careers (and life as well), we'll commit lots of mistakes and I believe we can learn from them. And that's what I'm trying to do now.
Thanks for your comment :)
I'm currently trying to do my job and learn things at my own pace.
Jefferson you deserve a lot of credit for writing so open about yourself. I think that is very courageous.
I believe many developers deal with imposter syndrome at some point of their career. I was there too and it revisits me every time I take to long to finish a ticket at work or can't find the ideal solution for a problem.
That's normal, it is just a sign that you really care about your work and that you are a person that reflects a lot.
And it is also normal that you meet people that know more about a topic than you. Don't be shy or embarrassed by that, instead embrace it and try to learn as much as possible from those people.
Trust me, I felt each and every word in your Blog. As a beginner developer i constantly feel the same when i look at my fellow colleagues just scroll through tasks and complete them in a jiffy! The constant feeling that i dont have enough knowledge, kills the mood several times!
But what has helped me is socializing about it and being open to my colleagues. Asking for help is not a bad virtue, i believe it shows the learning atitude and thats what most of them want in their employees.... (I hope soo) :P.
Thanks for the Blog!
You’re a good developer if you put the users first.
In fact, it's always good to be in the users' shoes and try to make the best product we can. Sometimes we are so addicted to develop the "happy path" that we forget about how the people will use what you're building.
Thanks for your comment :)