As such, Advanced Beginners can break one of two ways: they can move to Competent and start to grasp the big picture and their place in it, or they can ‘graduate’ to Expert Beginner by assuming that they’ve graduated to Expert.
I think, that viewpoint is a bit narrow. The example, where the author tells the story how he started bowling the wrong way and reached a plateau, where he could not further progress, is a good one. And I'm sure there are numerous examples each one of us can tell of own experiences made when learning new skills.
In my opinion learning new skills fast is a great skill. And nowadays there are many resources available to us make this easy. But you will always reach a plateau, where further progression gets increasingly difficult. It's fascinating how this corresponds to larger patterns like the Gartner Hype Cycle [1].
The question is, what do you do when you reach a plateau? Do you invest more time and money? Maybe the skill level suits you well and you don't feel a need to progress further? Maybe deeper understanding is not necessary to do your job well? Maybe it's better to acquire different skills which you can combine instead of being an expert in one area alone?
I think there are many nuanced answers to that question and simply put blame on the expert beginner is not useful.
Every 'stage' is a plateau in itself. The beginner is able to quickly do tasks, but does not connect them together well. For example, they might know clean code, Scrum, Git, algorithms, TDD. But put them in charge of building a product and they can't. They'll stall. They'll overengineer.
To go to the Competent phase, they need holistic recognition. This means running experiments. They have to try to do things that can fail. They have to learn to plan towards a larger, meaningful arc, instead of simply finishing tasks that were assigned to them.
Finding a mentor is the most effective way to get through a plateau, but mentors aren't always available.
But you will always reach a plateau, where further progression gets increasingly difficult. It's fascinating how this corresponds to larger patterns like the Gartner Hype Cycle [1]
It’s not just about skill progression. To stay relevant and not be seen as an old out of touch developer, you have to know how and when to jump on the next hype cycle.
True. You can always learn more. Even after you break through many ceilings, you will keep finding more things that you don't know. Also, the incentive to improve gets smaller as you get better - Doesn't matter how many ceilings you already broke through, the incentives for continuing will always go down because beyond a certain point, there are no financial or even career benefits to getting better.
It's possible for a developer to be skilled beyond a level which their bosses, recruiters and colleagues are able to grasp. You're not going to get paid extra for that surplus skill. Your pay is limited by your boss' imagination. Even though those skills are extremely useful and deliver real returns.
Proving yourself as a developer to a non-technical person takes years because that's how long it takes to see the results. In a big company it may even be impossible to prove yourself because your work is mixed in with that of many other people and the results average out.
Kind of true, when one wants to be seen as "Developer in Tech X" and that is only how they sell themselves to companies selling software solutions.
However there is also the path of understanding business domains, brushing up soft skills and embrace being polyglot across multiple stacks, delivering working solutions for companies that couldn't care one second what their IT cost center runs on, as long as they stay in business selling socks or whatever they actually care about.
Independent consultants are the first to get cut when the economy goes bad. Companies aren’t looking for “Enterprise Architects” and “Digital Transformation Consultants” when they are just trying to keep the lights on.
No, you can’t be 45 years old (I’m 46) and say I understand the business domain and I can give you a really cool VB6 Active X control to solve your problem that only works in IE6 on a Windows XP VM.
Yes, if the CTO doesn’t care that he is using somewhat modern technology he should be fired for incompetence. He’s going to find that he has a hard time recruiting developers who know how to write FORTRAN for a Stratus VOS mainframe. Yes I’m that old. Been there done that.
Saying you know the business domain but not keeping up with technology is just an excuse that people make and then scream ageism the minute no one will hire them because their idea of cutting edge technology is ASP.Net WebForms or Enterprise Java Beans.
Yes, my current position is a technical consultant working remotely for Big Tech who has to understand business problems and not just know how to reverse a binary tree on a whiteboard. But, if push came to shove and a meteor struck all of their data centers world wide, I could put my resume out their and get a job with a tech stack that is at the right point on the hype curve.
I currently develop for mainframes and I can say they are still very relevant today in multiple industries. For my own company, we get a lot more bang for our buck than if we were constantly worried about the hype cycles.
>if the CTO doesn’t care that he is using somewhat modern technology he should be fired for incompetence
A ridiculous statement. The last concern of the CTO should be "are we using the latest tech for the sake of having the latest tech". Their concerns should be about cost, what the business actually needs, and what the future will entail. Finding new developers isn't that difficult, even for something like mainframes which most college grads today are totally unfamiliar with.
Your point about being more easily hireable by staying up to date with the current hype is true and valid. However the CTO doesn't have the same concerns as you. This is the important difference.
Tell that to all the states struggling to get unemployment benefits out because they can’t find enough COBOL programmers to keep their systems from melting....
Well, if that VB 6 is what keeps business running they will be more than happy to pay for it.
Also not working alone helps to sort out the issues when cutting costs arrives.
Finally I am not saying not to learn, rather people should focus on their business value as a whole package, and not being "Expert on Technology X, Y, Z".
I am about the same age, apparently it was worked so far.
It’s about optionality. If I either want or need to change jobs. I would much rather call recruiters and say I know the latest .Net Core/EF Core/ASP.Net Core than saying my only experience is with .Net Framework (which is in permanent maintenance mode) and I can deploy to IIS on Windows (even Azure hosts more Linux VMs than Windows VMs).
Especially seeing that when working as a Corp Dev, salary compression and inversion are real and the best way to keep your salary at market value is by job hopping.
The question is, what do you do when you reach a plateau? Do you invest more time and money? Maybe the skill level suits you well and you don't feel a need to progress further? Maybe deeper understanding is not necessary to do your job well? Maybe it's better to acquire different skills which you can combine instead of being an expert in one area alone?
Is an appropriate response to not getting out of touch.
Exactly. If you reach a roadblock you need to be aware, that there are risks and rewards to whatever path you take.
For example you can invest a lot of time in learning some kind of framework and get really proficient. Maybe that opens up new opportunities to you. Maybe in a few years the framework falls behind and you should have better invested your time in something else?
I think you can do a lot of great things without knowing every detail of a black box. And it allows you to spend your time on other things which are maybe worthwhile in the long run.
What's important is that you do not avoid digging deeper into a topic just because of pure habit. Maybe that kind of self-reflection is a trait which is less prevalent in "Expert Beginners" called out in the article.
> If you reach a roadblock you need to be aware, that there are risks and rewards to whatever path you take.
This sounds pretty similar to the exploration-exploitation tradeoff in reinforcement learning (game playing AIs). Exploration comes at a cost, and exploiting current knowledge is safer, but if the agent doesn't explore enough it will have lower total score. A good exploration strategy is a must because knowledge comes from exploration.
Humans frequently get this wrong. Most low level players don't scout because it doesn't have a direct and gratifying impact on the game development plus it has a cost.
In most competitive games with scouting you have to move up the ladder quite a bit to find solid scouting.
For example you can invest a lot of time in learning some kind of framework and get really proficient. Maybe that opens up new opportunities to you. Maybe in a few years the framework falls behind and you should have better invested your time in something else?
Every framework gets out of date after a few years. It’s par for the course in technology. You have to ride the hype cycle.
I think, that viewpoint is a bit narrow. The example, where the author tells the story how he started bowling the wrong way and reached a plateau, where he could not further progress, is a good one. And I'm sure there are numerous examples each one of us can tell of own experiences made when learning new skills.
In my opinion learning new skills fast is a great skill. And nowadays there are many resources available to us make this easy. But you will always reach a plateau, where further progression gets increasingly difficult. It's fascinating how this corresponds to larger patterns like the Gartner Hype Cycle [1].
The question is, what do you do when you reach a plateau? Do you invest more time and money? Maybe the skill level suits you well and you don't feel a need to progress further? Maybe deeper understanding is not necessary to do your job well? Maybe it's better to acquire different skills which you can combine instead of being an expert in one area alone?
I think there are many nuanced answers to that question and simply put blame on the expert beginner is not useful.
[1] https://blogs.gartner.com/smarterwithgartner/files/2019/08/C...