Warning: If during reading this post, you feel like a lot of bells started ringing – I might have written about something that is important & sensitive.
And if it has not, then this blog post was not written for you :)
In the past number of years, there has been a great pressure in IT (Information Technology) area of becoming an all-mighty generalist. The type of generalist that knows a bit of everything but is not proficient in anything particular, because – “oh my god, every single day/hour a new shiny thing arrives!”.
I feel that information technology people are being treated on the level of the Pavlov’s dogs – expecting to react/learn/understand every little thing that there is potentially on the market. With monthly/weekly updates, every insignificant thing is being treated as the latest scream and the most important thing ever. ARE THEY ? ARE … THEY … REALLY ? Like Really, Really, Really ?
Contrary to the decades of the good habits of testing, stabilising and delivering a very high quality release that one can be truly proud of, the modern “Agile Space Scum Mantra” is to deliver fast, for who cares what it is – the most important part is that it is brand new !
No, I am not talking about here about some technology or company in particular, but mostly about the industry mindset.
I am constantly meeting specialist DBA’s for all types and providers of the databases … Those who did it all … The true generalists who sacrificed everything and are true holders of the universal knowledge.
The current mantra is “DO NOT MASTER ANY PARTICULAR SUBJECT, BUT BE GLORIOUS A GENERALIST !”
Gentlemen & Ladies, allow me to disagree.
Let’s consider the following 2 examples: the mountain climbers and divers.
1. For the mountain climbers climbing on every chair would be something cool, right ? This would me make a great “climber specialist”, would not it ?
I said it over 5 years ago at PASS Summit at my Lightning Talk and I shall repeat it – there is a huge difference between the climbers who climbed 5K and 7K, and you would be shocked, but there is a huge difference between those who has reached Everest and those who managed to conquer K2. What is the difference between those 2 – ca. 230 meters. Sounds not like a lot? Ask the professional climbers – how much suffering and pain it takes, how much they respect those last meters… Blood & sweat, blood & sweat. Every breath. Every little step.
You can climb 500 times at the 500 meter high mountain, and that’s really good for your Instagram account, but unless it is a physical challenge for you – nobody will call you a master, nor even a specialist.
2. The Divers is a simple case to consider – should we call a diver, someone, who has been to a lot of beaches and even has entered the water. What if this person did a couple of good dives in a couple of places at the same coast ? Is he a generalist enough ?
Well Ok, let’s say someone has taken an advanced certification as diver – what does this mean ? Does this mean, that those 8-10 dives (executed at the same location, most probably) has made a specialist or a truly ADVANCED diver ? Can we expect that putting this person into different deep waters will be a successful action ? I would not expect it. I would not want my team to be lead on advanced dive by someone who is an amateur.
Now, can a master diver become a master mountain climber? I tend to believe that it is more possible and more probable, than a regular diver becomes one. Those who know how to suffer, those who have seen and experienced things beyond simple words, can transfer their experiences and understand the suffering and risks that one has to take to climb very high. Their training and physical ability is different to a regular person. Their persistence is second to none.
In the current times, you can take “Masterclasses” within a day or two. Read this phrase again, please. Within a day or two!
Mastery is supposed to take DECADES (Meaning most probably actually A LIFETIME)! People dedicate many thousands of hours of learning and discovering the subject, and you think that in a couple of days you can copy that effort ? Those invaluable mistakes ? Those discovery successes ? Those sleepless battles ?
Stop kidding yourselves. If you have a great master as a teacher, you are still an apprentice, you will still need to work your bottom off to become something.
Copying your teacher is not the mastery – it is just copying.
Look at what masters changed and try to change the same amount from the current level available right now – that’s how you can become a master.
The mastery takes decades of hard work, it takes a true deep dive or really conquering something extraordinary like Everest or Kangchenjunga. Take a look at the likes of Jiro Ono, to understand what it takes to be a master, consider how much the true masters say that they do not know.
Looking in the mirror
Now, at the moment of this article writing:
I do not know Data Science,
I do not much about AI,
I do not understand beyond the very basics the Machine Learning Algorithms,
I am not extremely proficient with SSAS (though I gave workshops & did projects on it to the real clients, but I will simply shut up near someone like Chris Webb, Alberto Ferrary, Marco Russo or Kasper de Jonge),
I have never worked with Sybase or SAP (besides extracting data from it through SSIS),
I am not an efficient Spatial Data Programmer,
I am not good at R (yeah, I did the basics before it was a popular thing),
I have never written a line in Python,
and there are so many other things I am not good at in the Databases! I could write pages about it! (What a terrible marketing, I hope Tillmann and Oliver are not reading this …)
but I am absolutely sure that I can learn any of those services in the depths and heights, as I do know optimising workloads, work with Columnstore Indexes, Data Quality or Master Data Services :)
Against the Generalism?
This post is not against learning a lot of different subjects, this blog post is in favour of mastering the subjects, diving into them, climbing over them. Looking at the different subjects within and especially outside of your area is essential for the development and the mastery.
But there is a huge difference between studying at EVERYTHING in general vs mastering the essentials and learning the other available tools.
I absolutely refuse to be a generalist.
That generalist who has never seen a sunrise over the mountains and who has never tried so hard that he had reached his potential (whatever it is, mileage will vary for the different people and ages) – no way !
See you on the tops of those mountains and the depths of the seas … and who knows maybe the other planets as well! ;)
Totally agree, man! ;-)
I understand this sentiment completely. I’ve managed to survive 24 years as an IT professional by NOT jumping on every wiz-bang new trend that comes along and promises to be everything to everyone and solve all the problems. I’ve learned to separate the hype from the hope and see what is worth building my career around and what will be a viable long term technology.
thank you for sharing!
Separating “the hype” from “the hope” is the ancient art of being connected to the reality, which seems to become less and less practiced. :)
I hadn’t thought databases in the sense of generalist vs specialist, I always applied that more to a general person in IT vs a DBA. But it makes sense, that as you focus on databases vs the rest of IT, you then begin to focus more on the specializations in databases to master. Damn those rabbit holes….
looking at the history of the mankind, I see just a couple of incredibly geniuses that were amazing at the things they touched (Leonardo da Vinci is the easiest one to name).
For the rest of us – I believe that focusing on one thing and learning it “till no more” is the way of achieving more with other features/tools/subjects.