The Great Developer Resignation

In 2021, many companies had employees leave positions. The number of people resigning from their jobs was so high that the term “The Great Resignation” began appearing in many publications. A number of industries were affected, and there are no shortage of pundits and experts analyzing why. This happened primarily in the US, but the UK is concerned. This doesn’t appear to be happening in Europe, but there are concerns in Asia and Australia as well.

The term feels misleading to me, as workers aren’t forgoing work. Rather, they’re changing jobs and looking for new positions, either at a better position in their field or leaving the field altogether. This is disruptive for firms, and costly, as finding new employees can be challenging and time-consuming. We also see a great loss to teams as the more talented employees find it easier to leave and replacing those people with less-skilled workers impacts their productivity.

I ran across a couple of articles (US, UK) that talk specifically about the challenges when software developers leave. Many companies have realized the value that software brings to their business and feel the impact of the losses that come when they don’t (or can’t) execute on new application projects. The rush to DevOps is driven because better software and a smoother lifecycle improve the bottom line. Unfortunately, just as many companies don’t want to actually change and adopt better development practices, they often don’t want to change their culture, which impacts their ability to retain a talented workforce.

It’s Friday, and you might spend a little time reading the articles and thinking about your position. If you feel you are good at your job and don’t necessarily enjoy the environment, workload, or compensation, should you think about leaving? Is now the time to ask for a better work environment? Should you look at companies that will give you remote work?

The main question this week, which I know is hard to disclose publicly, is are you thinking about changing jobs? I expect few people to leave comments, but I’d ask you to think about your situation.

We know that compensation matters, and many people find they can make a great living working with technology. However, there are other things that are important as well. Having a purpose that allows you to succeed at solving problems you enjoy, a culture that invigorates and stimulates you, autonomy to work on the things that your employer finds important, but in a way that suits you and your team. These are all items that attract talent. The reverse is also true, when you have a micro-managing, blameful culture where lots of uninteresting work is mandated. Those situations repel workers.

As we come out of the pandemic, and organizations struggle to decide how to handle the future of offices and workplaces, there is a lot of power in workers’ hands. The last two years have shown that most of us can work remotely and get things done. We have the supply of skills that can’t meet the growing demand, and this is a good time to think about finding your dream job. If not the dream, then one that might be better than your current one.

I have an amazing job at an amazing company, but not everyone does. If you enjoy your position, then good for you. You likely have more security now than ever. I know if I were still working for a few of my former employers, I’d certainly be setting myself up to find something as wonderful as I have now.

Steve Jones

 

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

Posted in Editorial | Tagged | Comments Off on The Great Developer Resignation

Daily Coping 4 Feb 2022

I started to add a daily coping tip to the SQLServerCentral newsletter and to the Community Circle, which is helping me deal with the issues in the world. I’m adding my responses for each day here. All my coping tips are under this tag.

Today’s tip is to ask other people about things they’ve enjoyed recently.

I love seeing others enjoy life. It could be family, friends, kids I coach, or even random people I might talk to. I rarely engage people, but it can be interesting when I do.

I thought about this, as the last two years have been times when fewer people are getting away, traveling, or even experiencing life. I mentioned this in other tips, but my wife and I took our kids to Las Vegas for New Year’s Even. The basis for that trip was asking a friend about their Thanksgiving holiday and hearing they’d done something similar with their kids.

I’ve had a few friends go to Hawaii in 2021, and I’ve always asked them how it went. My wife has never been, and I booked two trips (2020 and 2021), cancelling both because of concerns over how many things might be open for us.

I’ve chatted with a few others about their travels crossing borders, as I am anxious to get back to visiting new places. I am finding COVID to be more flu-like now with Omicron dominating, and I hope to get to a few new places this year. It’s always interesting to hear people’s thoughts, whether they feel as I do or are more concerned.

Lastly, I’ve pinged a few people about their outdoor adventures. I am hoping that we have a few new ones this year, so I’m curious how others experiences have gone.

