The skill and career journey I’ve adopted so far is the diamond approach:
As a beginner, it’s okay to specialize on one thing before moving to others. But specialization should have its limits.
I started myself in late-2013 as a (HTML and CSS) web developer, learned more about the DOM, and responsive design, before generalizing myself to use more and more web libraries and frameworks.
Getting yourself in either generalization’s or specialization’s comfort zone is risky, because:
- Generalization could mean that you’ve tried all of these technologies but still have little average experience on these, and
- Example: I’ve learned today’s great web frameworks (React, Vue, Svelte, CodeIgniter, Laravel, etc.) but I still don’t understand how to optimize my apps created by each framework
- Specialization contains a risk of working with aging pieces of tech
- Example: I’m doomed as a desktop app/program developer; people are care those smartphones and tablets when I can just make Java-based desktop programs.
This diamond approach is indeed a repeating pattern. After re-specializing yourself from generalization, you’ll need to re-generalize again before specializing on another one.
This is great because one day, you’ll become a generalist who also specializing on each fields. Or in other words, a multiple-T-shaped developer, or even a comb-shaped one. You can learn new, emerging things very quickly due to your past, specialized experiences. And you’ll be different to those who just either want to stick with one or two languages/frameworks or just want to learn as many things as possible.
Leave a Reply