Jan 08

Humility and Database Connectivity

Ben Watson, on his blog, Philosophical Geek, recently published an excellent post titled Top 5 Attributes of Highly Effective Programmers. He is not referring here to knowledge of particular technical topics, frameworks or interview minutiae. Instead, these are 5 personality traits that make programmers more effective:

  • Humility
  • Love of Learning
  • Detail-orientedness
  • Adaptability
  • Passion

The post examines each of these in depth and, as I said, is an excellent analysis. Most interesting to me is the first, humility. Ben starts:

“Humility is first because it implies all the other attributes, or at least enables them.”

Though Ben states he believes all five attributes can be learned, I am not sure I agree when it comes to humility. My early professional experience taught me that after basic technical competence, humility is the single most important attribute a developer can possess. Humility enables best practices like unit testing and refactoring. Humility allows collaboration. In my opinion, humility is a requirement for the long term success of a team.

In 10+ years, I’ve worked with some massive egos and some incredibly intelligent, talented people. Rarely would I use both descriptions for the same person.

Working with a programmer who is sure they are an expert in every topic makes for long days. They generally believe that every line of code flowing from their gifted fingers to the keyboard is bug-free and perfect. Their designs are the work of genius only they possess. Testing is unnecessary against such perfection. Code that does not work must be someone else’s issue. While this description may sound like a caricature, I’ve been there. More than once.

In my first programming job, I worked with that guy – the Expert. This was 1997 and the company was just figuring out how it might hop on the Internet bandwagon. We were building an e-commerce site with Java servlets and JSP (version 0.92, if I remember) — technology choices our Expert made because, well, he was an Expert. While the rest of the team was learning on the job, he churned out library after library. While the team got up to speed and built some momentum, our Expert wore out his welcome with management (long after he’d alienated most of the team) and was reassigned to a  “special” project.

As our first big release approached, we uncovered some glaring performance issues in his database connection pooling library (I believe this was early enough that we were using a Type 1 JDBC-ODBC bridge with no built in pooling). Clearly annoyed, he said he’d have a look and dismissed me. A couple of days later I inquired again. He could reproduce the problem, but was sure that it was not his code. His conclusion was that the JDBC-ODBC bridge was to blame and suggested that we switch to the pure Java driver, which I believe was not yet at 1.0.

Not long after this, our Expert left the company, having further worn out his welcome and failing to get his “special” project off the ground. In the meantime, a couple of us unravelled his connection pooling and fixed the threading issue that caused the problem.

I have other, similar stories – some from long ago, some from not so long ago. In all of them a lack of humility leads to pain. Again, I’m not sure this trait can be learned. I do know that when I think about joining a team, this is always one of the variables I carefully consider.

Nov 07

Catch Up

I know, I know. 6 months.

Where the hell have I been? Not playing poker – that’s for sure. I’d need some sort of 50 sit n go bender to get back to rusty. Bloggs and others have nudged me recently, so I’ll do my best to catch up and maybe it will start the regular update ball rolling. Just don’t expect too much poker.

Instead, I’ve been focused on work and travel.

Work is work. I’ve got my head down, trying my best to make my little corner of the pokery machine work as smoothly as possible. Those of you playing on the site don’t usually see the results of my work directly, but when customer service comes through with a correct answer on your cashout, or finally bans the chat of the idiot who said nasty things about your mom after you busted him… I may have had a small hand in helping some of those things happen. By the way, if hey screw up your cashout, that is not me. :)

As my team starts talking about the next generation of our applications, I’ve been spending much of my free time diving a little deeper into the technology stack – researching the latest in .NET, WCF, WWF, the new MS MVC for ASP.NET, Nhibernate, Rhino Mocks, Castle Windsor, etc. Not my usual territory in this space, which is one reason for the silence around here. Frankly, if I were to write what is on my mind, I’d be writing about these topics frequently.

The opportunity to travel was one of the big reasons we made the move to Dublin last year. Facty and the children and I have been trying to see as much of Europe as possible. A quick summary of our trips from earlier in the year…

Going way back to March, we went to Venice, Italy. An incredible, unique city. The gondolas in the canals, the Doge’s Palace, the Guggenheim, the Bridge of Sighs. All amazing. we had a Bellini at Harry’s bar ala Hemingway, bought carnival masks for the kids, ate as much great italian food as possible and were just tourists. Oh, and the boy danced with the pigeons in the piazza. Venice flickr set.

In April we went to Paris. Facty booked an lovely apartment on the Isle de San Luis, just a 5 minute walk from Notre Dame. Paris is overwhelming. there is just too much to see. we dragged the kids through enough museums that by the end of the trip, we had to take them out to Euro Disney to make up for it. The Louvre (big) and Eiffel Tower (really big) were as advertised, but the Musee D’Orsay and the Centre Pompidou were inspiring. Birdy enjoyed frogs legs at a small restaurant near the apartment. At the end of five days, we knew that we were coming back to Paris someday. Paris flickr set.

April also saw us train it up with a good sized FTP contingent to rainy Belfast to catch a colleague and once-famous poker blogger play American football. Belfast is an interesting city in transition. While dublin has been relatively peaceful and has thrived since the establishment of the European Union, Belfast has only recently seen the end of ‘the troubles’. The city is rebuilding and modernizing
furiously, though many of its wounds still feel fresh. Belfast flickr set.
I have much more, including more of Ireland, Spain, more France and much more Italy. These are more fresh in my mind and I’d rather spend more time on them, so i’ll save them. Next week, we head to Scotland – first to Edinburgh and then
into the Highlands. As there is a tartan for our name, Facty is threatening to buy me one of these. Sporty.

Mar 05


Back in January, hot on the heels of Otis announcing his paid blogging gig, Hdouble announced that he was taking the leap and joining Full Tilt Poker. Many were jealous and I was no exception. The fact that I was an early (beta tester) fan of Full Tilt and that they were located 7 miles from my current office made that pain all the more intense.

I wrote at the time, “…working in a business one is passionate about is huge. Its been quite a few years since I have done so (sigh). Best of luck, my friend.” After thinking about that more, I realized that since I started working in technology in 1997, I have never worked in a business that I found interesting beyond the technical challenges. In fact, the last time I started a job I was passionate about and felt genuinely lucky to be a part of was in 1994! And then, that was the music business and it didn’t take long for reality to set in. The point is, its been a long time since I’ve had a chance to do something in a business I’ve been excited about.

While my path to an interview at Full Tilt was not as star-studded as Hdouble’s, it was no less serendipitous. I know a guy who knows a guy, and the next thing you know, I am speaking with some very smart folks about the online poker world and sneaking up on Hank to ask if he’ll sign my printed copy of the PokerTracker guide.

My thanks to Hdouble (and Bloggs) for sweating me from the rail as I went through the process. and of course to Facty, my poker widow.

Oh, and I start at the end of the month. :)