Category: Editorial

  • Your Best Work

    Interviewing is hard. We also know that most of us don’t do it well, as evidenced by the choices we make when hiring. How many people have performed at the level you expected when you hired them? There are people that outperform your evaluation, but many more underperform your expectations. I think this is partially that it’s hard to evaluate someone’s skills in a short period of time, but also that the performance someone gives is impacted by the environment they work in. That’s hard to simulate in an interview.

    However, if we ignore that and look to find some method to at least evaluate a technologist’s skills, what do we do? We test, we quiz, we try strange questions. I read an account from a programmer looking to hire other programmers, titled How I ended up conducting the most successful technical interviews with a single question. It’s a good story, and it drew me in as the author followed the same path I’ve followed before.

    Then he exposed his question: tell me about the best project you’ve ever created. It’s simple, and I think it probably works well. Programming is a creative endeavor and those that love doing it, keep doing it. They will have projects they are proud of, if they continue to work to improve their craft. They’ll also be passionate about what they do. I don’t know if this would work in other areas, like system administration, but I’d like to think that most people have done something they’re proud of.

    However I don’t think this guarantees great workers. I guess you can evaluate the way someone approached their project, and how they dealt with issues, but passion does not always equate to great work. I’m an amateur woodworker, and I’m quite proud of my flagpole, but I’m not sure many of you would want to pay me to build one for you. My skill have a long way to go before I could make a living at that craft.

    Steve Jones

     

  • Personal Development

    This editorial was originally published on July 14, 2010. It is being re-run as Steve is on holiday.

    When we go to upgrade an instance, most of us have a process. We have a list of things we need to do, things like perform a backup, copy files, apply patches, etc. There is some definite order to what we do, and the most successful people I know in technology take the time to actually write out a list of steps to be sure they don’t forget anything, checking each item off as it’s completed.

    Why don’t we do that for our careers? Arguably that’s more important than some silly old server.

    One of the presentations that I  give at user groups and SQL Saturdays is my talk on The Modern Resume. I talk in there about some of the things that you can do to raise your profile, build a personal brand, and become more likely to get that next job. However I haven’t really addressed the making of a plan, which is something I need to add after I saw this link on a personal development plan posted by Brian Kelley.

    A personal development plan is a map for your career. A map that’s unique to you and what you want to accomplish. Whether that’s growing your skills in some area, getting a new job, or something else, the plan you build can help focus you and allow you to move clearly in the direction that’s important to you.

    It’s hard to build a plan, harder to stick to it, but perhaps hardest to figure out what to write down your plan. I’d suggest that you start with some short term goals, things that will make your job easier, or provide your employer a short term payback. This is often low hanging fruit, and can help get you thinking about your career. Then move on to longer term, or larger, goals that fit the place you want to be in a year or two.

    Don’t neglect your career as you grow. Give it at least as much attention as you gave that last server migration. You deserve that much from yourself.

    Steve Jones

  • Minimal Meetings

    This editorial was originally published on April 24, 2010. It is being re-run as Steve is out of town at the PASS Summit.

    I read something the other day that struck me. It’s obvious, but I hadn’t really thought about it in that way before. If you invite nine people to a one hour meeting, then is isn’t a one hour meeting. It’s a ten hour  meeting to the company with all the lost productivity.

    That’s a lot of time lost.

    Especially if you are meeting with developers or DBAs. They often have code to write, or problems to think about, and embedding them in a meeting for an hour, especially multiple people, can do more damage to your project than a lot of bad code. No wonder there isn’t enough time to do testing?

    There’s no good solution, especially since meetings can be productive ways to ensure information is shared in a group. They can help reset everyone to the same view of a project or situation. But you should also look to minimize their impact.

    Don’t invite people to meetings if they can read about a decision later, or if they are just getting a status update. A meeting ought to be for people whose job is affected. They need to give input on a decision, or make the decision. Everyone else is just task switching away from their job and losing time that could be put to better use.

    It’s tempting to invite all stakeholders, and anyone who might be needed “just in case.” Resist that temptation and let people spend more time actually building software.

    Steve Jones

  • Consolidating Again and Again and Again

    This editorial was originally published on November 12, 2009. It is being re-run as Steve is on holiday. 

    In reading about virtualization, one of the main things that drives its acceptance is cost. It’s the reduction in actual physical resources needed to run multiple servers that makes it popular with many IT departments. It doesn’t help with administrative costs, at least not the costs of the system administrators because you still have the same number of servers to manage. There are just less physical servers to buy, less power needed, less cooling, and probably other savings if you virtualize.

    Virtualization is really a one-time cost savings. Once you’ve virtualized a server, you can’t do I again, so there are no repeat savings from this event. Is consolidation the same? After all, the main driving force for that process is also cost, and once you’ve consolidated a server you can’t do it again.

    Or can you?

    There’s a great white paper by Allan Hirt that talks about the process of consolidation, and I’d urge you to read it before beginning a consolidation project. However I don’t know that consolidation is, or should be, a large, one-time project.

    If I consolidate 3 or 5 SQL Server instances onto one machine, I have a choice of how I can do this. It can be by moving databases to a new instance, having multiple instances, or even using virtual machines. But is that the end? It’s not because I can add more databases later, or I could even move a database that is receiving a heavy load back to its own server and find other instances to consolidate onto this one.

    Consolidation, unlike  virtualization ought to be something you periodically examine in your environment. On a regular basis review your baseline for all instances and see if it makes sense to perform some consolidation. Server sprawl can creep up on you, but with a little management and the multi-instance nature of SQL Server, you can keep it under control.

    And if you don’t have a baseline to examine, consider setting one up.

    Steve Jones