Is Database Administrator Still a Good Job?
A thread (opens in a new tab) on Hacker News caught my eye the other day. It asked the crowd a very simple question:
Is database administrator(DBA) as a career fading out in the IT industry?
It gathered over 200 comments as different folks expressed their opinions of the role, the people that tend to be in that role, the good, the bad, and everything in between. Before I tell you what I think, let me start with disclosing that I was a DBA early in my career, which turns out is a bit of a rarity. If we look at some of the demographics of DBAs, one thing you’ll notice that stands out is their age.
The average age of a DBA is over 40 years old. If we compare that to web developers we see a striking difference. This age difference surely contributes to the reputation DBAs can have as being arrogant and opinionated, and why they often don’t see eye-to-eye with other developers.
Another source of conflict is the different kinds of tools at their disposal. There are times when rewriting part of an application as a complex database query or long stored procedure is the right thing.
This thought would almost never occur to an application developer used to solving problems outside the database. In a world where we say “hardware is cheap, developers are expensive”, it is still a wonder how many poorly tuned queries and badly designed data models create exorbitant hardware costs both on-premises and on the cloud. These are the very problems DBAs are specialized to address.
Some people blame ORMs, others blame Ruby on Rails and similar web frameworks that treated databases as “dumb storage”. Others complain it is not their concern and the database query optimizer is supposed to magically figure it all out. When this fails, many developers leave for the greener pastures of NoSQL databases (opens in a new tab), only to be disillusioned from one shiny new database to the next.
The problem is rarely the database system itself, but rather how the business is modeled. Notice I didn’t say how the “data was modeled”. It is the model of the entire business that matters. The data is one component, and the queries against that data are another. We cannot store the real world in a database or in an application. The best we can do is try to capture a simulation of it. This is modeling.
I don’t think you’ll find many people who disagree that knowing how to model is one of the most important skills developers of all types should learn. It helps at all levels, from the GPU and SIMD specialists, to the in-memory data structure and algorithm designers, to those working with terabytes of data. So let’s answer the question: “Is [the role of] database administrator as a career fading out in the IT industry?”
No. It is not fading out. It is evolving, just as almost all careers in IT. I believe that DBAs will always be in demand because they know how to model. They are often the ones closest to the task of capturing the real world. This is arguably the base of the entire application stack. If your model is wrong, your data will be wrong, your predictions will be wrong, your decisions will be wrong. It all falls apart without the right model. It falls apart without those people who know what to capture and in what detail, what to connect and in what ways. That’s the DBA.
At RelationalAI, we’ve built a new language called Rel. It is a declarative language that is both a programming language like Python and a query language like SQL. But most importantly, Rel is a modeling language.
DBAs, database developers, data engineers, data architects, really anyone that has learned how to build models of data will be in the perfect position to extend that skill and learn to model knowledge.
With Rel, you will be able to model your application, your business, and your world alongside your data. You will stop worrying about whether it should be a SQL query or procedural code and instead just define the essence of what it is, one piece at a time.
The model is the program.
To learn more about Rel, check out Playing With Legos. Do you want a glimpse into the future? Watch this video (opens in a new tab) of Martin Bravenboer (opens in a new tab) speaking about Relational AI.
Finally, stay up to date by signing up to our newsletter!
Rel supports relations as arguments, recursion, variable arguments and inlined definitions that reference other inlined definitions. These features give you tremendous power so you can express your business logic clearly and concisely. Power that was typically reserved for procedural languages is now available in your models and queries.
Playing With Legos
Do you remember playing with legos as a kid? This is what our query language Rel feels like. You don’t have to write 300 lines of SQL code and go absolutely insane trying to debug or handle it all in your head. You make progress with every little definition. You can divide and conquer the problem by building small pieces, combining them together and creating something that is greater than the sum of its parts.