You know what a Jack-of-All-Trades is, don’t you? It is that person that always seems to have know-how on a topic or project that is helpful. They have a comprehensive knowledge of all things data- and IT-related and they are always helpful to have around. It is my assertion that DBAs need to be Jacks-of-all-Trades (and masters of some trades).
In other words, most successful DBAs have to diversify. Why?
Databases interact with almost every component of the IT infrastructure. They are at the center of modern applications. If the DBMS fails, applications fail, and if applications fail, business can come to a halt. And if business comes to a halt often enough, the entire business can fail. Database administration is therefore critical to the ongoing success of modern business.
The typical IT infrastructure of today comprises many tools:
- Programming languages and environments such as COBOL, Python, C/C++, Assembler, PHP, Java, and many others
- Database and process design tools such as ERwin, ER-Studio, and others
- Database Management Systems like Oracle, Db2, SQL Server, MongoDB, and many others
- Non-DBMS data set and file storage techniques such as BSAM, VSAM, and B-tree
- Big Data platforms such as Hadoop, Spark, and many others
- Transaction processing systems such as CICS and Tuxedo
- Message queueing software such as MQSeries and MSMQ
- Networking software and protocols such as SNA, VTAM, and TCP/IP
- Networking hardware such as bridges, routers, hubs, and cabling
- Multiple operating systems such as Windows, Mac OS X, z/OS, UNIX, Linux, and perhaps others
- Data storage hardware and software such as enterprise storage servers, Microsoft SMS, IBM DFHSM, storage area networks (SANs), and NAS
- Operating system security packages such as RACF, ACF2, and Kerberos
- Other types of storage hardware such as tape machines, silos, and solid state (memory-based) storage
- Database administration tools
- Systems management tools and frameworks
- Operational control software such as batch scheduling software and job-entry subsystems
- Virtual machines and containers and their management and orchestration
- DevOps solutions for continuous software delivery like Chef, Puppet, GitHub, Ansible, and more
- Software distribution solutions for implementing new versions of system software across the network
- Internet and Web-enabled databases and applications
- Object-oriented and component-based development technologies and techniques such as CORBA, COM, OLE DB, ADO, and EJB
- Tablets and SmartPhones such as the iPad, iPhone, and many Android devices.
And I’m quite sure that this is an incomplete list. But you get the idea. It is impossible to become an expert in all of these technologies, but the DBA should have some knowledge of each of these areas and how they interrelate. Even more importantly, the DBA should have the phone numbers of experts to contact in case any of the associated software and hardware causes database access or performance problems.
So, being a DBA is sorta like structuring a well-invested financial portfolio: to be successful at either, you will need to diversify!
Now all of this is not to say that it is impossible to earn a living as a specialist DBA, such as a performance expert or a backup/recovery specialist. But it will be more difficult to spend a career as a specialist. There are far fewer specialist opportunities than there are for well-rounded, Jacks-of-all-Trades (and Jills-of-all-Trades, too)!
What does all of this mean? It means you should take some time to learn something new today. Pick an area in the above bulleted list where you are not strong and see what you can teach yourself. There is a lot of good (and often free) information available on the web… and you can always augment your learning experience with books.
Good luck rounding out your knowledge… and if you have a moment, share with us here the steps you have taken to keep learning and expanding what you know.