Archive for June, 2013

My Work Life Balance

Posted: June 24, 2013 in Career

I have often considered what people would consider the perfect employment. It is easy to point out all the things that may be wrong with the current employment situation that an individual is in, and not much more difficult to highlight the positives. The questions lies with what that balance point is and how that balance point meets an individual’s needs, desires and goals. This is the self-reflection that can become extremely difficult for many people in the work force today. I know personally I have had to struggle with this balance debating what is critical to me and my family and what are the points that are not as critical.

A number of years ago I started a company that focused on offering a Remote DBA for to companies who did not have enough DBA work to justify having a full time DBA on staff. I had my challenges with that company, most of the challenges I was faced with was the learning curve of owning my own company. I was so motivated on fulfilling the technical part of the position and helping the customers with the needs they had, that I did spend the time I should of learning the business aspect of the company.

Any of you who are considering becoming a consultant by starting your own organization I urge you spend quite a bit of time developing a plan and learning the key aspects and building plans for those before you make the decision.

Today I am choosing to look forward into the future, when I debate what my ideal work environment is, I have a number of points that don’t line up with what I am currently doing. So looking into the past I learn from what I have done, what my satisfaction with that has been, and then I use that to help shape my future and where I want to go. This brings me back to Remote DBA services, customer service, problem solving and reliable database systems. A focus in Disaster Recovery and High Availability solutions sprinkled with giving back to the community and teaching is where I want to be.

Starting July 15th I will be making a slight change in what I am doing today, rather than working with Xtivia on a part time basis on individual contracts only, I will be focused on working with Xtivia full time. I see this as a perfect fit for many reasons, primarily the Virtual DBA offering. Xtivia has a number of offerings, and that is one of the many things that contributes to the reason they are strong as they are. The aspects to my Virtual DBA idea where I was weak and could not go it alone is negated by a great support structure at Xtivia. They have been offering this service for number of years and they are proving it to be very successful. They are growing fast, and are extremely flexible, this gives them the ability to help customers no matter what the needs are.

When I work on the balance in my professional life, I feel relaxed. That comes from the satisfaction of know I am contributing to the best of my ability and my goals are the same as the organization. This satisfaction then helps with the balance of my personal and professional life. I can tell you that my family and I could not be more excited about this new step I am taking.

 

The IT world is changing… I know it is hard to believe, but the fact of the matter is that technology is changing. Years ago, I had a set number of SQL Servers, and over the course of a year, I may install new ones, or remove some old ones. Today with development strategies, virtual technologies, quickly changing operating systems and many editions of software. Server installs occur more often making our environments more dynamic. This can cause a number of pure overhead issues when trying to manage these. Think about the last time you joined a company or an organization. When you did a server inventory, was it based off server name, IP addresses (how about a partial IP, like 11.2) or maybe even a common reference name? When you asked for the primary server, were you instructed to connect to the Production Cluster? Try to connect to that via RDP. It might work, but chances are it doesn’t, you need more information.

About a year ago I decided I was going to start using a tool called Remote Desktop Manager. My goal at the time was to find a robust tool that I could use to keep all my connections organized. I was surprised when I looked at the website, there were a lot of features that I never thought I would use. (Here is a review I did on the product, and a quick tip on using the data grid to get a quick report) Today a year or so later, I am still only using a few features of the tool, however my most recent adjustment has made a big difference to the team I work on.

I installed the central repository for the tool, and configured it so everyone on my team could use it.

The benefit?

Well directly it is still the same for me, I look for the tool to organize my RDP connections. However, now I can share those connections that I have created with the rest of the team that I work on. In addition they share their connections with me. So when a new server is turned up for whatever reason, the individual on our team that builds the OS can add a connection into the Remote Desktop database, and it will then be on my list as well. So when I am told, “Hey, connect to the DEV 12 machine and validate the SQL Install”, I can just look in my Remote Desktop Manager and see the connection grouped with the other Dev machines. If we stay on top of it, we can even search for these machines using the search tool bar option.

So I hate to admit it, but when I am working I really am not a big fan of trying to learn a tool that is supposed to help me do my job more efficient. I would rather be reading up on new SQL Server stuff. I was concerned about how long this was going to take to set up and configure. Well the end result, it did not take me long. I would be surprised that if I had been 100% focused on just setting the tool up, if it took a whole hour. Once you get the installer, there is a pretty easy to complete standard install. Once I completed that, I followed the Menu down the file list and found the data sources. All this work is being done on the server you want to hold your repository.

You will see in this image below, there is a grayed our option to create the database, and it did just what I wanted it to. There is not a whole lot more to it.

However, the real power here comes in when you connect to the data source, and start adding user accounts found under the administrative menu. Once I added everyone on my team to use it, all that needed to be done was to install the tool on their machines and change the data source to the database I had just configured.

I love it when I am organized. Remote Desktop Manager does exactly that. Now it helps me help my team stay organized just as well. So when I am on call, and I receive a call that is requesting I reboot a server I had never been on before I am not wasting time, trying to get all the specifics to connect, I look in the shared connections and all the info is there that I need.

This is a review for a product, however I have not been paid for this product review.

I am curious as to how other DBA’s handle changes to your environments. Specifically changes to your databases.

Say for example that you have an application that has been designed in house. A development team develops the application, the services and the database changes that are required to support those changes. As an operational or “Production DBA” that is not involved in the development process is held responsible for the performance of not only the SQL Server configuration (mirroring, configurations, and the such) but the hardware and the database (locks, indexing and the such) as well.

Goals of the development team are to develop software to support services or product lines that add to the company’s operations.

Goals of the operational team is to ensure availability and stability while maintaining a level of recovery.

The development team works with the agile development methodology and releases once every couple weeks. The stress point that I find in this scenario is as a “Production DBA” the organization has an expectation level that each of the changes are reviewed and approved before release. The speed of the release cycle creates a window that is a very small point in time for these change reviews. We have attempted to make adjustments as to where in the process the DBA does the actual review itself, even when it is done at different stages of development, any changes that the “Production DBA” has creates a serious delay to the release. The goals of the 2 different teams or roles are different, yet both are aimed to the success of the organization.

There is at least what I believe, an obvious point where the “Production DBA” can be involved from the start of the development task. However, the lines of development and production are then blurred. The development staff would prefer to make the decisions on the architecture without this input.

  1. As a Production DBA, do you review or approve of changes?
  2. As a Production DBA, how involved in each “Story” are you?
  3. Where is the line drawn on who makes what decisions?

I know the question is really vague, and that I have not provided a number of specific pieces of information. I did this because I would like to get a range of answers. Each situation is different, and sure it depends… but it depends on what?

Thanks, for any feedback you provide.