Writing this series from week to week, sometimes picking interesting topics can be a challenge. That’s why I like the end of the year so much – a time of summaries, for which materials are collected over the previous twelve months.
Last year I selected the best text from each month, this year I took a slightly different approach and aggregated those items published in 2022 that were read (or liked) in vived.io by the most people.
The rules are two. First – you won’t find texts on specific frameworks, libraries or languages on this list, it is technology-agnostic in nature. Second – you won’t find news, so there won’t be even the incessant drama with Twitter and Elon Musk. Just as a refresher, because we’ll probably be coming back to this kind of thing throughout 2023.
Therefore, without further ado – I invite you to read!
It’s fascinating that – in 2022 – pondering how entity identifiers in databases should be built is still one of the best-read texts. But that doesn’t change the fact that the topic is a hot one ( the competing You don’t need UUID, which also read like crazy in 2022, didn’t catch our review only because it was published in 2021)
And now I’m just wondering if people read the article because they wanted to realistically learn the advantages of using UUIDs in databases, or because they couldn’t believe that someone liked them enough to write an article about it.
Item number two continues the “practical” topics – another text that our readers really liked was creating a good API. The truth is that (as in the case of UUID) there is a lot of this kind of article, but Ronald Blüthl’s publication seems to win hearts with how “actionable” each of the tips presented is.
And while I would probably find more in-depth texts on API design, and each of the points raised by Ronald could live up to its own article, it is in this simplicity and being a ready-made “checklist” to tick off that his strength lies.
Few things in 2022 have been as on everyone’s tongues as Machine/Deep Learning. Therefore, it is not surprising that more and more people are interested in the topic. Admittedly, this is not some unexpected turnaround for 2022, but rather the culmination of a longer trend, but in the era of ChatGPT, Dall-E. Copilot and the general craze for generative AI, ML’s FOMO is holding strong in the programming community.
And the text itself Machine learning roadmap: 5 Steps to a Successful Career has the distinction of not falling too much into the trappings of the above comic strip, but rather fairly presents the (very broad) range of topics that need to be explored in order to become an ML project specialist. However, there is also something in it for those who simply want to better understand what all this ML is about in practice.
It’s apparent that the grass is always greener on the other side of the road as we continue the themes of career change.
Whenever I happen to ask programmers about their attitude to Web3 and Crypto in the broadest sense, most people react as if I just insulted their mother, grandmother and generally they abhor it. At the same time, however, it is the article charting the path from zero to a proficient Crypto programmer that turns out to be the fourth best-read text from this year. This doesn’t particularly surprise me, because the publication (although IMHO a bit too cursory) inspires and shows what Blockchain can really be useful for and in which types of projects its specific features become most apparent.
So with Crypto is probably like on the meme below:
Yet it may be that the whole thing was consumed even before FTX blew up hard on its face and crypto became (once again) “The Villain Of This Story” again.
Here I’m cheating a little, but as I’m the one who actually sets the rules, in the fifth point I combined two articles, however, concerning one issue – recruitment.
In my personal ranking of technological topics for which 2022 will be most remembered – in addition to the aforementioned assault of Generative AI and the great image debacle of Crypto, due to what happened with FTX – there could be no shortage of layoffs in the industry, which, especially in the second half of the year, did not leave the headlines. I know that, for the time being, this is mainly a problem in the United States (though not exclusively), mainly in the so-called Scale-Ups (though not exclusively), but it leaves no doubt that somehow, subliminally, these events have disrupted the existing sense of security.
The above probably makes even the bravest more willing to look into all sorts of recruitment aids, and from there it’s a close second to the popularity of just such texts as Algorithms you should know before you take system design interviews or Top 30 System Design Interview Questions and Problems for Programmers and Software Engineers. And as I’m already breaking the rules by giving more than one article anyway, I’ll throw in Preparing for the Systems Design and Coding Interview from last year, which remains my go-to text when it comes to preparing for recruitment, especially for more senior positions.
Something we have accumulated this year as set of unintuitive opinions. But it is from such controversial concepts that the best articles are born.
A staging environment seems to be an obvious part of any infrastructure, so much so that we’ve stopped asking ourselves why we need all this “staging”. Fortunately, there are people in the industry like Luca Rossi, who has decided to take a look at the promises given by staging, grapple with how they look in reality and check at the resulting costs of staging. He also proposes alternatives, such as Remote Dev Environments, which have been the talk of 2022 due to announcements from cloud providers.
So if you’re doing Staging “because that’s the way it’s done in our country,” it’s worth getting familiar with the publication.
This is the text that I personally recommend – in addition to being full of interesting, non-obvious tips, they are also given in a very clear and easy to consume form.
Continuing with DevOps themes, there will be a bit about unrealized promises.
I’ve been in this industry for a while and remember when DevOps – as a trend – was just starting to take shape. That’s why I still have in my mind the need of breaking down of barriers, changes in the process of “getting” things to production, and the promise of stronger iterativity in general. Today, however, much more often when we say “DevOps” we mean “AWS administrator”.
The author of DevOps is a failure, Lee Briggs, has similar thoughts. He complains that the revolution that was supposed to change the culture of companies has eaten its own children. In fact, the very quote from the article
DevOps is about people on the operations side of the fence trying to convince Developers to do things their way
shows that we are simply back to regular tug-of-war. I am absolutely far from such a complete rejection of the DevOps legacy because, in fact, the industry has absorbed many of the proposed practices very broadly. Certainly, however, the term has been heavily appropriated, and it may be the other one that must arise for the revolution to continue.
And while the solutions proposed by the author do not quite get to me, just pointing out the problem sometimes allows you to take a step in the right direction.
As with recruitment topics, “career” ones were very popular in 2022. It is clear that there is a group of people who like to take a conscious approach to their career path, as every year basically a whole list could be filled only with this type of content.
Good advice definitely reigned supreme this year – few were able to succumb to the charm of the title Things I Wish I’d Known Earlier In My Career from Smashing Magazine, where Vitaly Friedman presents a range of tips he wishes he’d heard from someone starting out in his career. Additional advice, probably quite unintuitive to many – “never ignore a recruiter” – came in turn from Alex Chesser.
In general, career topics are invariably the “top” most-read content – so if you want to explore the topic in more depth, I invite you to the (opened in 2022 🤩) “Discover” section on vived.io.
They say that one picture can replace a thousand words. Gunnar Morling decided to eat cake and have cake – his Code Review Pyramid is basically an infographic full of descriptions and checklists, somewhat similar to the famous Testing Pyramid. It visually depicts which elements of Code Review (according to Gunnar) are the most important and on which we (as reviewers) should spend the most time.
Just in time to print it for yourself, put it on the wall, and take a look every time you want to reprimand someone for a curly bracket on the wrong line.
It will be a bit longer at the end, because to better understand why there was a buzz about CUPID at the beginning of the year, a certain base is needed: knowledge of the term SOLID, and of the character of Mr. Dan North.
SOLID is (quoting Wikipedia):
In software engineering, SOLID is a mnemonic acronym for five design principles intended to make object-oriented designs more understandable, flexible, and maintainable. The principles are a subset of many principles promoted by American software engineer and instructor Robert C. Martin, first introduced in his 2000 paper Design Principles and Design Patterns discussing software rot.
In short, we are talking about a set of certain practices that for years were considered a symbol of good code. SOLID was a great match for object-oriented languages (especially “classic” Java) – but the world has moved on strongly. For the past decade or so, one has noticed a return to favor of a more functional approach, and at least languages that have no idea what an interface is, let alone their segregation. And that’s where Dan North – a taken-for-granted popularizer of Agile and good programming (and organizational) practices, and a truly sensational speaker – comes in. The individual letters in CUPID make up:
- Composable – that is, allowing it to be assembled from smaller pieces
- (characterized by) Unix philosophy – that is, doing one thing well
- Predictable – does not surprise the user
- Idiomatic – with a “natural” feel (to the language)
- Domain-based – using the language that the business domain uses
Well, it may not have kicked me out of my shoes, but it is indeed a handy codification of some good practices.
So, if you want to know what was behind the decision to include precisely these and not other rules within the new mnemonic, I invite you to read original publication. At the same time, I myself wonder whether CUPID has a chance to dethrone SOLID (there has been rather little buzz about it since its release), or whether the latter will continue to be the star of countless recruitment processes.
That’s all folks!
On behalf of the entire Vived team, I wish you a Happy New Year 2023!