Category: Editorial

  • The Limited Cloud

    The cloud is truly someone else’s computer, and it’s not limitless. From the perspective of the individual, it might seem like you could scale infinitely if you need more boxes, storage, or networking, but ultimately the cloud vendor (Azure, AWS, GCP, etc.) needs to have spare machines around. Many of them do, and that works well at the scales in which they operate.

    To a point.

    Azure is having capacity issues in some of its data centers. I’m sure that all of the major cloud providers buy lots of hardware constantly, but there have been shortages during the last year, which has meant for Azure that DCs are running out of capacity. At least for the rest of 2022, which is likely driven by both a limited supply of new machines and the growth of cloud usage by their customers. I know I’ve seen continued growth in companies moving to the cloud for various services, including their data services.

    I haven’t seen reports of large AWS issues, though they do have plenty of instances of insufficient capacity errors and solutions. GCP has similar reports.

    Truly, the cloud is the cloud vendor’s computer. It’s also the cloud vendor’s infrastructure with lots of tooling to help you manage software configured networking and storage in addition to compute engines. It is limited in capacity, especially when lots of customers want to use these resources in one particular data center. That capacity is usually quite high, but there is definitely a limit.

    Does this mean that the cloud isn’t better than your data center? That’s an “it depends” questions. The cloud is great in many ways, and far superior to a lot of private data centers (or colocations facilities) that I’ve worked in or seen. I think the cloud is fantastic, but it’s not perfect. There are limits and issues at times, and you should be ready to work within or around those limits.

    Steve Jones

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

  • Which Work Is Suited for In-Person?

    In this article on flexible working plans, number four makes a good point. What work is suited for live, in-person interaction? Which aspects of your job benefit from seeing others face-to-face?

    Today I’m asking data professionals to think about it. I know we can do all our jobs remotely, after all, many of us have been doing that for at least a couple of years, and some for far longer. I can’t remember the last time I actually needed to look at a physical server I wrote code for? Probably when I self-hosted SQL Server Central back in 2002-2003 and went to reboot a machine or add a disk drive. Even then, those weren’t DBA or developer jobs, but really Operations hardware tasks.

    These days many companies are trying to decide how to handle office and workers. I don’t know I’ve seen anyone come up with a good plan other than leaving everyone remote and figure out how to make things work. Every day in the office doesn’t seem great, and I’m not sure I’ve seen a good company hybrid plan. I see some groups deciding to meet once a week or once a month and that works well, but I think that’s more a reason to have some social time than it is a need for productivity.

    Not that allocating some amount of time specifically to bond socially is a bad idea. I am in favor of this. We used to do this when we were in offices every day, so why not schedule this periodically now?

    While you can do your job remotely, I wonder if there are not some aspects of development or operations that are better done in person. Or maybe, sometimes in-person. I can see brainstorming and planning as being smoother in person. Being focused and closely collaborating always feel stilted and confusing online. I prefer being in person. Perhaps pair programming or a similar arrangement is better in person at times. I know we can share a screen and code together, but doing this in the same room periodically builds a bond that I think would make remote sessions more productive.

    The only other thing that I think matters is cross-team bonding, perhaps doing some debate and discussion of how teams work together or how their work affects others is better done in person. Perhaps not every day/week/month but once a quarter or a few times a year I can see this building better relationships between people, much like in-person pair programming.

    If you have other ideas or experiences, let us know. If you think there isn’t a reason to ever go in the office, that’s something worth sharing as well.

    Steve Jones

     

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

  • Finding a New Job

    There are plenty of people changing jobs in this economy. In fact, I keep hearing that companies are struggling to find people, though many of them are holding off making offers and looking for qualified people. Unlike the early 90s when anyone with an MCSE got hired without too many questions, companies are being picky today about who they hire.

    I saw recently that Brent Ozar wrote his monthly post asking about who is hiring in the database community. There are a number of comments already with job listings, and I’m hoping there are more that appear when this publishes. If you know of a job, post a comment. The wider you spread the news, the better chance you’ll get a person that best fits the position.

    There is always opportunity in any market, but there is also competition. Everyone that I talk to who hires people has to go through a lot of resumes and CVs. They sometimes can’t find a person with enough knowledge, and sometimes they can’t find someone who fits in with their culture. Like it or not, getting along with others and fitting into a culture is important. This is still true even in the remote work-at-home structure that has grown in many companies. We still need a team of people working together.

    I am an advocate of working on your skills and improving them over time. I’m also a fan of ensuring you are showcasing your skills on your resume and on a blog. I think #SQLNewBlogger is a great way to start preparing for the next position you want, not the one you have now. I have written many posts as examples of how to explain what you’ve learned. You can start that now, rather than being in the situation of Ken, who had his job eliminated.

    Spend some time growing your career this year. Balance that with family, hobbies, faith, and friends, but don’t neglect your career. Your employer will, so it’s up to you to manage a career yourself. After all, if you need a job, do you want to get that great paying remote job or get stuck with a job offer that wants you back in an office every day?

    And when you get a new job, be ready to hit the ground running and impress your employer. Show them they made the right decision by hiring you. There have been some good posts on getting started at a job. Aaron Bertrand wrote about his first 30 days and Tracy Boggiano is doing a series. I’m really looking forward to what Tracy shares about her new gig.

    Maybe you want to write about how you’d start your job over again or maybe how you’d attack a new job if you got one. That could be the type of post that impresses someone enough to hire you.

    Steve Jones

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

  • Rebooting for a Reason

    I’ve worked with computers for a long time. I’ve helped support various systems and applications, both desktop and servers. One of the most common tricks that has served me well is to press to oh-en-oh-eff-eff switch twice.

    In other words, reboot.

    This is advice that many tech support people use. It’s what is often recommended for everything from personal computers to mobile devices to watches to really any sort of microchip device. It’s been recommended for my Tesla and for a few appliances as well.

    It’s also incredibly frustrating advice to hear that when we expect a device to run constantly, like a watch. Why should I reboot it? Isn’t your code bad? Isn’t it the manufacturer’s fault? Isn’t this a cop-out to get me off the phone/chat/etc. and close out a call?

    This is likely bad code, and it might be a way to get you off the phone, but there is some rationale behind this troubleshooting step. I ran across this article on the unreasonable effectiveness of turning computers off and on again. It provides some reasoning why rebooting makes sense and why it can help. The short answer is this action returns the code and device to a known state. Often when things are broken, we’re in an unknown state.

    There’s also an interesting parable about writing a shell that is very strict with its evaluation of input and crashing when things aren’t right. The author wrote another shell that is loose in its evaluation of input. Read the piece to see which shell actually made more sense to the programmer.

    I found this interesting and fun to read, and it made me feel better about needing to reboot systems. Less excited about the need to reboot a car or a plane (I’ve been on a 787 when it rebooted), but since I’ve seen the former continue to work, I’m less anxious. Take a look today and let me know if this article makes you feel a little more comfortable with giving out the “reboot” solution to others.

    Steve Jones

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