I just paid off my mobile phone. In my case, this is a phone from Google Fi, which provides fantastic service for me. The phone works well in any country I travel to, without any extra roaming costs outside the US for data. That works well, since it’s a data device, and not really a voice device for me. Even overseas, lots of my calls are through some data service, like Facebook Messenger.
The decision for me now is whether to upgrade my phone. I’ve been getting some promotions and I’ve seen some deals from other retail outlets on phones, so I’ve been considering changing my Galaxy S20 for an S22 (perhaps plus) or a Pixel 6. There have been some improvements in cameras, and those are really the only change I’d notice.
Mobile devices have mostly become a commodity for me. The screen is a certain size, and the camera has a quality level, but outside of this, I don’t know that I’ve noticed much of a change in how I use the device or what I notice in quite a few years. If the screen and camera are the same, one phone is fairly interchangeable with another. Even the battery doesn’t seem to change that much between phones.
I think the same thing is true for databases for many of us. A lot of applications, and even developer T-SQL, target the basics of what a relational database platform provides. I suspect most of our needs could be served by MySQL or PostgreSQL as well as SQL Server. Apart from changing the dialect of DDL and DML we write, all those systems work well. In fact, I suspect most of what is run against the SQL Servers backing SQL Server Central could work against an older version such as 2005 or perhaps even 2000.
Some of you use newer features. Plenty of people have learned to use Window functions and the OVER() clause. Some of you might use In-memory tables. Others certainly need Availability Groups. However, a majority of code I see uses nothing newer than a CTE, which means they could run in SQL Server 2005.
A new version of SQL Server is coming later this year. SQL Server 2022 is in preview, and there are some neat things in there. Do you need them for your application? Perhaps you could use them, but the better question is will you actually change how you write code to use the new features? Or change how you set up infrastructure? I’d hope that many of you would, but change is hard for humans, and developers struggle as much as others. We get stuck in our habits and tend to work as we have for years.
When is the technology platform, tool, service, or application you use “good enough” for most of your work? I don’t know, but I find myself less excited about newer tech in many cases. Perhaps because I’m old, or perhaps because my needs are relatively simple. Is that the case for your organization?