
Generalists vs. specialists – which one should you strive for as a developer? - kethmar
https://youtu.be/LlFZ2tt-sTY
======
freetanga
Most likely a single specialization won’t span your whole career, so have a
solid general base and then delve deeper into something you enjoy.

A broad base will allow you to re-train much easier, plus draw parallelisms
from your areas of expertise into new areas.

~~~
dorkwood
Conversely, being good at a single thing will give you the necessary mental
tools to get good at other things too. One of the biggest hurdles beginners
face is not knowing how to push through "the gap" and reach a level of
competence where they can actually produce work that aligns with their vision.
Being able to draw on the memory of already having done that in the past can
be very powerful, and can help you acquire new skills more quickly and with
more tenacity than others.

------
Pfhreak
If the answer isn't "whichever you enjoy", it's probably wrong. There's demand
for both.

~~~
anonytrary
In my opinion you can't be a successful specialist without first being a
decent generalist in at least the fields adjacent to yours.

~~~
kethmar
I guess it also depends on the profession/field.

When you're a doctor, it's vital to learn the fundamentals of different areas
of medicine.

Whereas as a developer, you can also just focus on one thing(let's say
frontend development) and pick up other areas (backend, databases) on the go,
based on your needs.

------
angarg12
It's a bit cliched, but I agree with a T shaped approach. One of my mentors
told me that I was wearing too many hats, and I should focus on a single topic
and develop deep expertise to advance my career. On the other hand, in a world
where technologies get obsolete faster than you can master them, I wouldn't
feel safe without a broad base of knowledge.

~~~
kethmar
To be honest, this is exactly what my manager told me. It's also when I was
introduced to the T-shaped approach. As a dev, I want to learn multiple
subjects, but I've found that mainly focusing on one thing while also
educating myself in others is a good approach.

------
robjan
I feel that having a specialism is more a more marketable headline early on in
your career (e.g. I am a React Developer). As you become more senior the
expectation is for you to take on additional roles such as hiring, coaching
and mentoring. This is very hard if you have focused to much on one area and
not taken a more general view.

But this is all about what you want from your career. Some people strive for
leadership roles (CTO/Tech Lead) and some people prefer to write code (Senior
Developer). Both careers are valid options.

------
fancyfish
For new grads you are probably best off being a generalist in some broad area
you’re most interested in (web, data, mobile, low-latency/systems, games) as
1) most places you’ll interview will just ask you the standard DS/algo
questions, and 2) you don’t know exactly what you want to do yet. Don’t fret
about the litany of skills in job listings, as they are usually overly
specific.

With some experience, you may choose to specialize but if you want to go the
management route, you’ll have a very interdisciplinary and generalist job.

Source: FAANG engineer from Tier 1 school

