In programming, we hear so much about what tech stack we need to learn or what the new hot technology is. What we do not talk about much is the mental health aspect behind how you can be a better programmer.
That is what we will be talking about here, and that is why I love Simple Programmer. I get the opportunity to hear from other programmers about things we don’t necessarily get taught in school.
Whether or not you realize it, confidence level affects you each and every day. Heck, each and every millisecond. The thoughts you have vary based on your confidence level. The actions you decide to take are completely different depending on your confidence level. For example, the way you see yourself as part of your team will be different if you are confident in yourself. You won't fear what others are saying when you aren't there or what they may think of you. But if you’re not confident, you may waste a lot of time and energy wondering whether or not you’ll ever fit in.
Today, you are going to learn what confidence is, how varying degrees of it can be good or bad for your career as a programmer, and what the optimal amount of confidence to have in yourself is.
What Is Confidence?
We hear about confidence all the time, but it’s not something you can physically hold in your hand or an object that you can see. So what exactly is it?
From Google’s Definition service, confidence is:
the feeling or belief that one can rely on someone or something; firm trust.
Confidence exists when you can truly believe in something. That could be something that you foresee happening. For example, if you are confident it's going to rain tonight, then you firmly or truly have faith that it will rain tonight. (Now, even meteorologists get this stuff wrong, so I would highly question your confidence here, but that’s besides the point.)
If you do not have confidence in something, then you don’t truly believe it’ll happen. So, going off the ridiculous weather example, if you do not have confidence that it's going to rain tonight, then you are not sure it will not rain. (This does not impact whether or not it does rain, however, as it's a belief you have in yourself, not a fact.)
But enough weather predictions. The important thing to discuss here is how your self-confidence affects you as a programmer. To put it simply, confidence can affect your idea of self and your abilities. Pretty simple right?
The definition and concept are easy to grasp, but the effects that confidence can have on you are pretty profound.
Lacking Confidence as a Programmer
What happens when you do not have confidence in yourself? Let’s look at a sample situation first.
David is a programmer in a junior position (and for context, he has been in that position for five years). He’s looking to get a new job so he can make some more money. He starts applying for new jobs, but he only applies to junior positions.
The reason he does that is because he is lacking confidence in his technical abilities and does not think it is time for him to move into a senior position. He applies to jobs he’s overqualified for, and they hire him because the company can get an overqualified person for the price of a junior engineer.
There are a couple things to take away here. Although David has the experience to warrant a much higher salary, he is still going to be making the same money he was making at his old position. On top of that, he’s actually limiting his learning capability by not striving to go for a senior position, one that takes more responsibility. His confidence and self worth levels also never increase because he is always in junior positions.
This is just one example of how lacking confidence can hurt you. The effects of not having enough confidence can go beyond that.
If you’re not confident during a job interview, that can cost you the opportunity of even getting a new job.
Not being confident can make you not trust your own design or requirement decisions for what would make a good product and therefore make you design a poor product that no one uses.
The list goes on and on.
Lacking confidence in yourself and your abilities can prevent you from advancing and becoming a great programmer. (If you struggle with a lack of confidence, this article I wrote on ways to feel confident might help you in the short term.)
Too Much Confidence as a Programmer
Now, the other side of the coin is having too much confidence. This can hurt just as much as lacking confidence can, but in different ways. Here’s another example.
Veronica is a 23-year-old senior programmer. She escalated through the ranks quickly because of her exceptional skill. Veronica is now left with a design decision for a product. Because she believes she is a programming prodigy, she makes a huge design decision for this product that will be used by 2.5 million people on a daily basis, without consulting anyone else.
When the client found out Veronica had made this decision, they were furious that she had not consulted them. They decided to cut her entire team from the project.
Where did Veronica go wrong? Perhaps the things that other people said about her got to her head, or maybe her prior success caused her to be less humble than she should have been. This caused her to be overconfident, which eventually cost her and her team a future with that client. Normally, an engineer would consult the customer on what they want rather than making the decision on their own.
Doing this doesn’t mean that the engineer isn’t confident. An overly confident person struggles to see the benefit in getting input from others.
Tons of people struggle with having too much confidence. They are missing the ability to be humble and to realize that they also make mistakes, so they tend to make decisions without consulting other people. But that causes the decisions to bite them in the behind.
If you are someone who struggles with too much confidence, “Ego Is the Enemy,” by Ryan Holiday, will help you greatly.
Just Enough Confidence in Yourself
Now that it’s clear how having too much confidence is dangerous and lacking confidence can hurt you, what is a good amount of confidence to have?
There are a couple of things you need to take into consideration. First is your skill level with a specific topic. If you are someone who is an expert with 10+ years in the field, then you should feel confident when you have a hunch about something. But if you have less than a year of experience, I would recommend consulting with someone who has more experience so you can make a proper decision. Asking for help is actually something that displays humility, and less cockiness. When you do not ask for help, you think you are a know-it-all and are perfect, which nobody is. When you act perfect but inevitably fail, people will lose the trust they had in you to do a good job.
Another factor in determining the right amount of confidence is the situation itself. Have you analyzed all the facts properly? Did you double-check them? Are there underlying circumstances you are unaware of? Making sure you know the situation itself is key to being confident in the decision you are making. If you do not know much, then you definitely cannot be confident about it. On the other hand, if you have an in-depth amount of knowledge on that particular problem, then you can be confident about whatever solution you’ve come up with.
Understanding the situation and your experience level in those situations can help you to gauge if you are being too confident or not confident enough. This kind of balance between confidence and humility is indicative of several good qualities. Confidence and humility work in tandem with each other. They contribute to great leadership and smart risk-taking. You must know your flaws and be humble enough to admit them, all while trusting yourself to make decisions based on hard-earned experiences!
Be Confident but Humble!
Confidence underscores every programmer’s words, thoughts, and actions.
If you can come to understand what confidence is, how having too little or too much is not a good thing, and how having just enough can skyrocket your career, then you will be ahead of the mass majority of programmers who choose to stick to technology and not learn how their emotions play into their future.
Usually, confidence comes down to how you are feeling in the moment. It can be tough to truly believe in yourself and your technical abilities when you do not feel like it. It can be hard to put your feelings aside and become the best programmer you can be. My book covers that exact topic, as I’ve personally even found that it’s hard to find a balance of emotions as a programmer.
It’s very surprising how such an intangible skill could have such a real and tangible effect on your profession.