I Started as a Developer
That’s right – I was one of THEM.
But wait – it gets better. I started as a VBscript classic ASP developer. Using a Macromedia drag-and-drop GUI to build code. Hitting Microsoft Access at first, no less. I should probably break you in gently though.
In 1997-1999, I worked for a hotel management company as a jack-of-all-trades computer guy. I ran the network cables, I fixed the printers, I installed the OS’s, bought the desktops, yadda yadda yadda. As we speak, I’m wearing one of the shirts that PCConnection used to throw in the box whenever you bought a certain kind of HP LaserJet printer.
I’d come up through the ranks of the hotel business, and I was intimately familiar with the statistics that hotel regional managers wanted to see first thing every morning. How many rooms had each hotel sold? What was the average rate? How much revenue did the restaurant pull in? Every regional manager at every hotel company wanted this data, and they all had absurdly archaic ways of getting it. I decided to build a little web application so that the hotel night auditor could input the data, and then it would get emailed to the regional managers when all the data came in.
I started out using Macromedia UltraDev (which later became Adobe Dreamweaver) because it offered a slick, intuitive GUI that let you build code by dragging and dropping components onto the page. It worked great in the sense that a programming virgin like me could build an application that actually worked.
Right before the Y2K crisis, I went to work for a software company and learned Topspeed Clarion, a programming language that was supposedly database-agnostic. In theory, programmers could make a change to their data dictionary, target a different database platform, recompile, and bam – hook their app up to a totally different database platform. Unfortunately, if the program had anything hard-coded to take advantage of a particular RDBMS feature, then it didn’t work. I spent a lot of time learning the differences between Clarion’s native database format, Microsoft Access, and Microsoft SQL Server.
Getting Off the Hamster Wheel
After a few years of programming, project management, armchair architecture and honing my skillz, we decided that we had to get out of the dying Clarion and into a language with more legs. We were torn between Java and .NET, and spent several months building stuff with each one, trying to figure out what would suit our needs better. Suddenly, I realized no matter which one I picked, I was going to spend the rest of my programming career learning new programming languages every 5-6 years. I love to learn – but not new languages. I looked around at technologies to figure out what I could specialize in without constantly relearning languages.
It dawned on me that SQL as a language is pretty stagnant. DBAs don’t have to relearn a new language every time a new version of SQL Server comes out. Even better, if a DBA wants to change platforms from SQL Server to, say, Oracle or MySQL, they don’t have to relearn the language. They have to learn new tuning techniques and new management techniques, but not the language itself. Stick with standard ANSI SQL, and you’re pretty much safe.
That was it – I was hooked. From that point forward, I went from spending 20-40% of my time in the database to spending as much time as I possibly could. I’ve never looked back. This is one of the reasons I’m not really interested in learning PowerShell. A new language that I can use to manage SQL Server, Exchange, IIS and Windows, but not Oracle or MySQL? Thanks, but no thanks. I’ve seen what Exchange, IIS and Windows guys have to go through, and that’s the last direction I want to take my career.
In my presentations, I give developers a lot of flack, but it’s because I’ve been there. I know how hard it is to stay current and become a great developer in your primary development language, and mastering something else (like SQL Server) makes it even tougher. There’s just not enough hours in the day.
Who I’m Tagging
I’m tagging people who I’ve talked with a lot on Twitter, but I have no idea how they got started in SQL Server: