When I was studying at the university there were a few people really interested in getting the scholarship. The money was decent and only ten best students could get it. So people began to compete for it very quickly. In the beginning I wasn’t interested in such things as I was not sure if I would be able to hold up on the semester. I wasn’t good at math so I just focused on studying more than the others. But when I started getting better grades my chances to get the scholarship increased considerably. And the race began.
I remember how hard it was to get help from anyone. The best students were chasing the scholarship so you couldn’t count on their help. Your only way was to work hard and be persistent. I realized that you should count only on yourself and make no mistakes. People were laughing at me when I took some tests two or three times just to get the best grade. Failure is not an option if you want to be the best. This was my thinking for almost three years. It got me the scholarship for every following semester, but looking back it was the stupidest thing I’ve ever come up with.
Lack of help and extensive studying made me develop some kind of independence and belief that there is no problem I cannot face. When we think of it, this independence gets rewarded at many points in our lives. Our teachers at school reward us for dealing with problems fast, parents are proud because of that and friends admire us for our successes (they don’t necessarily admit it but deep in their hearts they do). And of course - it feels good. This makes us believe that we shouldn’t ask for help. People have their own problems, why should I bother them with mine? With this thought in mind we try to solve everything by ourselves and we are afraid of making mistakes that could potentially put us in a bad light.
This mindset is wrong. I was lucky enough to learn that during my internship before starting my first software development job. Having good mentors is a great help, but not everyone gets so lucky.
In IT you often work in teams. There are always deadlines. You have co-workers that know things you don’t. You need to leave your independence behind and start asking questions. You should admit that you’ve made a mistake and/or cannot deal with a problem by yourself. It’s better for you and those around you. This is especially useful when you are starting your first job or are new to a team. If you ask questions, your more experienced co-workers will know that they don’t need to supervise you. They will know that you are someone who asks for help when things get too complicated (and if you are the team leader ask yourself - wouldn’t it be great if you didn’t have to watch over every new developer that comes to the team, because he seeks for help and advice by himself?).
In order to do that you need to wake up, just like I did, realize that you don’t have to be perfect and do everything by yourself. I’ve seen a few times that team didn’t deliver functionality on time because someone tried to deal with a programming problem alone. If you lose without asking for help then everyone in your team loses. The best thing is that making mistakes is a skill that can be treated as a superpower.
Sometimes we fall into analysis paralysis and overthink things instead of trying something to see what happens. This is where the superpower of making mistakes comes in. Simply act instead of analyzing too much. Every time you fail, let it go and try something different. You will eventually get it right and the mistakes you’ve made will give you an insight to the problem. You can learn from that and make sure not to fail the same way in the future. If there is no mistake then there is nothing to learn from.
And yeah, you can argue that you can learn from books etc. This is not enough. I once read 1400 pages long C# book before I wrote anything in this language. I was pretty sure I would rock writing C# programs. And guess what? Reality turned out to be different than “The Matrix”. Knowledge is nothing without experience.
Making mistakes is inevitable. It’s a part of our lives. That’s why we work in agile methodologies that shorten the feedback loop and let us learn from our failures.
I know for sure that when I started testing my ideas and failing often I got better results. Kick away the pride, don’t be afraid of making mistakes and learn from them. This can be your superpower.