Am I wrong? Have I ever been right?
Working with bright minds has many benefits. First, you learn a lot. Knowledge comes from surrounding yourself with smart people, exchanging smart ideas and listening to the wisdom of smarter peers. Second (and I’d say more importantly), bright minds remind you how often you’re incorrect.
A little under two years ago, I wrote an unfinished series (see Incubation) on writing Linux daemons in C. Feeling proud of what I had written and the code I created, I posted the article to reddit and pushed the code to my GitHub repository.
When the time came to submit the work to the world at large, I was a nervous wreck!
I spent many hours across many evenings writing the daemon framework. In my mind, I created a framework that’s conceptually easy to comprehend and correct. I walked through the code line-by-line with a fine-toothed comb, I debugged it relentlessly and crafted everything with extreme care. I wanted the framework perfect, knowing full well it would be reviewed by the brighter minds of my peers.
In the end, I was still incorrect!
The article was well received by the reddit community in general. The comments were amazing: Helpful, insightful and – most importantly! – let me know how wrong I was in several key areas of my original implementation. As a consequence, I corrected the framework based on shared ideas and experiences of my peers.
Being wrong is okay! Classic peer review prevails!
It’s a profound gift understanding the incompleteness of your own knowledge. No matter how perfect I made my framework, I could not have individually rationalized all of the critical deltas between the framework I produced and the wisdom of my peers. People with a greater depth of experience and education were able to help me understand pieces of a puzzle that I had not put together independently.
Maybe it’s cheating, somehow, to sponge up the wisdom of those around you. I choose not to see it that way, however. I choose to see it as a system of mental metamorphosis.
Simply put, I enjoy working with bright minds. They constantly let me know I’m wrong.
And that’s a wonderful thing.
- GeForce GTX 660Ti, NVidia, Nouveau and Updating from CentOS 6.3 to 6.4 (2013/03/10)
- One time, at work… (2013/01/17)
- My Family Doesn’t Care About Security (2013/01/09)
- Programmer Competency Matrix – Education and Experience (2012/12/21)
- Your Code Is The Only Meaningful Project Documentation (2012/12/19)
- I’m Not Arguing With You Over Your Terms of Service (2012/12/18)
- Embracing Change (2012/12/18)
- Finding Quality Developers is No Easy Task (2012/12/14)
- From Avid Gamer to Architect (2012/12/10)
- It’s Bugs All The Way Down (2012/12/07)
- wordptr.libwpd – Expanding Configuration, Changing the Interface (2012/12/07)
- On Tightening Focus (2012/12/06)
- 20 Days With the Google Nexus 10 (2012/12/05)
- wordptr.libwpd – Hooking the Main Loop (2012/12/04)
- I Didn’t Read The Docs – MDADM and Hostname (2012/12/02)
- My Developer Toolbox (2012/12/01)
- wordptr.libwpd – Making it More Library-Like (2012/11/30)
- wordptr.libwpd – Now a Static Library (2012/11/29)
- A Linux Daemon Library – Introducing wordptr.libwpd (2012/11/28)
- CentOS, VMware Workstation, Development and Piece of Mind (2012/11/27)