This image is a picture of confidence. My search told me so. But, as we look at this picture, we can see signs of confidence in this woman. She's standing up straight and her head is up. She's smiling. Her arms are crossed in just the way that we do to show confidence.
As a dev manager, I want every one of my people to be able to stand like that. That level of confidence is perfect. It comes from a job well done. It speaks to a person who understands themselves, both their abilities and their limits. That's the kind of person I want to have on my dev teams.
Yes. You read that right. I want someone who knows their limits. I want people who know what they're good at and what they're not so good at. I want developers that only trust themselves to a certain extent.
Hubris and Humiliation
Too much confidence in a developer is, in my opinion, worse than too little. I speak from personal experience as a developer who, when I was younger, had WAY too much confidence in my skills. My hubris led directly to humiliation.
Early on in my career, I was tasked to write a script to push data out to 500 stores for a major retailer. I whipped it out quickly and set it up to run that evening. I was out the door by 430pm and on my way to meet friends for dinner and drinks. The next morning, I came in, a touch late, to find out that my script had a flaw and I'd effectively implemented an internal denial of service attack against the subnet that the stores were on. I knocked 500 stores off the company network.
I owe a great deal of credit to my teammate, Bill, and my manager. Once I found out what I did, I was sure I was going to be fired. However, rather than berate me and fire me, they used the incident as a teaching moment. However, my screw-up was public knowledge within the department, and a printout of a keyboard, with keys 2" square found its way to my desk shortly afterward. I took my lumps and I earned them.
A bit less confidence in myself would have led me to ask my coworker to review the script. He found the flaw quickly when ops called him late at night. To this day, I'm not great at writing tests. I AM great at asking people to review my code. I AM pretty good at trying to test it using every scenario under the sun.
Having a dev team full of developers like I was can give a dev manager hope for the future but comes with plenty of headaches as you manage misses in quality and flawed deployments.
Crisis of Confidence
The exact opposite of an over-confident developer or development team is the one that has little or no confidence. A developer who lacks confidence will hem and haw over a solution. You may find them endlessly debating 3 options instead of just picking one and seeing how it turns out. Over-analysis is often a symptom of a lack of confidence.
A team full of developers who lack confidence won't deliver much. Work will be reworked as new thoughts arise and new approaches are identified. If your teams aren't shipping code, it could very well be due to a lack of confidence.
Trust but Verify
Developers with the right amount of confidence know that they're fallible. They know that while they may write great code, they still need to test it thoroughly. They know that good unit and integration tests are part of how they prove they're good developers. They trust themselves and their code only as far as their tests can prove. But they know that they can write the code to solve the problem and the tests to prove the problem is solved.
Teams with the right amount of confidence will select an approach to a problem and only revisit it if a major flaw is discovered. They know that they can ship something and then revisit it later. They know they are fallible but are striving to deliver quality.
Management Support
Finally, a truly confident team knows they have the support of their management . The team knows their manager has their back and best interests in mind at all times. Each developer knows their manager will go to bat for them and not sell them out for personal gain. Caring, careful, and consistent management leads to confidence and creativity in your dev teams.
Comments