Category: Editorial

  • Being Reasonable

    The last two years have changed the way many of us work in technology. The pandemic allowed many of us to work remotely, a challenge that many companies are struggling with. Or perhaps, management is struggling with and employees appreciate. In any case, no matter what your situation, the way we work has changed.

    The change wasn’t easy at times, and even though many people appreciated the extra time in their day from not commuting to work, they often had other challenges. Co-existing with others in a residence, finding a place to work that allows concentration, and even learning how to separate work from home life. These have been issues for many data professionals and other technologists. Even if we’ve had an easy time adapting, not all of our colleagues have felt the same way.

    One of the core values that we have at Redgate Software is being reasonable. It’s a somewhat amorphous value that I didn’t know how to interpret or act on at first. Our former CEO repeated this often in updates, to the point where I have heard other management and employees use the verbiage in meetings on a regular basis.

    I think as a company, we’ve learned how to be reasonable with others. We don’t overly rely on policies or rules to guide us in how we accomplish work and interact with each other. Instead, we use judgment, and managers are flexible in their interactions with employees. As a Type-A, driven American, it has sometimes felt strange to not have everyone trying to outwork everyone else. It was an adjustment for me.

    The idea is not that we do little work or avoid work, but that we avoid working too much. It’s not about the hours anyone puts in, it’s the contribution they make to their department. No one watches the parking lot to see who’s in the office or who’s logged in. Instead, we expect people to manage themselves, meet their commitments, and be accountable for the tasks they’ve been assigned. At the same time, we cover for each other and support the team. We’ve had people out sick, out for maternity/paternity leave, or struggle with other life-altering issues. The rest of their team will help cover for someone, knowing they will do the same for us.

    We treat each other as humans, have empathy for others, and act towards others as we would want to be treated. At the same time, we have goals and missions to drive us forward to build a better company. We find balance in how we do this, and it’s worked very well for over 20 years. In many ways, it’s how I try to live life. There are good and bad days. There are busy ones, some hectic, chaotic times, but also slower times when I can recover and recharge.

    It is really hard to describe what being reasonable means, and at times I am not quite sure how to act in a situation, but I try to put myself in someone else’s shoes, see their point of view, and then decide how I would want to be treated. That usually guides me as to how I should proceed. It’s worked well for 15 years for me and I look forward to being reasonable for the next 15.

    Steve Jones

    Listen to the podcast at Libsyn, Stitcher, Spotify, or iTunes.

  • The Azure Carrot

    Microsoft wants more people to move their database workloads to Azure. They are constantly adding new features, capabilities, even tools to help people move databases to some part of Azure. It’s working well, as the latest quarterly report shows tremendous growth in Azure revenue. We don’t know precisely how SQL Server or Azure SQL databases impact this, but I certainly see more and more customers moving relational workloads to the cloud. Some to Azure, some to other providers.

    In an effort to entice people, Microsoft has a promotion that they were running in March, which was asking SQL Server 2012 customers to move to Azure and save with free extended security updates. They reiterated the promotion on July 12, when SQL Server 2012 went out of support. They calculate savings and promote benefits, which might be tangible and desirable to some of you. After all, not having a supported platform isn’t an option for some people.

    I don’t know how I feel about this. While we recently had a security update for SQL Server 2012, I know that it’s an older platform and at this point, it’s 10 years past RTM. It is probably time to upgrade to a newer version, which should be 2019 if you can’t wait and SQL Server 2022 if you can wait until the end of the year. I can’t imagine that your workload from 2012 won’t run on 2019, but it’s possible there are some issues.

    I’ve run older versions of SQL Server that weren’t supported and often didn’t worry. I knew what worked and what didn’t, and after a few years, it was unlikely that anything in the product would break. However, that was in an environment that was not regulated or certified, which wasn’t always the case. I have worked in places where we would upgrade whenever we got to the end of mainstream support as we weren’t interested in paying for extended support.

    I also think that while SQL Server is very mature, and it’s possible that you don’t need new features, you do want a platform that is secure. That means you do want support and fast action if an exploit becomes published. There is also the case that we often want developers working on modern platforms, both because they can take advantage of better language constructs, but also because this helps retention. Try hiring for an all SQL Server 2012 environment v a SQL Server 2019 one. You might find people, but a lot of the talented ones would prefer to work on a modern platform, not a decade old one.

    If you are running SQL Server 2012 (or 2008x) and considering the cloud, check out the promotion. It might help you make a decision on whether to upgrade locally or move to Azure.

    Steve Jones

    Listen to the podcast at Libsyn, Stitcher, Spotify, or iTunes.

  • AI Ethics

    I found this article to be an interesting look at how we might add ethics to AI systems in one area. As the article points out, “… today there is no broadly accepted AI ethics framework, or means to enforce it. Clearly, ethical AI is a broad topic …”.

    Glad someone is thinking, or many people are, but sad that we aren’t really moving in a direction that creates a better system for us humans to work under, or be bound by. To be fair, I do think this is a very difficult topic and hard for any large group of people to agree on what should be done.

    Network monitoring is a fairly narrow problem domain, at least compared to many others. The article notes there are places where AI can, and does help humans that work in computer networking. That being said, how does the AI handle ethical considerations. For example, can we ensure the AI handles data privacy appropriately. This could be in compliance with some regulation like GDPR. It could also be in a manner that doesn’t disclose data inside a company to other systems or humans who shouldn’t see the specifics of network traffic (like passwords, credit cards, or any sensitive information).

    There are also other considerations. While we see bias in AI systems trained on previous human behaviors, because humans are biased, will network AIs similarly have bias? Will they be less helpful for power users, who have a wide variety of traffic? Those are often privileged users, who might benefit the most from helpful monitoring. Will AIs discriminate against a user when another humans trains or influences it against them? A crude example might be a network admin that doesn’t like women. They enforce more strict rules against women, and influence the AI to do the same. How will the AI, or others, detect this type of issue?

    Maybe the most difficult thing with AI is with corner cases. The ethical dilemmas that might not be easy to solve can confound an AI. Maybe the most ethical choice here is to seek other counsel or let other people help make a decision. To be fair, this is hard for humans to do as well, but for some reason we seem to trust computers less. At least some of us do.

    Ethics is a challenging issue. I find it to be difficult as a human, and my own inconsistency means I might react differently at different times or in different places. How we translate that to AI systems, which are increasingly a part of our world, is going to be hard. I don’t have answers, but I lean towards transparency, accountability from the humans in charge, and the ability to reverse (and apologize for), poor decisions.

    Steve Jones

    Listen to the podcast at Libsyn, Stitcher, Spotify, or iTunes.

  • Share Your Mistakes

    I wrote the other day about a culture of allowing mistakes. We know mistakes are going to happen, so we ought to accept them. Even stupid ones. I make them at times, my wife does, my kid does, so I have been working to not get upset and emotional about them. Instead, hold someone accountable, let them fix things, and try to do better in the future. It’s what I’d want, and what I am trying to do with my family, friends, kids I coach, and others.

    Many of us share knowledge and information. One of the reasons I love events like SQL Saturday is that others share their knowledge. I especially appreciate is when someone shares a solution and how or why they build it. Hearing their stories, the reasons for their decisions, and what works well is great. I learn in a similar way from blogs, which is why we syndicate blogs at SQL Server Central and include them in the newsletter.

    By the way, if you have a blog and want to syndicate it (full feeds, please), contact the webmaster or submit an article.

    We want to share knowledge, but we should also remember to share mistakes. We make wrong turns, and sometimes others might not take our advice because we recommend them. Instead, they might go down the same wrong path as we did previously. They might make the same mistake we did. Sharing and showing how a decision didn’t work well can be a powerful and valuable story. We all respond well when we empathize, and most of us can empathize with a mistake.

    Almost every interview I’ve been in has asked me about a mistake, misstep, or other error that I’ve corrected or learned from. Usually, there is some variation on “tell me about a difficult situation” that you need a story about. In a technical interview, this might be based on a programming or database administration problem. In other interviews, this might require you to think about interactions with others.

    In any case, I encourage you to keep stories handy for interviews or reviews. I’d certainly also suggest that you blog about them. Writing is a valuable communication skill we all need, especially in these days of mostly remote interactions. Practice writing, get better at presenting your thoughts, and learn to share stories that will help others in their journey to be a better professional.

    Steve Jones

    Listen to the podcast at Libsyn, Stitcher, Spotify, or iTunes.