Tag: career2

  • Core T-SQL

    Often I find myself wondering about the minimum bar we expect people to clear to be competent in some field. Almost all fields are evolving these days as technology and new ideas are put into practice in medicine, art, construction, law, etc. It seems as though a Renaissance is taking place with the speed and variety at which new information is spreading, usually due to advances in technology.

    In our field, working with SQL Server, we certainly see new ideas and enhancements taking place all the time. However there are also a number of core skills that evolve, but at a slower pace. For example, T-SQL grows with each new version of SQL Server, but the core language remains, and many people continue to use the knowledge they have had for years when writing code.

    This week I’m curious if we can debate about, and compile, a list of core skills with T-SQL that we think someone ought to understand to be considered competent as a database developer. I’m asking:

    What core skills should someone have with T-SQL?

    I’ll start the list, but feel free to add to it or give me your thoughts. I think someone ought to be able to understand these items and write code to solve problems that involve:

    • finding duplicate rows (grouping, joins)
    • returning aggregates of single or multiple columns (MAX, MIN, SUM, COUNT)
    • return aggregates in groups, or islands. (grouping and aggregates, windowing)
    • join multiple tables together on matching, multiple columns (joins)
    • find data in one table that doesn’t have matches in another (outer joins)
    • filtering data (WHERE)
    • subqueries and complex CTE joins of data
    • create row numbers and join back to a table without numbers (APPLY)
    • pivoting data from rows to columns

    That’s a starting list from a number of questions I’ve seen, but feel free to add your own skills you think people need.

    Steve Jones

    Video and Audio versions

    Today’s podcast features music by Everyday Jones. No relation, but I stumbled on to them and really like the music. Support this great duo at www.everydayjones.com.

    Follow Steve Jones on Twitter to find links and database related items and announcements.
    Steve Jones Windows Media Video ( 20.3MB) feed

    MP4 iPod Video ( 23.4MB) feed

    MP3 Audio ( 4.8MB) feed

    Feeds are available at iTunes and Mevio

    To submit an article, rant or editorial,
    log in to the Contribution Center

  • Powershell in a Month – Day 3 – Commands

    This is part of my Powershell Challenge, to learn more about Powerhsell (PoSh) using the Learn Windows Powershell 3 in a Month of Lunches book by Don Jones.

    Day 3, chapter 4.

    This one is about commands, and getting familiar with what a cmdlet is, the naming convention, and how to call things. Again, simple stuff, but knowing that most everything is a Get-xx, or Set-xxx, or New-xxx, etc. is handy. I think the hyphen separation actually makes things easy, though the completion in the ISE and with tab is very handy.

    The big thing here is the parameter naming and cmd.exe execution. I wasn’t always clear on how parameters work, but this chapter helped. In this case, unless there’s punctuation or spaces, you don’t need quotes. That’s handy. I also like that the shell is explained in reference to cmd.exe, which is the command prompt that so many of us use.

    This was a short chapter, a quick skim, and I made sure that as the authors talked about commands, aliases, etc, I ran all the code. When I got to the end of the chapter, I was able to actually solve all the exercises without using any references. I used help to look up commands (like Get-NetFirewallRule), but otherwise, I was able to solve all the exercises in about 5 minutes.

    I felt successful and more empowered today. It’s getting a little exciting, and I can see where this will be very helpful over time.

  • Testing Skills

    This editorial was originally published on May 11, 2009. It is being re-run as Steve is on vacation.

    How can you measure someone’s skills? Is there a good way to actually assess how well a DBA or developer will do in your company? If you have one, there is some money to be made by passing the information along.

    Traditional interviews where you ask lots of questions typically haven’t necessarily proven to be a great way to do this.  Some people give tests, but they often are thrown together, and might contain multiple choice answers to make them easy to grade. However the other day someone posted a technique they used that I liked.

    This person suggested that a VM be configured with Windows and SQL Server and then with a certain number of things wrong with the install. Or at least things that would be seen as wrong in that particular  environment. You then give it to a candidate and ask them to tell you what’s wrong. You could let them work through it in a stream of consciousness way, telling you what was wrong as they found it. You could also give them some time, say an hour, and then come back and let them explain what is wrong.

    Actually I’d recommend you give the candidate the choice since some people work better alone.

    I’ve thought about asking them to accomplish certain tasks before, but after considering this technique, I like it a bit more. Just asking them “what’s wrong?” or “what would you change?” is a good way to see how people think. Interacting with them, getting them to dig into a real system, is a great way to assess not only technical skills, but also some interaction. See how they debate, argue, or question a co-worker is important, at least it’s important to me.

    Is this is a better way to interview people and assess skills? Would you like to be interviewed like this? Maybe this would even be a fun competition at somewhere like the PASS Summit.

    Steve Jones


    The Voice of the DBA Podcasts

    Everyday Jones

    The podcast feeds are available atsqlservercentral.mevio.com. Comments are definitely appreciated and wanted, and you can get feeds from there.

    You can also follow Steve Jones on Twitter:

    Overall RSS Feed:  or now on iTunes! 

    Today’s podcast features music by Everyday Jones. No relation, but I stumbled on to them and really like the music. Support this great duo at www.everydayjones.com.

  • Time for Learning

    Working in technology means that we are constantly challenged to learn new skills and improve our existing ability to get work done. When I started as a DBA, I could work within SQL Server, writing T-SQL, making backups, and managing security. As the product has evolved, I’ve needed to learn more about Active Directory to troubleshoot security, I’ve been called upon to cluster machines and implement replication. There are all sorts of areas in which I’ve found it important to develop some expertise.

    However time is short. With family, with work, with commitments in the rest of my life, how do I find time to work on improving my career skills? Most of the time has been spent at work, slipping in learning time during a project, but I’ve also had to spend some time at night, practicing skills or reading about the intricacies of some feature.

    Andy Warren has estimated that it really takes around 100 hours to develop some level of competence with a new skill. That’s 100 hours in a year, which doesn’t sound like a lot, but dedicating two hours a week to your career can be challenging. It’s much less than the 10,000 estimate for expertise, which is good since most of us can’t spare that much time to become an expert.

    However is 100 hours too many? There was a TED talk that noted you could learn a new skill, at an acceptable level in 20 hours. I’m skeptical that this is true, and I’d certainly point out that there is prep time to analyze a skill, learn something about it, and then build the plan to learn. Those items alone could take much more than 20 hours.

    I’m not sure what a good level is, but I’m thinking to try this in my life in some area and see what 20 hours gets me. I’m also on a Powershell Challenge, which will probably end up being close to 30 hours, but I’ll see how comfortable I am with the skill after that time. However, do you think you could learn something like Powershell in 20 hours?

    Steve Jones

    Video and Audio versions

    Today’s podcast features music by Everyday Jones. No relation, but I stumbled on to them and really like the music. Support this great duo at www.everydayjones.com.

    Follow Steve Jones on Twitter to find links and database related items and announcements.
    Steve Jones Windows Media Video ( 20.0MB) feed

    MP4 iPod Video ( 23.2MB) feed

    MP3 Audio ( 4.7MB) feed

    Feeds are available at iTunes and Mevio

    To submit an article, rant or editorial,
    log in to the Contribution Center