Have ever felt good about your skill on programming (or any field) and found out that your ability is not even a fraction on the tip of the iceberg? How about being a seasoned programmer but you felt like you are a fraud? If you did, I have a good news for you. You are not alone.
It is evident that Dunning-Kruger effect and Impostor syndrome are not uncommon in software development. Specially that technology evolves at exponential rate where keeping up with it is a nightmare.
I started programming on my 2nd year in college. I dove in without prior knowledge on computer. Well, I did know how to create a Word document and draw some Paints. But nothing beyond that. So you can only imagine the horror I had to face when I was prompted with black terminal trying to navigate from C:\ to D:\ to start writing an if-else exam on C. I spent the whole period figuring it out while all others were already dismissed after they finished the exam. I felt humiliated at that time and asked myself if I made the right decision to enroll in computer engineering.
Unfortunately, quitting was not an option since I didn’t have the luxury of transferring to another course, financially speaking. So I spent the whole summer figuring out how to write a program, from variables to pointers. The latter was really painful to understand. 🙂
The following semester, I surprised everyone by being always the first one to run a program and walked out the room with explosions behind me and not looking back. Since then, I felt really good. I was confident. I even wrote the whole program for our group thesis because I thought that’s how good I was. I was cocky.
And then, enter first employment. I was aware that having no experience, I had to exert more effort to learn. But I didn’t know that I had to go back to zero because what I learned in college was a just a pinch of salt to a river of soup in real world. Now, it goes back again to that first if-else exam feeling. And it even got worst after I got hired in another company where everyone knows different frameworks and technologies. I was confused and didn’t know where to even begin.
Eventually, I found my footing. I figured out where to focus my attention and I was lucky to work with intelligent people who shared their wisdom with me. And after 14 years of constant battle between doubts and confidence, I figured out how to find the balance.
So where to stand between overestimating and underestimating your skills? I can’t give the absolute answer to this but in my opinion, awareness is the key. You are aware that there could be a lot of people who doesn’t know what you knew but you should also be aware that no matter how good you think you are, there is always someone out there who is better than you. One thing I always try to practice is to compare myself to nobody but me. Competing with other people is not only exhausting but it benefits no one. However, it doesn’t mean that you have to ignore them. You need other people to learn from and improve yourself. Just avoid comparing your progress to theirs.
I would be a hypocrite if I’d say that I perfected it. Of course, I still feel intimidated specially if I met experienced programmers. But if you open up to them and be honest and show interest, usually they respect you in return.
So, if you ever feel either the Dunning-Kruger or Impostor syndrome, don’t worry. As I said, you are not alone. Just continue improving yourself. At your on phase.
Leave a Reply