Too many DBAs just run (or copy and paste off the Internet) commands blindly, like they are operating a "black box" and lack the ability to reason about what the machine is doing. You have to be able to take it down a level, understand how sockets work, how to use strace
, tcpdump
and gdb
, how compilers work, how to profile, how memory works, exactly what bit of your stack (app/db/os/hardware) does what and how to tune it.
Or any language - Python, Tcl/Tk, whatever. Even Excel VBA. Awk/Gnuplot. A good DBA is capable of building new tools, for themselves and for their team. Too many DBAs just know how to click in TOAD or equivalent, they can't even generate a graph by themselves. If you can't visualize it, how can you understand it?
One of my recent projects automated a manual DBA process that took 3 days down to a 15 minute script at my site. Python has improved my productivity as a DBA at least 10x.
Everyone involved in any sort of IT project work needs to read and understand this. The ones that don't are doomed to repeat it.
If you are serious about your career and mean to be in the business a long time, then this or similar will educate you as to the economic tides we all swim in.
Because we all need to speak to developers, whether in-house or at our vendors - this will help you get onto their level and speak their vocabulary.
Note that none of these are anything to do with databases!