Introduction
I have been meaning to write a post like this one lately. Hopefully, I'll be able to keep it short. This was meant to be a little memo to myself, but I guess some people could benefit from it, so let's do this.
Where do we come from?
In this industry, we all come from the same place. The more time I spend on dev.to, the more I realised it. A place full of doubts, uncertainty, discomfort. It seems like we all go through the same process. Some call it imposter syndrome. There is always a moment in one's career when we question our motives, our abilities, our intelligence... or whatever we think doesn't make us enough to be a programmer. This is a natural state in a learning process. Whatever the thing is you are learning. Sports, math, relationships..., how can you know what you are doing when you never did it? You don't.
Do you remember the first time you drove a car? I can still remember my first lesson. How could I operate such a complex machine all by myself? What if I crash into a crowd? What if...? In the end, I'm doing alright driving my car today.
Like many other people, I experienced this as a self-taught developer. It's a tough place to be in for the first time. But, we manage to overcome this feeling. We are all better for it. But, I believe it's important to keep the feelings and emotions of that time in mind.
Go back there
Lately, I've been reading, writing and learning a lot about blockchains. The more I read about this stuff, the less I know. There is always something deeper to learn behind every concept. And most of this stuff is WAAAAY over my head. I'm reading Yellow Papers about blockchains writing in a language that is not my native language. On top of that, there are mathematical formulas, hexadecimals, cryptographic hashes...
If I started to learn about blockchain 2 years ago, I would have quit. No questions. But now, I know better. I felt the same way about Web Development not too long ago. What I feel about blockchain is only amplified because it's happening right now, it's so fresh. But it's all the same. And I'm having a blast. This is just so much fun. On my last mining article, Peter asked a question about the calculation of the difficulty/target in Bitcoin. It sent me down a path where I started to calculate stuff in hexadecimals, converting hexadecimals in decimals, googling countless of things... It took me two hours to answer the question, but that was just amazing.
So, every once in a while, put yourself in that place again. A place where you are the person who knows the least in the room. A place full of doubts and discomfort. But, every time you choose to go back, it will be a little bit easier each time and you will grow for the next time around.
Compassion
I've heard Bob Martin estimates that, in the programming world, the number of developers more or less doubles every 5 years. Doubles !! Which means, in our field, there is always 50% of the developers who have less than 5 years experience. This means that in your career, there is a very high chance you will work with something who knows a lot less than you, or is just starting out as a developer. Please make sure that you remember how you felt that first time. You could be a valuable help for a person just starting out. Remember what it felt like so you could deliver a precious piece of advice, provide much needed support, or even just not get angry at what you think is a stupid question.
You are doing fine.π
I don't want this little essay to be one of those that make you question who you are as a developer. There is nothing wrong with being in a place where you are just refining what you learned before, not learning anything completely different. I've stayed in that place for 6 months, I needed it. It is somewhat exhausting to push the limits of our knowledge.
I'll just end this little article with a question that helped me a lot when I started out:
At what point in the life of a flower, from seed to full bloom, is it perfect?
Is a flower perfect when it is struggling to get out of the soil? Or is it perfect when it finally feels the sun for the first time? When it is in full bloom? When its colors are starting to fade?
The answer is obvious, a flower is always perfect. Every single step along the way is a necessary one that can't be discarded. The flower has to start as a seed, struggle to reach the surface, bloom into a beautiful plant and die to become the nutrients for another plant.
It doesn't matter where you are, struggling to see the surface or in full bloom. You are perfect just the way you are. The path you are on is your path, and it's the perfect one for you. Every step you took, are taking and will take are necessary steps for you to grow. You'll be alright.
Peace. And keep learning.
Top comments (5)
So true.
I met many senior devs, who did >20 years of C and never wanted to learn something new, some of them getting unemployed in the process.
It seemed to me that they simply feared to become a newbie in the new technology and they wanted to be the awesome C dev they grow to be over the years.
Only the best tried new things every now and then and didn't fear to ask dumb newbie questions. That's how they became constantly successfull in their lifes.
Wow. That emphasizes this quote from the post which got to me the most:
Thank you Damien.
Some days ago, I wrote a text that is quite related to the one you did, because I really feel like I'm on that cycle again.
Yes, I think that this feeling that we, developers, have, is this anxiety to always be better, specially if not only, to ourselves. We always search for more knowledge, and always think that what we know is not enough. But as you said, sometimes I've felt that It was just only me, but reading Dev.to community made me feel not lonely in that matter.
And really, thank you for sharing that with us!
In case you are interested, thats what I wrote about this topic, in my point of view: Trying to be a real Dev
π What a great story, I'm glad you've shared it.
It might be the zeitgeist, as I see a lot of calls for understanding the basics lately. Like Ben who recently wrote this post about Reading source material. It might be just me though, as I've been spending a lot of time refining my own skills and going back to the basics as well!
I feel totally identified with that:
" And most of this stuff is WAAAAY over my head. I'm reading Yellow Papers about blockchains writing in a language that is not my native language. On top of that, there are mathematical formulas, hexadecimals, cryptographic hashes...
If I started to learn about blockchain 2 years ago, I would have quit. "
You are writing very interesting articles about blockchain.
Thanks