Recommended path for advanced training?

  • Jeff Moden (12/2/2008)


    jeffkretz (12/2/2008)


    Gaby Abed (12/2/2008)[hr

    Agreed...I'm working on my MCTS for SQL 2005 but I plan to emphasize my experience first on the resumes and keep the certification at the end, probably as part of the education/certification section in the resume. It will be one of many hooks the HR people can search for but in the end, experience will count the most (if the interviewer is doing it right).

    Actually, that brings up another question that's been bugging me. (Sorry to hijack this thread a bit) I'm a skilled DBA but NOT a trained hiring manager. Yet the HR department cannot interview potential cadidates for technical capability -- so that falls to me.

    I find myself in a position of having to review resumes of applicants and interview candidates myself. I've done this many times over the past few years, but I'm always worried that I may overlook someone who could do an excellent job. And many of the people who wind up in the interview room seemed great on paper but interviewed poorly.

    Of late I've started a culling step whereby I took a particularly complex SQL query I wrote, remove all comments and documentation and sent it to all applicants and asked them to re-document the query, explain what it does and give their opinion of its efficiency.

    So far, the only effect this has had is to reduce the number of interviews, because only 1 in 40 (by actual count) will even answer the request.

    Does anyone have any opionions about this practice? Good idea? Bad idea?

    JK

    I wouldn't and haven't done that... I'd just as soon have the 40 interviews. I've met a lot of people who absolutely choke on a test of that nature, especially a "particularly complex SQL query", but put them in front of a machine in real life, and they're bloody wizards doing the seemingly impossible.

    Tests also don't reveal attitude... IT is impersonal enough... do the interviews after you've read the resumes... look for people that list accomplishments in real terms instead of a pedigree. Don't be afraid to ask "ice breaker" questions on the interview. I had several folks say they were Ninja's in SQL Server and one even claimed to be a "9 out of 10" right on his resume... but he couldn't tell me the name of the function that would return the current date and time. And, no, I'm not making that up. Also had a PHD in Mathematics that couldn't convert 1416 to base 10. And, ALWAYS ask the RBAR/Cursor question...

    Dear Jeff Moden,

    Please reveal the secret to me! What is the RBAR/Cursor question??? 🙂

  • Steve Jones - Editor (12/2/2008)


    One interesting thing Andy and I talked about years ago when he had similar issues is that people can be successful in their job, and show years of experience managing a SQL Server, but not be competent. It seems this often is that they haven't encountered crisis situations or been asked to do much. I think that's entirely plausible given how robust SQL can be.

    It doesn't make them good candidates, however. If they haven't been self starters, haven't been working to learn more on their own, chances are I don't want them working for me, at least not as anything above a junior.

    Dear Steve Jones, probably it's my situation exactly! My job is administrator of SQL Server 2005 database but nothing bad happens to database and we had daily backup setup automatically before I got this job, the previous DBA show me how it works. We had slowdown some time ago, but we corrected it, now everything is fine with database, I sit here and look at it 🙂 No, I do exercises with your help but it is not the same as real world! Good thing about my country they can't dismiss from a job a female, it is against the law :D:D:D

  • Oksana March (12/4/2008)


    Dear Jeff Moden,

    Please reveal the secret to me! What is the RBAR/Cursor question??? 🙂

    When is it ok to use it... correct answer is NOT "When you think there's no other way" or "When there's not much data" or "When there's not enough time to come up with a set based solution." Correct answer is when you have to traverse databases or tables. In other words... to control disparate set's of information, not individual rows of information.

    --Jeff Moden


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.

    Change is inevitable... Change for the better is not.


    Helpful Links:
    How to post code problems
    How to Post Performance Problems
    Create a Tally Function (fnTally)

  • Yeah, Jeff'll never hire me. @=)

    Jeff Moden (12/4/2008)

    correct answer is NOT "When you think there's no other way"

    Actually, I must point out that I've run into one or two RARE situations when the available functionality on SQL Server was not appropriate for what I needed to do and a cursor truly was the only efficient way.

    Of course, we have since then upgraded to SQL 2005 and I need to go back and redress those instances as soon as I have time in my busy schedule, but I did actually use that answer when explaining myself to my boss. And wonder of wonders, he actually agreed once I gave him the details. @=)

    But again, I point out the word I capitalized above. "RARE". It's not something I do on a daily basis.

    Brandie Tarvin, MCITP Database AdministratorLiveJournal Blog: http://brandietarvin.livejournal.com/[/url]On LinkedIn!, Google+, and Twitter.Freelance Writer: ShadowrunLatchkeys: Nevermore, Latchkeys: The Bootleg War, and Latchkeys: Roscoes in the Night are now available on Nook and Kindle.

  • Brandie Tarvin (12/5/2008)


    Yeah, Jeff'll never hire me. @=)

    Jeff Moden (12/4/2008)

    correct answer is NOT "When you think there's no other way"

    Actually, I must point out that I've run into one or two RARE situations when the available functionality on SQL Server was not appropriate for what I needed to do and a cursor truly was the only efficient way.

    Of course, we have since then upgraded to SQL 2005 and I need to go back and redress those instances as soon as I have time in my busy schedule, but I did actually use that answer when explaining myself to my boss. And wonder of wonders, he actually agreed once I gave him the details. @=)

    But again, I point out the word I capitalized above. "RARE". It's not something I do on a daily basis.

    Understood... they are extremely rare... but what was your situation? Even when folks think there's no other way, I've been pretty good about finding one and it's not just replacing a cursor with a Temp table and While loop... that's just making the same thing as a "firehose" cursor.

    --Jeff Moden


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.

    Change is inevitable... Change for the better is not.


    Helpful Links:
    How to post code problems
    How to Post Performance Problems
    Create a Tally Function (fnTally)

  • Jeff Moden (12/5/2008)


    Brandie Tarvin (12/5/2008)

    ... but what was your situation? Even when folks think there's no other way, I've been pretty good about finding one...

    One situation was / is the use of xp_cmdshell to pull a list of database backups and restore the most recent one to our Dev server. I know there's a better way of doing it now with SQL 2005, but I haven't had a chance to go back and look.

    If you have a better way of searching a file directory & parsing the filenames for datatime info, I'd love to hear it. I'm sure once I get a chance to re-address it, I'll figure it out, but I'm happy to cheat by having someone else give me the solution. @=)

    The other situation, I can't quite remember. I'm going to have to go back and find it.

    Brandie Tarvin, MCITP Database AdministratorLiveJournal Blog: http://brandietarvin.livejournal.com/[/url]On LinkedIn!, Google+, and Twitter.Freelance Writer: ShadowrunLatchkeys: Nevermore, Latchkeys: The Bootleg War, and Latchkeys: Roscoes in the Night are now available on Nook and Kindle.

  • Not to hijack the thread onto cursors, but I use them many times for one-offs , things like Brandi that need to be done, and figuring out and testing a solution without a cursor just takes too much time. If I'm running something once, a cursor is quick to implement and works as well.

  • And just an FYI, if anyone wants to reply to my post on the cursor issue, PM me and I'll start a new thread so we don't get completely off track.

    EDIT: Yikes! I posted my article link in the wrong thread. My bad.

    Anyway, for advanced stuff, I usually grab cert books for things I don't know very well, plus some of the detailed "How it works" books, then play on my SOHO box. I do my best to break SQL Server (hence the reason I do it at home, not work) so I learn best practices first hand and also what will and won't work. This helps me fill in holes in my skillset that I didn't realize I had.

    Of course, it's been hard to do this the past year given everything else I have going on.

    Brandie Tarvin, MCITP Database AdministratorLiveJournal Blog: http://brandietarvin.livejournal.com/[/url]On LinkedIn!, Google+, and Twitter.Freelance Writer: ShadowrunLatchkeys: Nevermore, Latchkeys: The Bootleg War, and Latchkeys: Roscoes in the Night are now available on Nook and Kindle.

  • Jeff Moden (12/4/2008)


    Oksana March (12/4/2008)


    Dear Jeff Moden,

    Please reveal the secret to me! What is the RBAR/Cursor question??? 🙂

    When is it ok to use it... correct answer is NOT "When you think there's no other way" or "When there's not much data" or "When there's not enough time to come up with a set based solution." Correct answer is when you have to traverse databases or tables. In other words... to control disparate set's of information, not individual rows of information.

    Hi Jeff, it look like you have a big hate for cursors! Can you explain why? it is because of performance reasons? In your answer before I think the *key* word is "traverse". What kind of process do you picture when you say "traverse"?

  • Oksana,

    Most DBAs actually have a big hate for cursors. There are very few good things that come out of them because, for the most part, they eat up processing power, threads and kill performance.

    Also, there are usually more efficient ways to accomplish something than besides using a cursor.

    When Jeff says "traverse" he means getting information from different sources. Like if I want to pull all the database Login info from DB1 and then pull all the database Login info from DB2, then move to DB3, etc. Or if you have something that is going across multiple tables but pulling information that is completely irrelevant to the other tables and therefore can't be JOINed. You can also use cursors across instances, but that gets into really dangerous territory.

    The official MS term for it, I believe, is Heterogeneous Queries. Or something like it anyway.

    Brandie Tarvin, MCITP Database AdministratorLiveJournal Blog: http://brandietarvin.livejournal.com/[/url]On LinkedIn!, Google+, and Twitter.Freelance Writer: ShadowrunLatchkeys: Nevermore, Latchkeys: The Bootleg War, and Latchkeys: Roscoes in the Night are now available on Nook and Kindle.

  • how do you get trained in hardware, networking, security? Whether doing Comptia training is good if so what place offers evening classes in these subject areas?

  • Oksana March (12/5/2008)


    Can you explain why? it is because of performance reasons?

    They're used waay too much by people who think they're a great solution and they perform terribly. SQL is a set-based language. It's best for processing sets of data, not iterating through rows one by one.

    Gail Shaw
    Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
    SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability

    We walk in the dark places no others will enter
    We stand on the bridge and no one may pass
  • RJ (12/5/2008)


    how do you get trained in hardware, networking, security? Whether doing Comptia training is good if so what place offers evening classes in these subject areas?

    Most of my training was on the job and studying at home for my MCSA. I took the Network exam for 2000. However, A+ cert books are a good place to start learning the ins and outs of PC / Server hardware. Like Gail said in an earlier post, you don't have to actually take the exam. Just get the book.

    Once you have the book, find yourself a bunch of parts & broken PCs (or buy a shell and the components from your local computer store) and start putting stuff together. I've learned a lot just from upgrading my PC's hard drive, slaving a couple together, replacing the processor on my motherboard. Helping others resolve their PC problems will also give you a leg up, but it also potentially locks you into free tech support for the rest of your life. So make sure it's a charity organization, a work thing or a reallyreallyreally good friend before you volunteer. @=)

    As far as networking goes, theory is better than nothing, and that's mainly what I learned from the MS books. Fortunately, though, at one of my previous jobs, I was the local Power User, so they had me running network cables, hooking things up to hubs and switches, etc. I used Google and Tech Republic a lot in my early days. Tek-Tips helped too. They had newsletters & articles & forums related to hardware and OS issues.

    And if you really want to get into networking, you can buy a Cisco router off Ebay and study for their exam.

    The hardware & networking stuff gives me an edge some of my coworkers don't have. When we have problems with our servers, it enables me to tell our corporate tech geeks that "NO, sorry, this is a NIC issue, not a SQL Server connectivity issue" because I've already checked out those possibilities. One time I was able to conclude a problem was related to the size of our paging file when all other SQL Server issues had been ruled out and everyone, include the hardware guys, were scratching their heads.

    That's the beauty of understanding the platforms your systems are running on. If you have even a smidge of information, you can use it to rule out (or in) things a DBA might not usually see. @=)

    Brandie Tarvin, MCITP Database AdministratorLiveJournal Blog: http://brandietarvin.livejournal.com/[/url]On LinkedIn!, Google+, and Twitter.Freelance Writer: ShadowrunLatchkeys: Nevermore, Latchkeys: The Bootleg War, and Latchkeys: Roscoes in the Night are now available on Nook and Kindle.

  • Networking, security, learn like you did SQL. Dig in, find some forums/sites/newsletters, and start learning.

  • Oksana,

    I just realized no one told you what RBAR stands for. @=)

    Jeff coined the phrase. It's an acronym for "Row by Agonizing Row". That's what cursors do. They process information on a row by row level, which is why very few people want anything to do with them. It's like counting grains of sand in a hourglass. You can other give a good guess based on the volume, weight and mass of the filled hourglass (set based) or you can break open the darned thing and count each individual grain by hand (cursor based).

    Obviously, using existing mathmatical formulas to deduce the amount of sand based on the volumn, weight and mass is the quicker and more efficient option. @=) And in SQL Server, set based operations aren't actually guesses, but this is the best IRL example I could think of.

    Brandie Tarvin, MCITP Database AdministratorLiveJournal Blog: http://brandietarvin.livejournal.com/[/url]On LinkedIn!, Google+, and Twitter.Freelance Writer: ShadowrunLatchkeys: Nevermore, Latchkeys: The Bootleg War, and Latchkeys: Roscoes in the Night are now available on Nook and Kindle.

Viewing 15 posts - 31 through 45 (of 46 total)

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