Best practices stem from the practical, not from the theoretical.
A theory explains reality. The current theory explains reality best. A theory is valid as long as there is no theory explaining reality better.
Best practices are ways of doing things. The practice is based on year long experience in the real world. Grandmother told us how she did it. It is not theory. It is not proven formally, by mathematics. It is proven by action and results.
Best practices are perennial. They change very infrequently. Theories change frequently.
In IT best practices are independent of technologies. Examples are: separation of concerns, layering, encapsulation, decoupling.
Best practices exist for a reason: they work.
A theory may explain why they work. But it is not necessary.
Best practices have been around for years. They were not invented half a year ago. They may be theories. More often then not theories about the applicability of technologies.
I think we need to question “new best practices” .
Instead we should rely on grandmother’s wisdom.
I am hiring, and because this is new to me, I researched a bit how companies are recruiting nowadays, and where (Indeed seems to be the incumbent).
Going through the job description I noticed how many skills requirements drastically limit their target audience by including long lists of technologies and tools. I gathered the following list from just a handful of job descriptions:
Sites list these technologies as prerequisites. This will put off very good people that just have not acquired a specific tool-skill yet. On the other hand very good people that have too much of a preference for the latest and hottest tool, may be put off by these specific tech lists.
More importantly, the variety in the list above seems to imply that tools are not as important a skills as the eagerness and ability to quickly learn new skills and tools. And also it warns you that if your skills are too narrowly based on specific tools, you may be sailing in shallow water.
The Human Capital Trends 2019 report from Deloitte similarly predicts a future of jobs where new skills needs “are forcing organizations to create more flexible and evolving, less rigidly defined positions and roles”.
We will need to learn lots of skills and tools. But we only know which ones, when it happens.
Devops and Cloud (whatever type) have increased the focus on a new type of software, the software that provides the automation for IT itself: deployment and provisioning tools.
This software must be developed and maintained.
This development in IT means we need less operations people, but we need a new breed of skills. The work shifts further from operations work to engineers with development skills, who implement the automation with software. The operations function disappears. Software replaces operations staff, whether business operations, application operations or infrastructure operations.
Better start programming.