I’m in Belgium today for the start of Techorama.
You get It’s the Engineers to read while I’m learning something new.
I’m in Belgium today for the start of Techorama.
You get It’s the Engineers to read while I’m learning something new.
Traveling today, going from the UK to Belgium. Fingers crossed that the trip is smooth.
I’m republishing Job Interviews: What is Normalization? today for you to read.
It’s been a decade-plus of the Not-Only-SQL (NoSQL) movement where a large variety of specialized database platforms have been developed and sold. It seems that there are so many different platforms for data stores that you can find one for whatever specialized type of data you are working with. However, is that what people are doing to store data in their applications?
I saw this piece on the return to the general-purpose database, postulating that a lot of the NoSQL database platforms have added additional capabilities that make them less specialized and more generalized. I’ve seen some of this, just as many relational platforms have added features that compete with one of the NoSQL classes of databases. The NoSQL datastores might be adding SQL-like features because some of these platforms are too specialized, and the vendors have decided they need to cover a slightly wider set of use cases.
It also could be that some of the features of the relational database, which are certainly a general-purpose data store, are demanded by customers. I personally think that many problems are solved well by the RDBMSes out there, and if you need something specific, then add on a NoSQL document, graph, time-series, or other type of database for some part of your application.
A lot of organizations have moved to using multiple data stores in applications. I see it more and more from customers I deal with, often because there is a specialized need, like Redis for caching, that just outperforms the main database for a certain function. As long as it’s easy to integrate, why not use a second database platform in your application?
I don’t know that you want to keep adding specialized systems, however. As the article notes: “the overhead today of having to learn and interact with multiple databases has become more burden than boon.” That can certainly be the case when there are a lot of platforms and your staff changes on a regular basis. We’ve seen this become a burden when there are too many versions of a database platform. Supporting these is hard and learning about all the features is a challenge for developers. Building expertise in many areas is sometimes very difficult for an organization.
My guess is that the future will continue to be applications that use one data store, but the trend is away from this. Especially as more organizations start to use the cloud, I suspect a lot of companies will use a specialized data store for some part of their data. They’ll also be more likely to use a second platform for a data warehouse or analysis platform. With cloud vendors building easier data transfer capabilities, like Synapse Link, I do expect more customers to take advantage of these and use a second, specialized platform where it makes sense.
I like the idea of specialized platforms and systems. I do think that there are some problems that are not well suited to being solved by relational structures. However, I also think that for a lot of critical transactional systems, it’s hard to get away from a relational store.
Steve Jones
Listen to the podcast at Libsyn, Stitcher, Spotify, or iTunes.
Hacker News is a forum for experienced developers. While I think plenty of beginners lurk there, the discussions seem to be dominated by those who have worked in the technology or software industries for years. I saw an interesting article that noted Hacker News doesn’t seem to discuss certifications and backed up the claim with some search results that show few results for various terms.
I think that many experienced people working in technology are wary of certifications. With a little practical experience, one quickly realizes how little certifications actually do to prove you know how to work with a platform, or with code. Most companies that hire someone with a certification will need to allocate some time to training them how to work on their systems. To be fair, this is the case with a college degree as well.
The article goes on to talk a little on how colleges ought to be separating out a “degree” from more concentrated or focused evaluations of skills. I agree, though arguably this reduces the brand (and revenue) of many institutions. My view would be that many people don’t need the two year degree. Those that do will come back and get it, or take additional classes to learn more.
I do believe that studying for and passing a certification forces someone to learn a bit about the technology area. It also helps the student decide if it’s a subject in which they have an interest. It doesn’t prove they have knowledge, but it does show some work in a particular area. I think certifications can be good for many people as my studies this year have definitely helped me learn a bit more about different areas of Azure that I knew little about. I’m not an expert by any stretch, but I have some idea of concepts and how to go about learning more.
My view is that beginners are very different from experienced people. We ought to understand that all of us are beginners in some technology area and certifications are a good way to focus effort and study in those areas. I would prefer that vendors not only have a path to more difficult and practical certifications but also that they lower the cost. I’d even like to see a second chance at exams given at 1/2 or 1/4 price. That would encourage more people to take a chance on an exam and not worry about the cost so much. This also might reduce some of the brain dumps and other cheats if someone isn’t overly stressed about the cost of exams.
I’d actually like to see exams focused on very tight areas, like only T-SQL DML or T-SQL DDL, with actual code being written and tested, not multiple-choice questions. This is the type of program that might even encourage employers to regularly test their candidates before hiring, or even encourage more employees to cross-train into new technologies.
There is a shortage of talent, often in new areas that vendors are selling products and services. Demand that vendors also provide training and focused exams that are based on the current versions at low costs. We can make this cheaper and easier to do. We’ve done that with most parts of technology services, why not exams and certifications?
Steve Jones
Listen to the podcast at Libsyn, Stitcher, Spotify, or iTunes.