The Value of Experience

  • You have to know how to program in order to be a good DBA. And you are a rare bird indeed if SQL is the first language you learn and master since most of us think procedurally. Every "not-worth-their-salary" DBA I have ever met was deficient in programming skills. That means they were unable to write even the easiest operating system scripts, they could not UPDATE a table with records from another table, and the simplest boolean logic techniques concerning how to use parentheses with ANDs and ORs was beyond them. All of their shortcomings were due to the fact that SQL was the only language they ever attempted to learn. I would never hire a DBA who did not know how to program since such a person cannot do much more than what an expensive database monitoring/SQL-generator tool can do.

  • Since more experience is rarely a bad thing, perhaps looking at how much "core" DBA experience and how much outside experience is what we want to figure out? I think I reached the point a couple of years ago when I had enough knowledge about SQL Server to be able to wield it appropriately. But let's say that you have a limited amount of time (as we all do) to gain skills, what other types of knowledge would you trade some of that core experience for?

    I'd argue that my time spend delivering auto parts or working at a grocery store to pay for my university didn't contribute much to my ability to work, other than the ability to work unsupervised for long periods of time. The whole "customer service" thing isn't typically a huge day to day component of being a DBA compared to a retail worker.

    Working with different technologies certainly gives you more perspective. A bit of time with other database systems, some programming, hardware, etc is obviously all good. But to help you be a DBA, just knowing how they fit together is adequate. I know my time spent working with the server/AD guys was a huge benefit for my future DBA career.

    In the end, each DBA job is different and I'm glad each one is different. If DBA jobs were all standardized and clearly defined, there wouldn't be much of a challenge and therefore we'd be semi-skilled labour :hehe:

  • I'd say you can become a good DBA either way.

    The nature of the human mind is to be flexible. It can start out specialized, or it can move that direction from a generalized state, or it can switch gears completely.

    I'd say the people who can become good DBAs are mostly people who would be good at whatever they set out to do. Same for just about any field. There are very few people who are good at something who couldn't also be good at plenty of other things.

    - Gus "GSquared", RSVP, OODA, MAP, NMVP, FAQ, SAT, SQL, DNA, RNA, UOI, IOU, AM, PM, AD, BC, BCE, USA, UN, CF, ROFL, LOL, ETC
    Property of The Thread

    "Nobody knows the age of the human race, but everyone agrees it's old enough to know better." - Anon

  • Like everything in this business, it depends 🙂

    I think that a person can be successful as a database craftsman without experience in areas, technical or otherwise. That said, database instances don't exist in a vacuum; they llive on complex hardware, reside in corporate networks, connected by network equipment, protected by firewalls, accessed by custom applications. A DBA doesn't have to have a deep knowledge of all of the other components that could have an impact on the ability for the database to serve its purpose, but it definitely helps. A DBA with a good understanding of networking, programming, and storage is, all other things being equal, more valuable and more effective.

    From a nontechnical perspective, the same holds true. I think it's somewhat less important for production DBAs, but for database developers, especially BI professionals and report developers, a solid understanding of the business and its nontechnical challenges is essential. To illustrate, I work in healthcare and I'm considering taking some medical billing and finance coursework through a local continuing education program to broaden my understanding of the users I serve. Is this education essential? No. But I don't doubt that it will help me to more quickly assess challenges and provide a deeper understanding of this industry's needs.

    Tim

  • What about communication, teamwork, and 'people' skills? I've worked with some pretty sharp folks over the years, but if they did not have these skills they didn't get very far, were disliked by fellow employees, and/or ended up being terminated by the employer. These skills are essential no matter what job you're doing.

  • I don't think it can hurt to have experience in other areas, both technical and business. One of my favorite things about working in IT is that I as I work on different systems I need to understand different areas of business and tech in order to do my job. I've had the opportunity to work in different industries so Ive had to learn different processes. I had to understand accounting to work on the accounting systems, paper making to work on the quality and manufacturing systems, loan processing to work in student loan industry. IN all of this I've done T-SQL, .NET, MSMQ, XML, Reporting Services.

    Any experience I would have had in any of those areas would have been helpful.

  • Experience/knowledge in areas other than DBA definitely improve the quality of a DBAs work.

    Sometimes this experience/knowledge is gained by osmosis over a number of years as a DBA, but that can be a painful process for everyone concerned.

    I think the best DBAs probably tried other things first, then found they fit best in the role of DBA.

    Another consideration is attitude. I'ld rather deal with a DBA that wants to learn as much as possible about his/her environment and how their work affects the organization. I absolutely hate dealing with DBAs that can only work and operate within their personally defined bubble.

  • IMHO, Good DBA should know the business process and good communication and act hubris.

    The most important experience for Good DBA is he/she know how to act hubris.

    Sorry if I tell the truth.

  • As with so many other things IT, I'd say "It depends"! 😀

    I would say an excellent DBA does have a broader view of business needs, but starting out with formal training as a DBA does not preclude one from gather that broader view. It takes an open mind and some initiative, a willingness to ask questions and receive information, and the desire to see the world from someone else's point of view.

    Great DBAs don't pop up out of the ground (college) fully formed - they grow through-out their careers, which give them a lot of leeway to develop a wide array of skills, both hard and soft.


    Here there be dragons...,

    Steph Brown

  • I think it depends on your definition of DBA. (We can debate this endlessly.) You don't need any previous technical experience to perform backups, monitor servers and jobs etc. It is largely cookbook administration and, quite frankly, many DBA's are content to do just the grunt work and no more. They don't know the business, don't understand the data, don't query the data and could care less. All they're concerned about is keeping the databases up and running smoothly.

    I think a stellar DBA is really a hybrid architect/developer/business analyst who understands the problems that businesses are trying to solve by capturing and managing information. They understand what data is being captured and how it flows through the enterprise. They are adept at data modeling, including applying the appropriate model e.g. OLTP versus OLAP, and can explain to the business and executive teams how to turn data into information. They are as familiar with data patterns as they are with their database engine.

    This requires a deep understanding of the database engine they use, including the administrative components. It also means understanding how the data is consumed and ultimately rendered. I think this implies a certain amount of experience in the applications development environment. It's hard to offer and enforce performance SQL development best-practices to development teams if the DBA can't speak their language. By the same token, it's just as important to understand how to translate data model details into business abstractions. The business user doesn't care about tables, primary keys and foreign keys. They care about customers, products and sales. Finally, a thorough understanding of, for lack of a better term, configuration management, in order to satisfy the executive team that the money being spent is being spent wisely. This means understanding the hardware platform, network configuration, and storage platforms being used as well as a pretty good knowledge of what's available.

    "Beliefs" get in the way of learning.

  • I'd also say yes but only sort of. The question, the way it is posed, is do you need experience in another aspect of IT, and I think that the answer is that you need at least as good of an understanding of development, hardware, operating systems, et cetera, as you have of your database platform.

    Furthermore, I think it is critical that as your knowledge of your DB increases, your knowledge of those other aspects of IT need to increase as well. If your understanding and experience of problem solving grows restricted too much to just database work, you run the same risks of seeing everything as a T-SQL nail, and of forgetting the impact the operating system and hardware can have on a database problem. Half of the things that I have learned that make me a better DBA have nothing to do with SQL Server or the other platforms I work on.

    Ultimately I think that your skill in your job cannot be measured accurately by what you know or what you know compared to others; I try to keep myself focused on adding value to my company, either by what I add or what I prevent from being taken away.

  • jjarupan (10/23/2009)


    IMHO, Good DBA should know the business process and good communication and act hubris.

    The most important experience for Good DBA is he/she know how to act hubris.

    Sorry if I tell the truth.

    In my experience those that usually "act hubris" are those that know the least and are terrified that someone will find out. (Mea culpa in my younger days...)

    A top notch knowledgeable DBA has no problem with being challanged in thought or deed; and, is more than willing to change his/her mind and actions when better or more appropriate methods are suggested.

  • I agree with most of what has been said here.

    Do you need experience in other aspects of IT? Helpful, yes. Required, it depends. If your organization is looking at a new DBA candidate and you can afford to "silo" this person then not so much. If it it you we are talking about then by all means do NOT limit yourself. Going deep is a good thing but limiting the places that you can be useful is just dumb.

    Do you need experience in other aspects of your organizations business. I would say yes. Well at least exposure and familiarity. How else are you going to carry on a good water cooler conversation past last evenings football game? More to the point if you know how things work in your organization you will be less likely to miss something in the design phases.

    Do you need experience in other aspects of life? Yes. I've got lots of personal real-world examples of where my being interested in everything has paid off. I'm going to skip them here just to keep it short.

    ATBCharles Kincaid

  • ABSOLUTELY. Since the database is usually at the center of the technology world, I sometimes get help desk tickets that really have nothing to do with the database but because the users can't get into the application or it's slow, the assumption is made that it's a database problem. For example, I've spent the last 6 weeks diagnosing database problems reported by both users and developers who are suddenly unable to connect to the database. In this case, it really had nothing to do with the SQL Server installation or the applications, but to the fact that the database servers were moved to a different subnet and that the ports to 1433 and 445 weren't opened to that subnet. Having a basic understanding of networking, firewalls, etc... proved invaluable in translating the generic errors coming out of SSMS into something that could easily be resolved by the network administration team.

  • dbo.benyos (10/23/2009)


    For instance, a guy with some UNIX knowledge will never write a script to replace strings in a text file. He'll use SED command instead. If you only know Windows, you'll never know that it ever existed...

    Windows PowerShell has the functionality to do that.

Viewing 15 posts - 16 through 30 (of 45 total)

You must be logged in to reply to this topic. Login to reply