In 2012, I took a huge leap. I left a job where I was doing exceptionally well because I recognized the need to get away from Visual Foxpro and develop skills in other areas. I knew that besides getting my feet wet with SQL Server, I would probably not learn any more worthwhile technical skills at that company.
I planned on using SQL Server as the bridge to the next thing, but ended up spending a great deal of time there and consequently honed that skill so much that people think I’m a DBA and often refer to me as one. Becoming a DBA was never my plan. I couldn’t care less about what drives your data is on, or whether you use replication or Always on Availability Groups. Being on a newer version of SQL Server Enterprise version is pretty cool though. Doing database administrator types of things is not fulfilling to me but reading and writing code is. Emphasis on writing. And I don’t mean Powershell.
The job I took right after I left was purely a TSQL developer role. I went from a very small privately owned company to a big publicly traded Fortune 500 one. I loved the coding work I did there, but the time I spent in meetings bored me to tears, so when a contact from the first job reached out and asked me if I was interested in moving to Salt Lake City, I said YES.
I knew that taking that job as their IT Manager would mean doing more than being a SQL Server and ERP developer. At the time, I thought being a network administrator interested me. My dad owned his own company doing just that, so I knew enough to be intrigued. In reality, I really don’t like reading event logs, and I prefer to read code to figure things out.
I enjoyed my time with that company, and accomplished many great things. I spent a great deal of time on reporting, automating reporting, and coding EDI integrations. I also greatly enhanced a warehouse management system and fully implemented it while there. I was quite proud of the work I did, even though a good deal of it was in Foxpro. I was helping this company to become data driven. The work mattered, and I was valued and respected. I ended up leaving that job after 3 years, because I knew that I had grown as much as I could there. I needed to work for a tech company again, one that had their own enterprise level application and a technical team that I could learn from.
The next job was really close to my home, and even though the interview was underwhelming, I accepted the job anyways. They had what I needed in their environment- they used SQL Server and had their own enterprise level application even though it was in another dying language. I did mostly database work while there, working on complex ETL projects using SSIS and performance tuning slow stored procedures. The culture wasn’t right for me though. Before this job, I really didn’t care much about culture, but now I know better.
That brings me to my current job. I’ve been there over a year and half now, and was hired for my database developer skills. I quickly proved myself to them by rewriting a complex stored procedure that other developers must’ve been too afraid to change in any meaningful way. After that project, I was assigned to several other database projects, and ended up becoming a performance tuning guru that other teams come to for advice when their code doesn’t perform.
Even though I knew I was appreciated and I had skills that others lacked, it wasn’t fulfilling to me. Perhaps the thing in my personality (or neural makeup) that drives me to hyper-focus on a thing to the point of absurdity was blinding me to the fact that someone moved my cheese! I was quite content with the work I had done at my first job. I recognized that being in a huge enterprise level application was the best environment for me to learn in. I learned fast and retained the information better than many around me. This helped me to become a developer that others would turn to for help. Thank you John Carpenter for showing me my potential!
So for several months I hit the job search again, but I am quite picky and my list of requirements has grown over the years. I needed to be hired for my database skills, specifically SQL Server, but the environment needed to be one where I could do more than just write T-SQL. I’m interested in several things but being an application developer has been the thing I’ve been searching for all these years. I found a job that was pretty close to what I’ve been looking for, although I would’ve been more of a database/API developer than an application developer. I gave my notice, but to my surprise, my current job counter offered and gave me a chance to do more inside their enterprise application. FINALLY!
Have I really found what I’ve been looking for all these years? I don’t know. I hope so. I can’t imagine getting far away from the database though, because of the utter lack of developers who possess these skills. Apparently SQL is easy to learn but incredibly hard to master, and many developers never bother to really study it. I think that’s tragic, because it is a very useful skill. In a way, I wish that making SQL fast was more fulfilling to me. I just don’t find it challenging in the same way that I found application development challenging.
My advice to others: recognize that the database can be a bridge to the next thing. There is value in studying it, but once you set yourself apart, it may be hard to get away from. This might be considered a good thing, depending on what fulfills you.
My advice to recruiters: not all database developers want to be DBAs. Just because a person gains expert level knowledge in one thing doesn’t mean they can’t do the same in something else. You should be assessing ability to learn more than skills previously attained, but perhaps it’s the hiring managers that need that lesson more than the recruiters do.