Posted in Blog | Tagged , , | Comments Off on Daily Coping 4 Feb 2022

Batch, Streaming, and Relational Data

This is part of a series on my preparation for the DP-900 exam. This is the Microsoft Azure Data Fundamentals, part of a number of certification paths. You can read various posts I’ve created as part of this learning experience.

The first part of the DP-900 skills document has these items:

  • describe batch data
  • describe streaming data
  • describe the difference between batch and streaming data
  • describe the characteristics of relational data

These are concepts that are important to this exam. I lightly blew these off when I started studying, but every other person with guides and the practices tests has lots of focus here. I’m glad I spent time here.

This post covers these concepts a bit. Note, these are more ETL/analytic concepts, not really

Batch Data

Most of my career deals with batch data, meaning a bunch of data that arrives at once and is imported into a system. This is different than a connection and query submitted to an OLTP system. The general idea is:

  • Lots of data
  • Processed periodically
  • Latency doesn’t matter.

Think these key words:

  • Not real-time
  • periodic
  • large/big/lots

There is an MS Docs article on this. The general idea is that you want to think about a scheduled (or some periodic) processing of lots of data for a purpose.

Examples of where batch is used.

  • Total up all hours worked last week for employees
  • Load and transform log files from all web servers each day
  • Import files from regional offices into a main database server

In the analytics space, you’d be using Azure Data Factory (ADF), HD Insight (U-SQL, Hiuve, Pig, Spark), Azure Data Lake (ADLS).

Streaming Data

There is a course on this topic. When you think of streaming, think of these key words:

  • real-time
  • stream
  • data processed as soon as created
  • IoT
  • few transactions
  • monitoring or instant decision making

Streaming is really about time series, about tumbling windows, about data like a stock ticker that you need to constantly and/or quickly process.

Differences

These items helped me:

  • Lots of data – Batch
  • Low latency – Stream
  • Long latency, latency doesn’t matter, periodic work – Batch
  • Small, constant sets of data – Stream

Relational Data

The workload here is that you are handling regular changes to data, lots of insert/update/deletes, for a business process. Really this means you are thinking some sort of CRUD application the gets and sends data to users in real time, but not with low latency issues. We are thinking a web server, a data entry business app, something that operates on time scales for humans, seconds. Not real time, IoT millisecond work.

Posted in Blog | Tagged , , , | Comments Off on Batch, Streaming, and Relational Data

Daily Coping 3 Feb 2022

I started to add a daily coping tip to the SQLServerCentral newsletter and to the Community Circle, which is helping me deal with the issues in the world. I’m adding my responses for each day here. All my coping tips are under this tag.

Today’s tip is to challenge negative thoughts and look for the upside.

In a world where controversy, complaints, and negativity are readily available, it’s easy to get down when you look at the news, social media, or even chat with friends online. I find many people present a much poorer version of themselves online. Even in person, often they’ve been affected by the world, so I can find interactions often start of with negativity.

Personally, I have found that I can get down not only from media and information around me, but also from things not going well for me. Work, coaching, life, all have things that go wrong.

Note: things lightly go wrong for me. Overall my life is pretty amazing, so I am getting down about little things that in the grand scheme of the world, aren’t that important. I know this.

For me, and I’ve written about this in a few tips, I had a minor bit of bad news regarding my last health checkup. I’ve made some changes, and with reminders from my wife, am looking forward. I’m not upset that my diet is changed, I’m not overly concerned, and I’m working to keep a few slightly high numbers in perspective. My health isn’t in immediate or immanent danger, cutting back and changing lifestyle isn’t that much of an impact, and missing a few things (some food, alcohol, etc.) really isn’t that bad.

I’m staying positive, enjoying my gains, letting the feelings of missing things wash over me, experiencing them, and letting go.

Posted in Blog | Tagged , , | Comments Off on Daily Coping 3 Feb 2022