Still Learning

I ran across an old resume of mine the other day (using frames! – what the hell was I thinking?!?).

It’s almost exactly five years old; it was the resume I used when I left Aberdeen and joined cars.com.

Outside of cringing at the look and feel and other issues, the interesting part was the “What I’ve Done” page, which is not a listing of achievements (“deployed N-tier application to….”) per se, it’s a listing of what tools I’ve used.

What I’ve done coding wise, in other words.

OK.

I split this heading into two columns: “What I Can Do”, and “What I Can’t Do (Yet)”.

While not traditional, nor am I. So it works.

I was heartened to see that, over the past half decade, I’ve expanded my depth of my skills in the “What I can do” category (example: way better and more sophisticated with JavaScript), but the really nice part was to see that just about everything I listed in “What I can’t do (yet)” I can do today.

Such as:

  • SQL: I noted I was (in 1998) currently learning it. Today I do queries in my sleep. While I still don’t consider myself a SQL guru or anything like that, I do write often complex queries, create views, script out table construction, stored procedures, views and so on. I’m a million miles from the 1998 “select * from tableName”. That’s a good thing.
  • Windows NT Administration: While I’m still not an NT admin – nor do I want to be one – I spend/have spent a lot of time with NT admin: Servers (iPlanet and IIS), databases (MS SQL Server & mySQL) and home networking. I have up to five machines on my network at any one time; two NT (Win2000), one WinME, two Linux. Again, substantial progress.
  • CGI: By this – I assume – I meant Perl CGI’s. And now that’s easy. I’m still learning Perl (isn’t everyone, including Larry Wall??), but now I user it more and more, both for CGIs, and – usually – as a scripting/parsing tool. While a page of Perl code often looks like someone threw up a mouthful of punctuation on the page, it’s a killer language. The more I learn it, the more I like it.
  • Active Server Pages (ASP): A recent addition to my computer tool belt. How did I teach myself it? A “hello world” page? No, a content-management system, complete with an admin section. How about that? Nope, it’s not perfect, but I’m learning still….
  • Server-Side Java: Sure, still weak on this, but I’ve written Java apps, JSP applications that access EJBs (Enterprise Java Beans) that I’ve written by hand. Written servlets. Not bad for learning on one’s own.
  • Visual Basic: I used this a great deal at cars.com to build little widgets that made the day easier – auto template creation, FTP/parser programs and so on. Again, not a wizard. Again, I’ve been there, done that now.
  • Perl: I think I covered this above. Having my own *nix boxes here makes this much easier (Perl runs better on *nix than on Windoze, at least to me….)
  • Unix: I’ve now worked at companies that ran either Solaris or Linux; I’ve had to use the shell extensively. And I have two boxes dedicated to this sitting right here in the home office. You learn by doing…. Hell, I have about nine shell scripts that run each night for backups (yes, I should consolidate all the CRONs into one package; in time….) – both Linux to Win2000 and the other way. So if any box craps out, I’ve got a backup on a different box/OS.
  • CSS and DHTML: Five years ago, I said the promise but I really didn’t get around to really learning them was because it wasn’t worth spending much time on, as the browser battles/differences made it somewhat worthless to deploy. I think I was correct: Only in the last year or so (at best!) are the browsers similar enough (standards…sorta…) so one can deploy CSS and DHTML (CSS & JavaScript). I’m very good at both right now. It’s very neat stuff, allows one to build very flexible, extensible sites.

I still have a lot of new things to learn (more database things [like replication], C#, Python and so on), and a lot of depth to add to the breadth I do offer.

Agreed.

Still, it was nice to see that I have pretty much nailed all the things I identified five years ago.

And the last five years of learning doesn’t even begin to touch the other skills I’ve added, some in depth, some not. Additional skills include, but are not limited to, the following:

  • Shell scripting
  • Web server administration: IIS, iPlanet (Netscape), Apache
  • Cold Fusion (eep! – not on the radar five years ago, has been a staple of mine almost since that time…)
  • Wireless networking
  • Blogging
  • Database design/construction/maintenance (including Erwin)
  • Lasso (not my choice, but I learned it to help shepard a product along)
  • VBScript – Implied by ASP, but not required (can use JavaScript)
  • PHP – and lots of it….
  • XML – enough to be dangerous/confused, but I’ve built XML parsers and worked with XSL and SOAP
  • HTML 4.01 – transitional and strict. Very different from HTML 3.02 in many ways
  • XHTML – little done, but I grok it

It’ll be interesting to see what the next five years bring, for me and the Web in general…