Coders be Confident, Not Cocky
In the last decade or two, the US proliferation of low quality reality television shows has been unstoppable. “Big Brother” would be ashamed by some of his siblings. There are shows that follow famous people (although, I’m not entirely certain why some of them are famous), shows that involve the audience, shows that support nerds; basically anything you can imagine! I pretend I’m above this, I surely don’t fall into the category of people who sit at home and pine over “The Bachelor.” I normally flip the channel right past these shows.
Episode 6: Confident, Not Cocky
Except that one time that my curiosity got the best of me.
While flipping through channels, I saw a number of geeky guys listening to another who was wearing what appeared to be a cross between a vampire and magician outfit completed with black nail polish and a fuzzy top hat. OK, this caught my eye.
After a few seconds, I learned that this was “The Pickup Artist” (the reality TV series, not to be confused with “The Pick-up Artist” movie with a very young “Iron Man”). I should have turned it off, lest someone see me actually watching this! But, fuzzy-hat kept me enthralled.
He went on to give dating and pick up advice to these men with the intent of helping them get a date that night. While I thought most of it ranged from annoying to appalling, he did use one phrase that I did agree with. “Be confident, not cocky.”
Confident Coders are Not Cocky
I remember one of my first ZendCon experiences. This was at a time where I knew all there was to know about PHP and I was one of the best programmers there were in the world. Or, so I naively thought.
I couldn’t be more wrong. After the first session, I found that I knew nothing.
It wasn’t the first time I acted like a jerk about my PHP knowledge, but it was nearly one of my last times. I began to learn that there was so much more that I didn’t know. I had no right to be so cocky.
There is a difference between being confident and being cocky. Let me demonstrate this with two points with relevance to programming.
Point #1: There is always someone who knows more
Just like you, the lack of consistency of the order of parameters in PHP functions drives me nuts. I remember mentioning this to one of my programming mentors a long time ago. I embarrassed myself by saying some inappropriate and condescending things about the structure of the language and the creation of the core methods.
With some patience, my mentor reviewed some of my code and showed me something that opened my eyes. While I complained about some inconsistencies, I not only made the same mistakes, but mine were more severe and more global than those I sought to correct. I always knew my programming mentor knew more than me, but this was one of those days that not only proved that, but helped remove my over-inflated ego.
There will always be someone who knows more. Take the time and go to a conference or a meet-up and listen to everyone talking to each other. I guarantee that if you know procedural PHP, someone there will know Object Oriented PHP. If you’re a whiz with a certain framework, there is someone there that wrote the book about Design Patterns that the framework is based on. And if you’re a super PHP ninja, there is someone there that actually creates C extensions for PHP.
There is always someone who knows something more. It is OK to be confident about your skill-set and your ability to solve problems. As a Confident Coder, I’d expect that from you. But, there is never a reason to be cocky about your programming chops.
Point #2: Imitate the leaders in the field
If I asked you right now to name a few of the leaders in the PHP field, you could easily rattle off a few key names. But, why did you know the answer so quickly? Was it because of their aggressive self-promotion, self-aggrandizing, their terse replies on mailing lists, or their sense of aloofness? Not those men and women. They’re not egotistical or cocky.
But they are confident. Try this: go visit a mailing list or blog of one of your PHP heroes. Notice how they write: to the point, accurate, detail based, researched, and confident.
That is your job as a Confident Coder. Work hard, learn your craft, and confidently present your work and your research. Being cocky and shouting to the world about how great you is embarrassing and any positive reputation can be destroyed easily. For long term worth, look at the leaders in our industry and follow their example.
End Notes
I’ve dedicated a good portion of my life to mastery in PHP and web technology. It encourages me to share my knowledge via blogs, conferences, meetups, this column, etc, to encourage the next generation of programmers. I’m confident I’m making a positive impact on the world. But, even as I humbly continue down my path, I’m surprised by the sheer amount of information out there that I still have to learn. I could never be cocky. Like you, I’ve put in the work, though. I will present my work with the proper amount of confidence, that of a Confident Coder.
This entry is republished from the original columns included years ago in the PHP Architect magazine. I really recommend purchasing the magazine to get timely articles, columns and PHP news.