by breeve 3. July 2011 16:43

When Alexander Fleming returned to work from an August vacation in 1928, he began the monotonous task of going through his staphylococci cultures—bacteria that cause boils, sore throats, and abscesses—housed in Petri dishes. While examining each dish he noticed something unusual. One culture was contaminated with a mold, which by itself isn’t that unusual, but around this mold the colonies of staphylococci that surrounded it were killed.

Realizing the unique properties of the mold, he spent weeks growing mold trying to determine the type. After consulting with a Mycologist, they determined the type to be a rare strain of Penicillium notatum. Fleming named it penicillin.

The interesting part of the story is not the discovery of the disease killing mold but Fleming’s curiosity and desire to learn more. Of all the qualities a scientists needs, nothing is more critical than curiosity peppered with desire. Other scientists might have seen the same mold phenomena but their lack of curiosity prevented them from moving forward.

Fresh out of college, I started my career at National Instruments. Among all the employees that walked through the doors of the Mopac C building, none had a greater influence on the software direction of the company than Jeff Kodosky. He invented the software language LabVIEW that powers everything National Instruments does.

I sat close to him for a couple of months and among his duties was to take pictures with campus visitors. When visitors weren’t clambering to see him, he would take trips to various places. After he returned, he often sent an email attaching the photos from his latest adventure. More interesting than the pictures, however, was the quote seen at the bottom of all his emails. It said something to the affect of: “Great discoveries are started by saying ‘that is weird'.”

What Kodosky understands is that every discovery is made by first observing something acting differently than what we expect. More importantly, he understands that programmers make discoveries because the software doesn’t act correctly. Programmers are computer scientists after all, and the effective ones are curious about odd behavior. Kodosky expects this quality from the hundreds of programmers hired to work under him.

Great programmers are like Fleming in that when they see a program behave in ways they don’t expect the curiosity overwhelms them and they can’t help but relentlessly track down why that is. In the process they kill bugs that plague the product and produce higher quality features. Make no mistake, these types are the ones that keep the toilets flushing and are the foundation for stable products.

As important as these types are, the real problems occur from programmers who overlook the mold in the Petri dish rationalizing odd behavior away as chance occurrences not worth their time. As behavior is overlooked, the defects sink deep into the software like two week old Chinese food making its way through your digestive tract. Every good software manager knows the longer a bug remains in the system the harder and more costly it is to fix.

Even more frustrating is trying to tell what type a potential hire is during an interview. Like a heard of wilder beasts, programmers all look the same but after a couple of chases by hungry lions the weak ones become apparent. But unlike wilder beasts, where strength and skill are paramount and curiosity gets you eaten, curiosity must be one of the top things you look for. New frameworks and languages can be taught. Curiosity and drive cannot.



Powered by BlogEngine.NET
Theme by Mads Kristensen

About Me

I am a Principal Engineer with 16 years experience developing and releasing software products. I started developing in C/C++ then moved into .NET and C#. Currently working in Python/Flask and Docker. Have tech lead multiple projects. I have developed products in Windows Forms, ASP.NET/MVC, Silverlight, WPF, and Python. I currently reside in Austin, Texas.

Own Projects

Pickaxe - An easy to use web page scraper. If you know a little SQL and how basic CSS selectors work, no web scraping product will be easier to use.


FligthQuery - Query FlightAware FlightXml API with SQL


Created ASP.NET MVC forum originally targeting home owner associations but now in use by an investor group.

Currently Reading