Category: Editorial

  • The Other Jobs

    There’s a meme of sorts going around Twitter. It asks for your non-tech jobs, and I’ve seen some good ones from Grant, Kendra, Erin Stellato, and more. There are some interesting ones, and a few that I’m glad I never had to try. My list is here:

    1. Ice bag packer/delivery
    2. Waiter/bartender
    3. Lawn service supervisor
    4. Lay water/sewer pipe
    5. Volleyball coach (current)

    In my youth, I had a few more (newspaper delivery, painter), but I’ve had paying computer jobs since I was about 16, off and on, and I had a lot of restaurant jobs. I’ve actually been a cook, busboy, delivery person, waiter, bartender, and manager. I always enjoyed restaurant work and even had some part time jobs even as I was starting my career in tech. These days I certainly have ranch jobs, usually assigned by my wife, and I do coach competitive youth volleyball over the winter.

    I know most of us have more in our lives than tech, and some of us might even have second jobs now, whether by necessity or for fun. This week I’m curious what other jobs you’ve held and which ones you enjoyed. Perhaps there were some you hated. Let us know how rounded your work history is.

    As I get older, I think about other jobs. Not that I want to leave Redgate or SQLServerCentral, but I’d like to retire at some point and still have something that occupies some time. Volunteering somewhere, with a commitment as a real job, is something I hope to do at some point. Volleyball is great, but one thing I’m looking to try is holding babies at the local hospital. Many of them need companionship when they are born premature or ill and parents need a break. Seems like a good gig to me.

    What interesting job would you try in retirement?

    BTW, I know some of you worry about these as a security question, but I’ve never seen this listed as one of my choices. If you have, then please don’t answer.

    Steve Jones

    Listen to the podcast at Libsyn

  • Serverless Databases

    I wrote about serverless applications recently. Not a lot of people are using serverless technology for their code, but a few have had a lot of success. It seems like a move that makes sense, though there are some challenges in managing the code when you deploy functions or snippets instead of an entire codebase. I worry a bit about tracking billing, usage, versions, and deployment pipelines with serverless, but I know things will get better over time.

    Now Microsoft Azure has included a new option for databases: Azure SQL DB Serverless. This is a SQL Server database that bills you for the compute cycles used by the second. This works by essentially pausing your use of the database processing when clients are not accessing the system. You are still billed for storage all of the time, which makes sense, but storage is cheap. The system also has quite a few automatic scaling features, many of which aren’t as simple to understand as I might hope.

    How many times have you purchased a server (or rented one) and found it is barely used, trundling along at 10-20% CPU? I’ve done that quite a few times, especially when I had no idea of the workload early on. Later, it’s often not been worth my time to try and consolidate the database on another machine. Often this is often a fear based response where the cost of the machine is already gone, and I don’t want to take the chance that a burst in workload will overload another system.

    For sporadic use applications, serverless databases might be a good fit. I can avoid paying for compute during low periods, such as overnight. I’m essentially renting a machine at specific times and not at others, but the compute layer gets provisioned as I need it. That seems like the ideal situation for a lots of apps, assuming I can run them in the cloud. There are some restrictions in preview, such as the inability to pause the system unless there are 6+ hours of no activity, but I’m hoping that changes. Six hours seems like a long time.

    The one thing I think about this database service is that it will require longer timeouts and more resilient applications that can handle a warm-up period if the computer layer has been shut down. I also worry a bit about cache and the buffer pool. If you’ve ever dealt with servers that regularly restart, there is a bit of a slow period as the buffer pool fills and code is compiled. Perhaps Microsoft has ways of saving off some of these states, perhaps capturing plans in the Query Store that can avoid excessive compilations on restart, but I do worry that slow starts will increase user complaints and tickets filed. Those costs might not be worth the savings from shutting down your database resources.

    Steve Jones

    Listen to the podcast at Libsyn

  • Communicate Smarter Not More

    I recently installed Microsoft Teams. Not because I wanted to, or because Redgate is abandoning Slack, but because Microsoft requires it for some MVP calls. This replaces Skype for Business (S4B), and while it worked OK, I’m not sure it worked better. In fact, for the use cases I have, Teams feels like an abandonment of the Skype codebase for a newer version of the same thing. That’s fine, and I don’t really care. It’s slightly annoying as I have S4B for internal stuff at Redgate and didn’t need another tool, but with a modern, quad core, 2.xGHz CPU and 32GB of RAM, one more application isn’t going to break anything. It is, however, making me less productive.

    We have lots of ways to communicate. In fact, I have Twitter (social media), Slack (work comms), Outlook (email), S4B (calls) and a mobile phone all running as I write this. I don’t get too caught up in any of them, and I have most notifications disabled, precisely for the reasons outlined in this article: the tools can be a productivity drain. I know this, and most of these tools actually live in the background, behind the various tools I use to get work done. I check them at times, but try to stay off most of the day. I need to focus, and having more communication methods is distracting.

    There was a day not too long ago when I needed to find a person that had missed a meeting time. Messages went out through Slack DMs, Twitter DMs, text, Skype IM, and email, hoping that a notification would pop up for someone on some app. I know I’ve used Slack like a PA system at times, pinging other people to go find someone that wasn’t responding to messages. For someone working remotely, it’s frustrating to try and reach out to others, but I’ve seen people in an office take the same tactic, reaching out electronically, which often creates more interruptions and distractions for others. I don’t know if this is that much worse than walking around an office and physically interrupting others, but I do think it can be more pervasive as too many of us have constant notifications on devices that don’t go away when the workday ends. We also do it more, because it’s so easy. Getting up to walk around is a bar that deters some people from interrupting others.

    What might be even harder to deal with is the linkage of various applications together. Now I see GitHub messages in GitHub, Slack, and Email. It’s a barrage of items that aren’t hard to handle, but they each take away a little bit of time and attention.

    That’s the downside of communication methods. Each requires a little time, even if just to click/swipe/eye roll at a notification. Those little bits of time add up and don’t necessarily help us be more productive. Some things require too much time as I’ve watched people look through and consider just the right emoji to use for a reaction on Slack. Most of the time I think there should just be a couple choices, because the richness of the variety equates to the decline of quality time spent on work that needs to be done.

    We constantly hear that communication skills, those soft skills of relating to others and exchanging information clearly, are important. They are, but I think there is another element to communicating well: brevity. Learning to communicate effectively, in a way that allows you yo get your message across quickly, while also being able to focus for long periods of time is a skill more of us need. Being able to turn off distractions, or delay responses when quickness isn’t needed will help you be more productive and efficient. I think one of the interview questions I’d ask in the future would be around how to deal with the constant barrage of Slack/Teams/Skype/Outlook/Github/whatever-comes-next messages.

    Do you know how to reduce the overload of communications in your job? Let us know today.

    Steve Jones

    Listen to the podcast at Libsyn