Author: way0utwest

  • 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

  • Placeholders for Emergencies

    A long time ago I worked in a large corporation where we managed lots of servers, each of which performed a variety of different functions. Some were Exchange, some SQL, some file servers, etc. and they would come and go at a frightening pace.

    We had monitoring in place, but we’d also have plenty of situations where a runaway process would use up a lot of disk space at a rate that exceeded the ability of the monitoring software to alert us before the user encountered a problem. To help us more effectively monitor things, we started adding placeholders do our server build process.

    Placeholders

    What’s a placeholder? It’s a large file that just takes up space on a disk. For example, I’ve created a few on my system:

    placeholders2

    These can be text files, movies, images, whatever you want. The idea is that you just save a particular amount of space. In this case, I have 3 1GB files that are taking up space.

    That’s it.

    If I run out of disk space, I just delete one of these, and voila, instant 1GB space available.

    These have become really, really handy for me. I actually have a few on my laptop. When I run low on space, which will often happen at THE WORST possible time, like the morning of a talk, I can remove a file and free up space.

    Of course, I’ve just deferred the issue, but at least then I can work at that moment and then clean up old files as I have a moment.

    Placeholders are a great way to save yourself in emergencies.