Hey, it’s Alvin.
Imagine you’re starting a new career as a software developer.
You learned some theories in school. But you know nothing about the actual work involved. What do you do?
Most likely, you’ll start off fixing bugs. You’re not that great at coding, but it’s ok. You can learn as you go by looking at and copying existing code in the program you’re debugging.
Then one day, you’re asked to code your first feature. It’s exciting, but scary. You’ve never done it before. So, there’s plenty you don’t know about making a feature.
The testers found some bugs you had to fix.
But you get through it. Your first feature is released. There is no time to celebrate, though. Because everyone’s busy and those around you have all been through this hundreds of times. Besides, that first task was pretty darn easy.
Now, developing features becomes a part of your daily job. But as a beginner, there’s a lot you still don’t understand. You’re often stuck, so you reach out to your teammates. Sometimes they spend a few minutes with you before being pulled away by another issue.
You’re on your own, buddy.
You can’t just sit there staring at the screen, so you try to find a solution online. But the online solutions don’t quite match your specific situation. You spend hours fixing what seems like a trivial problem. Like aligning text on a screen properly. It takes longer than you thought.
It must be because of your inexperience.
When you deploy a new feature, you’re met with a laundry list of nothing but negative (but constructive) criticisms on everything you did wrong. You get an earful from the testers, your boss, and other teammates.
The font face is wrong.
The text should be left aligned.
The colour is off.
The feature does X, but it’s doing Y.
Numbers aren’t rounding properly.
Timestamps are in the wrong time zone.
Some data didn’t update when it should have.
Some data is updated with the wrong values.
Some data is duplicated.
The process took too long.
But you get no positive constructive feedback. You never hear about what you’re doing right that you should keep doing. Certain questions creep into your mind…
“Am I doing anything right?”
At some point, your boss has to demo your company’s software to some clients. He wants a bunch of features, some of which the clients never asked for. He believes the “bonus” features would make the clients happy, though.
Your boss tells you to make a feature and asks you how much time you need. You say, “2 weeks.” He says, “do it in one.” This is still your first year, so you don’t know how to push back on the deadline. It doesn’t help that your boss’s default emotion is anger. So, you concede. But as you code the feature you realize; you won’t make it. You’ll have to cut corners to make the feature look like it works.
The feature’s crappy.
You know it. You wish you had time to learn how to do it right, but it’s released, anyway.
How did the demo go? Did the clients like it?
No one knows. Your boss never said. He only returned with negative criticisms of what needs to be fixed. And now he wants new features for the next demo.
Imagine if everything I described above happens day after day. Week after week. Month after month.
How would you feel in that situation? Would you have any confidence in your abilities in a situation like that?
I know I didn’t. Because everything I described above happened to me… at the start of my career. My confidence hit rock bottom. How can anyone have any confidence when…
Everyone focuses on how you screwed up time and again.
You don’t know what you did right, so you don’t know what to build on.
There’s no time to learn how to make good software.
Teammates have no time to support one another.
You make crappy features with no value just to make deadlines.
I had no confidence because I had nothing tangible to be confident about. I had nothing to anchor my confidence in.
Earlier this year, I reflected on my career. And I realized I’m much more confident than I was early on. It’s not just my software development abilities. I’m confident in my ability to face unknowns because software development is full of unknowns you have to face every single day. And I spent more than a decade doing that.
I noticed a couple of quirks about confidence.
My confidence didn’t just turn on like a light switch.
I built my confidence over a long period of time.Some types of confidence are more fragile than others.
Whether your confidence is fragile depends on what I call a Confidence Anchor.
Fragile Confidence Anchors
In Dive 12, I talked about how I was an ‘A’ student in elementary school through high school. I was so confident in my ability to keep top grades that I unconsciously made my grades my Confidence Anchor. My confidence was based on my grades.
Well… I screwed up.
In my first year of university, I failed three courses. Within just one year, I went from an ‘A’ student to an ‘F’ student.
My confidence shattered.
That was probably the first time I had zero confidence in myself.
What got me on this topic was a video about a man who got surgery to become taller. It’s an excruciating surgery that breaks your legs repeatedly for months and costs around a hundred thousand dollars. But he felt being taller gave him more confidence.
To me, though, it’s another example of a fragile Confidence Anchor. It’s not the height that’s giving him confidence, it’s his newfound appearance. But if he lost confidence because of one aspect of his appearance, most likely he won’t be satisfied with other aspects later.
Don’t forget that we live in a society that prizes youthful looks. Just look at all the ads. But aging is inevitable. So, if a person’s confidence is anchored in a youthful appearance, then their confidence is doomed to wither.
You want to build your confidence big and tall like a skyscraper. But if you anchor it in loose soil, it will collapse. The bigger the skyscraper, the more devastating the collapse.
That’s why skyscrapers are often anchored to solid rock deep below the surface, just like…
Robust Confidence Anchors
The solution to low confidence is to anchor it in something that either can’t change or something you fully control.
I’m confident in my software development abilities because my confidence is anchored in my career accomplishments. My accomplishments won’t ever change because the past can’t change.
I’m also confident in my ability to write, make software, and deal with unknowns because I’m constantly working on them. I have systems in place to apply feedback and improve those skills in iterations. My systems are completely within my control.
As long as my skills improve, my confidence improves with them because it’s anchored to them. I believe in them. So, I have firm reasons to believe in myself.
So, slow down and take some time to ask yourself: “Where are my Confidence Anchors?”
Is your confidence anchored in something fragile or robust?
Reply to belowthesurfacetop@gmail.com if you have questions or comments. I’d love the hear from you.
Thank you for reading. Find your Confidence Anchors. And I’ll see you in the next one.
Lol
https://youtu.be/JJYz8pyXOG4?si=VQMOZus5W4H8EzPT