Feeling discouraged (as a programmer)

Are you feeling discouraged sometimes as a programmer? You feel like you are not improving. Or not improving as fast as you should. At least not as fast as your coworkers.

Or maybe you look at your code and feel like it’s worthless. As if someone would take a look at it, they’ll mock of you. Maybe you even thought about stop being a programmer and instead become a clerk, farmer or bus driver because you are a fraud and you are lying to your employer.

I want to talk about that feeling of discouragement that we get, but don’t want to talk about it.

Feeling like a fraud
Compare yourself to who you were yesterday
My own personal example
Conclusion

Feeling like a fraud

Feeling discouraged

I don’t know about you, but sometimes I feel like I barely know how to program. Yes, I have about one year and a half of coding professionally, after 3 years of studying.

During this last 4 years, I’ve learnt and used HTML5, CSS3, Javascript, jQuery, Angular, Vue, PHP, Laravel, Java, C#, Python, Flask, Django, Java for Android, Node.js and dabbled with other languages/frameworks.

Yet despite being half decent in Python, Django and Javascript, the minor setback sends me back to the “I’m not good enough” zone. Sounds familiar?

Right now, I have been working at my company for more than a year. And I feel like it was just pure luck. And every day I keep working I feel like I’m cheating my boss because he does not notice how bad a programmer I am. Again: Sounds familiar?

But I noticed a pattern: I keep comparing myself to my coworkers, not comparing with the previous version of myself of 6, 12 or 24 months ago.

Of course, you are a bad programmer!

If you, as a self-taught programmer working doing landing pages (and a bit of JS sometimes), compare to that 40-year-old guy that holds a degree and was programming since he was 12, you would believe you don’t deserve a job.

Here’s a hint: Don’t do it.

Compare Yourself To Who You Were Yesterday

Imatge relacionada

Comparing yourself with others is pointless, as you are at different stages of your programming career.

Why should you compare with an Android developer with 5 years of experience when you are a website designer?

Let’s say we can measure our “Coding level” (like in an RPG video-game). Ours is 250, and our coworker is 5000. 4750 of difference, that’s 20 times ours!

6 months pass, we have learnt our language better, now we know intermediate stuff and we are learning the basics of a framework. Now our level is 500 and our coworker improved to 5050. Again a huge gap, 4550 points of difference!

That’s the wrong way to see it.

If you paid attention, now you sit at 500 points when 6 months ago you were 250. You doubled your level in 6 months! How many people can say that?

When we focus on how much distance is between others, we can’t see how much we have walked towards our goal.

Stop focus in others. Focus on yourself.

What other people do, doesn’t matter, it is you what it’s important.

My own personal example

Let me throw another quick example. A week ago I joined Edabit. At Edabit, you register, select your language of preference, and you get hundreds of challenges, with 5 levels of difficulty (Very easy, Easy, Normal, Hard, Very Hard).

I did the easier ones, and while it was easy, I saw people solving them with just a line, when it took me 2 or 3. I wanted to improve, so I decided I would solve any challenge I can with just 1 line. No matter how, I would wrote just a line, trying to be the least verbose I can.

edabit exercise

To do that, I had to learn how to use maps, list comprehension, lambda expressions, filter, etc to the best of my capabilities.

Now have resolved every ‘Very Easy’ and half ‘Easy’ challenges and in more than the 95% of times, I have the solution with less code in just one line.

And I didn’t care for a second about how good my 15 years of experience coworkers are or how many people are solving Very hard challenges.

I focused on myself and just myself. And the reward for that is that today, my code in Python is way better than was one week ago and I know how to solve exercises in a way I never thought I can.

Conclusion

You don’t need to join Edabit (despite I recommend it) to see how you are improving. Just check code you wrote 6 months ago. One year ago.

It is awful, right? Seems pretty bad.

Congratulations. It is bad. And it is bad because it is bad compared to your actual standards. You would never write code like that today!

Because how you code today, is better than what you coded months ago.

Because you improved.

That feeling of not being “good enough” or that you don’t know half what your average coworker knows will never leave you. It is part of the game.

Use that feeling to fill gaps in your knowledge.

You don’t know what Python lambdas do? Learn about it.

You never used the JavaScript ES6 list functions? Learn about them.

Do exercises like the ones in Edabit, check code of other people at GitHub, read beginner to intermediate books, tell your friends and coworkers to review your code and ask them what you can improve.

But always remember: It is all about you.

Resultat d'imatges de learning stairs