What’s the most unexpected but important requirement to becoming a good software developer?
Self-confidence.
You must be confident in your ability if you want to succeed as a programmer. It is still important to maintain humility. These concepts aren’t diametrically opposed to one another. You can have strong self-confidence and humility at the same time.
You must maintain a healthy dose of honest self-confidence in your work.
It is sad but I’ve met many competent programmers who fail to reach their potential. It isn’t because of a lack of ability, technical expertise or critical thinking.
They fail to reach their potential simply because they lack confidence in their abilities. They compare themselves to their peers, doubt themselves and listen to bad criticism.
They continuously set themselves up for failure.
Over and over again, good engineers with poor self-confidence miss out on awesome opportunities by their own destructive habits because they tell themselves that they can’t succeed.
Now let’s be real about what actually is and isn’t self-confidence.
Confidence != arrogance
When I say that confident engineers succeed, I don’t mean arrogant engineers. We all have known those engineers who believe their work doesn’t stink and yours is garbage. The engineers who go into a code review and tear apart your good feature with over the top criticism of naming conventions and spacing.
disclaimer: Not discrediting naming conventions or spacing. Just showing examples of where some engineers go overboard with such criticism.
Arrogant engineers aren’t confident engineers. Most of the time, the arrogance is just a facade covering their lack of confidence.
Be confident. Don’t be arrogant.
Confidence == belief you can solve problems.
Confidence in programming really comes down to 1 belief. Confident programmers look at problems and know that they can solve a problem with code. You may not solve it the same way as someone else. You may program the solution and realize that you did it wrong. It may not be the prettiest or sexiest.
You just listen to problems and believe that you have the ability to solve them.
Confident Engineers Have High Expectations For Themselves
I believe in my ability. I know that if I am put into a room and asked to program a solution that I will succeed and succeed well. I have high expectations for my abilities.
This means that I must either live up to those expectations or I am delusional.
I might’ve been delusional as a teenager thinking that I, a 5’8 kid with no athletic ability, would play in the NBA but I have learned from those embarrassing experiences. If I say that I can do something then I want to be able to back it up and show that it’s true. Therefore, I am always pushing my skills to improve.
Confident Engineers Learn From Everyone
Confident engineers know that everyone can help develop their own skills. They can listen equally to superstar engineers they follow on social media just the same as a junior engineer recently graduating from a bootcamp. Everyone has their own experiences and insights and you can learn from them.
Confident Engineers Know When to Listen and Ignore Criticism.
Not all criticism is good. Engineers with low self-confidence will listen too much to critics with little substance. These critics are the loudest but provide little to no benefit. Engineers with strong confidence know to ignore these people as they generally just enjoy hearing their own voice.
Good criticism doesn’t come from the loudest or most accomplished person. Instead, it comes from those who are invested in who you are or what you are doing. This doesn’t mean all customers or peers. Many of these people want to see you fail or just complain. They don’t provide value.
Focus on finding the right people that become invested in you. Their criticism will be pointed, detailed and constructive. It will be pointed not at you as a person but towards behaviors and activities that you can adjust.
Confident Engineers Produce Better Work
Engineers who lack self-confidence in their abilities find themselves in a negative catch-22. They produce bad work which only reinforces the doubt in their abilities.
The quality of work you produce is 100% connected to the confidence that you have in your ability.
If you believe that you produce superior work, then you’re going to live up to your standards that you set. If you doubt your abilities then you’re going to produce poor work. It is really important that you find 1 thing that you know you can do well and expand from it. You don’t have to be the best engineer at everything. Just do the best you can at even something small. You’ll discover that the reason why you excel in some areas but not others is that you enjoy some things more than others.
No engineer is great at everything. Confident engineers know there is a place for everyone to succeed. It’s important to discover where you best fit.
Confident Engineers Don’t Compare Themselves to Other Engineers
In the end, confident engineers know that their worth and abilities are completely independent to other engineers. My ability to succeed is not coupled to your ability to succeed. We may look at the world differently and we may solve the same problem in seemingly different ways.
But I am good at what I do because I have both succeeded and failed in my experiences. I know that my end result may lack in an aspect that other engineers find important. It is also true that the same could be said for me evaluating the work of other engineers.
My self-confidence in my abilities really comes down to the fact that I truly believe that if someone comes to me with a problem that I can find the right solution to make them happy.
Top comments (0)