People who make me feel inadeuqate
Last week we had a database consultant come into the office. We in the development department didn't know much about it - were basically told that corporate headquarters in California had this database consultant they'd worked with in the past and he was going to be in New York, so they asked him come to our offices while he was on the east coast. We didn't really think we needed any consulting help, but at least that meant that we could get reimbursed for taking him to lunch, so whatever.
Little did we know that corporate had been working with a certified alpha-geek. It turns out that the consultant was none other than Jeremy Cole of Proven Scaling, formerly of Yahoo! and MySQL AB. Of course, we didn't find out about his background until a little later, but it was clear within the first 30 minutes that Jeremy really knows his stuff. Plus he's a really nice guy and is easy to work with. I think we all learned a lot and had a good time doing it. I don't know what corporate was paying Jeremy, but whatever it was, I can say with certainty that he was worth every penny.
Living in the software development styx, I've never actually met anyone who was as much of an über-geek as Jeremy. I have to say, while it was an honor and a pleasure, it was also a little bit intimidating. I mean, here's a guy who can't be any older than I am and he's already the know-everything super-geek that I want to be when I grow up. It just makes me think, "I should be like that!" I just need more dedication, more energy...another 6 hours in the day.
On the up side, working with Jeremy did inspire me to take the advice of the Typical Programmer:
Few programmers bother to master SQL even though they use it all the time. It may not be a “real” programming language but it’s worth mastering SQL and the relational database model. Once you understand relations and start thinking in terms of sets you will be able to solve all kinds of problems efficiently. Databases are everywhere, but if programmers learn about them at all it’s only enough to use them to persist objects into.
There is wisdom in this quote. When I think back on the stupid, impulsive days of my youth, databases seemed much like HTML. They were both little more than vehicles for "real" code. In those days, HTML was "just" the medium for web applications and SQL was "just" a way to get rows out of a data store. Everybody "knew" that the "real" programming languages was where the magic happened. HTML, XML, SQL and the like were just peripheral "toy" languages - if you could even call them "languages".
Ah, the stupidity of youth! Looking back, I'm amazed that at 20 I was able to think I knew everything, when it is now so very clear that I knew less than nothing. Even something as superficially simple as XML can be an entire world unto itself. To dismiss something as crucial as data access as a "toy" is just plain crazy. Without data, the most beautiful code in the world is utterly useless. Being able to skillfully manipulate and query your database is an invaluable skill, the kind that sets the dedicated professionals apart from the amateurs.
So my next project, as soon as I finish UML Distilled, is to brush up on my relational theory and get a good, solid grasp of real SQL, not just the basic to intermediate stuff I've been getting by on. To that end, I even picked up a copy of Joe Celko's SQL for Smarties: Advanced SQL Programming. I haven't started it yet, but it promises to be an informative read. Granted, it won't make me the expert that Jeremy is, but it's a step in the right direction.
You can reply to this entry by leaving a comment below. You can send TrackBack pings to this URL. This entry accepts Pingbacks from other blogs. You can follow comments on this entry by subscribing to the RSS feed.