Tag: career

  • The Best Days

    I recently asked about the worst days in your career, so today let’s turn it around. What are the best days of your career? If you can give us a list of 2 or 3 days, projects, accomplishments, etc., it might be fun to read.

    Throughout my career, I have lots of little successes where I accomplish something that a client needs. Those add up, and they’re good, but by nature there are so many and the numbers tend to blur the lines in my mind. Unfortunately, the mistakes I’ve made tend to be more memorable and stick in my mind. I really have to think about what I would consider the best days.

    There are a couple software deployments that I consider to be successes, though none overly memorable. Getting my code into production is great, but rarely is a change a huge win. Instead, it takes time for clients to use the code, to understand the impact, and for me to be sure that the code works as expected.

    I remember getting our first automated deployment done, almost twenty years ago, when we had moved from a manual process of collecting scripts and trying to ensure they were correctly ordered and contained all the changes we needed. After weeks of working on an automated process to collect, order, and execute scripts, we tested things in QA. Then a day later in production. Overall this was a non-event, with the deployment taking minutes. The change from constantly checking scripts, results, and manually executing code was amazing and the reduction of time spent getting ready was notable.

    I also remember a great day as a DBA, when we experienced a server crash and had to rebuild new hardware. I was away with family, but I knew my backup and restore procedures were ready. I walked a manager through restoring a database, using a script to automatically build the log restore scripts, and then executing those scripts. While driving with my family, completely hands off, I helped recover a database.

    I hope you have some good memories of your career, and can share one or two today.

    Steve Jones

    The Voice of the DBA Podcast

    Listen to the MP3 Audio ( 3.0MB) podcast or subscribe to the feed at iTunes and Libsyn.

     

  • Maintain Your Trustworthiness

    Many of us that are DBAs and/or sysadmins find ourselves with privileged access to many systems. We can often read the data that’s stored in these systems, whether that’s a relational database, a NoSQL store, or even a mail system. As a result, it is incumbent upon us to be trustworthy and maintain confidentiality with privileged information.

    Overall I think most of us do this, but there are always some rogue administrators out there, some of which might take malicious actions. There have been a few people that were arrested or sued for hacking into systems, trashing backups, or causing other issues. Often those are emotional outbursts that disrupt operations, and many people are aware there is an issue. However, what if people weren’t aware they were being hacked in some way?

    I ran across this story about some “admin” software being sold on a hacker forum site, which was marketed as sys admin software, but used to control other people’s computers without their knowledge. This is essentially a remote access trojan application that a developer sold to others who used it to steal data from their victims. The software developer was arrested and signed a plea agreement, knowing that it was used in a malicious manner.

    For those of us that have privileged access, we might learn passwords of users as we watch them enter the value over and over. We certainly might work with their data to help them solve an issue or understand the manipulation taking place. We We may have auditing systems or logs that allow us to replay or examine the data values people have entered into applications. We do this with their permission and understanding, or at least someone’s permission. A user might not know we have substantial instrumentation, perhaps even the equivalent of a keystroke logger, but there will be some management that is aware of the existence of these tools.

    While I’ve played a few pranks on people, moving keyboards or mice, I’ve always ensured they knew it was me in a short period of time. Using admin software to spy on others without their knowledge is a breach of trust and ethics, in my opinion. Even being asked to use this by management would be immoral for me.

    Knowing this type of software exists, is important, and if you find it, I’d make sure you report it to management immediately, preferably to a few different people. If anyone is using tools to spy on users, they’re likely up to no good and I’d hope we would all attempt to put a stop to the practice.

    Steve Jones

    The Voice of the DBA Podcast

    Listen to the MP3 Audio ( 4.6MB) podcast or subscribe to the feed at iTunes and Libsyn.

  • Unwired for Weeks

    I took a few weeks off recently for a vacation with my family. We traveled from Denver to Yellowstone National Park in Wyoming and then on to Glacier National Park in Montana. We drove a horse trailer, camping along the way in the vast outdoors of America. It was a wonderful time and a beautiful part of the country. If you get the chance to visit, I’d highly recommend the trip.

    One of the interesting things on this trip was that I was very unwired. In fact, I didn’t even take a laptop, which is a rarity for me. Often I’ll take one to jot notes, sketch an editorial, or just have around to check on things. This time, I didn’t bother, and neither did my wife. One kid did, but only because he was enrolled in a couple classes (CS and Math) this summer and had assignments to do.

    The only device I had was my phone, which didn’t have service for much of the trip. Both during long drives (I was glad Google Maps downloads directions), at many of our campsites, and in the national parks, there was little service. In fact, when I did have service, I was surprised. The camping locations did have wi-fi, but I only used it to upload pictures of the trip and didn’t even bother checking social media as I posted. I mostly uploaded pictures to ensure I had a backup.

    I did check email once early on to be sure that I hadn’t forgotten anything from work early, and forwarded on a couple items to people, but when I arrived home last week, I had hundreds of messages from Redgate and probably close to a thousand from SQLServerCentral. It was quite a chore handling and deleting a number of items, and took half of my Monday back in the office.

    What was interesting to me is that I didn’t really miss the social media much, certainly didn’t miss the news, and nothing that important came up. I didn’t worry about work, knowing that something would go wrong (such as a few buggy questions) and that someone would handle the situation (thanks to Grant for fixing things) or delay the item until I returned. I found numerous meetings canceled or rescheduled without me and quite a few hastily dashed emails or queries that were later retracted or amended. In fact, going through emails from newest to oldest allowed me to delete older, out of date messages without reading them.

    I rarely take more than a few days off at a time, usually just a long weekend here and there, but this proved (again) something I’ve suspected for a long time. Much of the pressure we feel with deadlines at work is arbitrarily imposed. Whether we do it to ourselves or someone else picks a datetime, there isn’t any rationale for the choice. Usually the goal is to complete work as fast as possible, but if there are delays, if something comes up, with life, other tasks, unforeseen failures (hardware/software) get in the way, the business will survive.

    I learned a long time ago that despite my best efforts, things will go wrong and there will be delays. I’ve learned to expect them, accept them and try to not add any extra stress on myself when things are delayed. Go home at a reasonable hour most of the time, live the rest of your life, while doing the best professional job you can. There will always be more work, and the business will survive if most of your work ends up being delayed slightly.

    Steve Jones

    The Voice of the DBA Podcast

    Listen to the MP3 Audio ( 6.2MB) podcast or subscribe to the feed at iTunes and Libsyn.

  • Day 2–#SQLCareer

    This is a series of posts on what my day is like. I don’t do a lot of production technical work, but life as an evangelist is interesting, so here goes. Join the #SQLCareer movement and post about your day. Just a random day, not one that is anything special.

    I’m actually looking back a few days. I’m on holiday, which might be interesting to some, but isn’t a part of my career. Here’s a look back at July 18, the day before my last post.

    3:20am – get up to throw clothes in the dryer. I fell asleep last night after they went in the wash, but I need a Redgate shirt done. Not sure why I woke up now, but since I did might as well get something done.

    5:28am – wake up for real. I have an early flight and need to leave the house by 6. I like to set a random time, so rather than 5:30 or 5:25, it’s 5:28 today. I get up, get clean, and double check my packing. I have a bag always packed with running shoes, toiletries, phone cord, and a day of clothes. Since I travel regularly, I just keep this ready. If it’s more than a 2 day trip, I add stuff, but today I just go get my Redgate shirt from the dryer and load it.

    I’m also forgoing my laptop bag since I’m just doing slides with someone else, so I toss my laptop and charger in the bag. I load the car and I’m out the door by 6:05.

    Arrive at the airport and it’s packed today. PRE only has 2 people scanning and it’s a busy Wednesday in Denver. The line must be 100 people deep, which is still much better than the 300-400 people in the main line. I scan emails on my phone while waiting and in 5-10 minutes they add a few more staff members and things go smoothly.

    I ate a protein bar on the drive in since I wasn’t sure I’d have time at the airport. I didn’t, so I’m glad. I get on the flight, and surprisingly, no one is in my row. I watch a bit of the Bosch series on Prime that I’d downloaded. Once we’re in the air, I pull out the laptop and go over my presentation since I’m supposed to rehearse today with others.

    9:00 local – arrive in Vegas. No checked bags, so I walk out and schedule and Uber as I’m walking through the terminal. I get to the garage and 2-3 minutes later my ride takes me to the Mandalay.

    9:30 – I’ve walked through the hotel to the convention center. Everything is big in Vegas, including the walks. I’m rolling a bag with me, navigating by guess. It’s day 3 of the conference and there are no registration crowds. I go up and there’s no badge for me. Since I’m replacing someone else at the last minute, I expected this, so I go to the help area.

    Microsoft has a privacy policy, and they can’t confirm the other person from Redgate is or isn’t registered, but also need written proof to move a registration. It’s a bit of a catch-22, though I’m not annoyed. I’m sure it will get straightened out. I text my Microsoft co-speaker and he says he’s on the way.

    He arrives and tries to get information. He apparently has no more pull than I do. After talking with the registration staff for a bit, we realize that this isn’t working. He tries to search for some email that might let him slip me in while I start pinging people at Redgate.

    10:00 I finally get a Slack call from a product manager at Redgate who helped put this together. Slack is great here, and quick. A chat turns into a phone call without the hassles of exchanging international numbers and hoping they go through. Plus there are no expenses this way.

    I chat with him and he tries to find some way of getting proof that I can take someone’s place. He’s pinging IT to try and get an email delegation and also trying to contact the original person that was supposed to speak, but who is on holiday.

    10:30 – Finally get authorization from the person sent in an email. Registration looks at it and says, yep, that’s fine. They check and say the person never registered.

    Hmmm, this is getting better.

    Another phone call and more email searches. I get the original invite from Microsoft, but when I try to register, it’s locked to the original email account. Another phone call and I have that person try to register, since the event company says they’ll switch it.

    10:45 – I get a phone call from Redgate. It’s $2400 for the conference, and it ends in about 26 hours (Thur after lunch). What do we think? I don’t know. I’ve got friends at Microsoft pinging me to come to the Bruno Mars concert that night. I was thinking to sit in a few sessions and see what other partners see. My Microsoft contact says he can’t do anything. If they didn’t send a code for a free registration, there isn’t one.

    However, that’s a lot. I’m delivering part of one session and that doesn’t seem right. I check with registration and it’s $995 for a Wednesday pass, $495 for a Thursday one. As much as I’d like to see friends and Bruno Mars, it’s not worth $1000. I’m sure Redgate would be fine, but it feels like a poor use of money. At this point, I’ve spent over 90 minutes trying to get registered for the conference, on the phone, pacing on a hard concrete floor. I check with the young lady to be sure she’ll be around Thursday as I need the speaker badge. She will be, so I thank her and tell me Microsoft co-speaker that we can practice later. He says he’s gotten busy and doesn’t have time, but we can meet Thursday am.

    I head back through the convention center to Starbucks. I feel like at 11:20, I’ve gotten nothing done. I sit down with a cup of coffee and open my laptop. At least I can get something done.

    11:30 Part of my job is helping customers at times, or the salespeople. In Slack, we find a customer having concerns about a tool working with temporal tables. We have some smart engineers, but they don’t always know the intricacies of how SQL Server works. Grant, Kathi, and I often help out. Since I’ve gotten nothing done, I take this up.

    I tell them there shouldn’t be an issue here, but let me check. While sitting in Starbucks, I plug in headphones and start setting up a temporal table and then work with our product. In this case, I need to disable the system versioning, do something, then enable it. I mess with this for an hour, where it seems that disabling system versioning and turning it back on see to not track changes. I search for reports of issues.

    1:00 – I need lunch. I know some of this works, but I’m missing something. I head over to a nearby place, order, and then start checking SQLServerCentral and reading a few threads to make sure things are fine. I do a little phone browsing on temporal tables and it hits me. When I disable system versioning, the link to the history table is broken. Unlike most features, if I turn things off, I can’t just turn them on. If I want the same history table, I need to relink it.

    1:30 – Rather than go back to Starbucks, I decide to see if my hotel will check me in. It’s two blocks away, so I decide to walk. Enjoy the day.

    I head out and walk to the Luxor and then start slightly regretting this. It’s 106F in Vegas, and I’m rolling a back down a street with no shade. To make things worse, I’ve passed the tram and it’s about as far back to it as it is to the parking garage for the Tropicana. I press on. It’s not that hot.

    2:00 – I spend a few minutes chilling in the AC and watching some people gamble in the early afternoon. I don’t get gambling, but that’s me.

    Since I travel a lot, I have status with some companies. The hotel company is one and they let me check in early. I go to the room and continue to work on my PoC. I immediately get things working and then start to write up a summary as a blog. I run through the demo a few times and be sure the code looks OK and then publish it. I send the link to the sales engineers to forward to a customer. If you’re interested, you can read it here.

    That done, I close out some work for the day. I’ve been needing to finish editing an article, so I do that and check on the schedule of content for SQLServerCentral. Since I’m leaving on holiday, I need to get ahead of the game. I get a few newsletters scheduled and then hit the gym.

    6:30pm – After the gym, I work a little longer. I rehearse the presentation a few more times to be sure I know what I’m saying. This was dropped on my less than a week ago, and I want to deliver it smoothly.

    I’m debating about what to do. Alone in Vegas, friends all at a concert. I’m considering a comedy show in the Tropicana. I like those, and it would be a nice break. I decide to get dinner.

    8:00pm – I’ve finished a dinner in the Robert Irving Public House restaurant and had a couple beers. They made it seem really nice on the hotel site and that reservations are needed. They aren’t on a July Wednesday. I sat at the bar, but the place was almost empty.

    I’m beat and it’s been a long day. I’m glad I didn’t get into Inspire today and that I didn’t buy tickets for a show. I’m going to bed.

    9:15pm – After reading a little for pleasure, I’m done.

    That was my day. A little stress, but nothing major. The plan went sideways, but I recovered and made it a productive day.