Summary: Guilt is a poor source of motivation.
On a certain IRC channel, we’ve had a series of discussions about how a dabbling software developer can become an established professional. One of the recurring topics is feeling guilty for not being good enough.1
There are a lot of highly visible cool programmers with out there. Their knowledge is deep and wide, they’re pushing out popular open-source libraries, they’re giving spectacular talks, they’re working for or starting prestigious companies.
As a junior developer, it’s easy to conclude that this is what you need to do to be a professional programmer. A junior developer seldom does any of these. This can make you feel guilty.
Of course, nobody can realistically expect a junior to do those things. Not every experienced developer does those things, or wants to. It takes time and effort to have impact and to become well-known, even if you’re lucky and privileged. You eat an elephant one bite at a time, as they say.
The guilt may still be there, though, even when you know all this.
I don’t know how to get rid of it, but I want to tell you my story with guilt. It’s about math instead of code, but the logic is the same.
As a kid, I was always considered ”talented” in mathematics. I did very well in math in the high school and eventually ended up studying it in the university. The high school math needed no effort, but the university math was harder. Turns out you have to work for your grades in the university!
Some students seemed to solve the exercises and pass the exams without any effort2. I felt like I should be able to do it easily as these other students did but I couldn’t. This made me feel bad about the exercises, which made me avoid them, which prevented me from learning to solve them, which made feel even worse about them. The vicious circle was complete. I pretty much dropped out of the university because of this.
I don’t know what changed it, but eventually I stopped caring about how easy the exercises should be. Instead I started to focus on how much I liked learning math. Studying became something I looked forward to. It has gone to the point that I’m excited about an upcoming exam, because it’s a reason to study math.
It’s a long road to become great at what you do, whether it’s software development, mathematics, or something completely different. I hope you can find a way to enjoy your journey.