
Ask HN: Is it reasonable to be a generalist programmer for your entire career? - userthrow5581
I&#x27;m curious about this for my own personal reasons. I currently am working with 10 years of experience, graduated a little later than other students at 26 and that was when I started my career. I consider myself to be more or less a generalist with no extreme pros or cons. But, with 10 years of experience a lot of places consider my lack of expert knowledge in any particular area to be a con.<p>I failed Triplebyte&#x27;s phone screen&#x2F;code tests twice- this year and last year. While they are not the ultimate test of skill they do provide good detailed feedback. Generally speaking I&#x27;ve been told that I know a little about many different topics but can&#x27;t go deep into one.<p>But maybe it&#x27;s for the best if I can&#x27;t become an expert in something. Is it reasonable to continue my rest of my career as a generalist programmer and maintain employment? I am now a bit closer to 40 years of age than 30 and at this point I still cannot find an area in programming that I can consider myself good enough to specialize in and become an expert.
======
ggm
Not to say it isn't a bad career decision, I've been continuously employed
since 1981 and code badly, hackily and it hasn't impeded my career. Pilot
systems. MVP, proof of concept, script-oriented roles. Rapid prototyping,
stdin | process map/reduce lite.. you name it.

Nobody hired me because my code was good. They hired me because I could talk
about it to ordinary mortals and help them see the potential. And, self
support (ok, ask a lot of annoying questions of more capable people sitting
around me)

I do suggest you acquire some niche skill. Become an expert at writing tiny
parsers for DSL. Learn to use an FP language. Then, apply it as a generalist.

Stats and maths are domain specific knowledge generally applied. Have some
domain of knowledge (mine is networking) so learn how to tune postgres. Or
zfs. Or run a bgp router. Or apply linear algebra to real world decision
making. Be good at something useful, besides programming. Then. Apply
programming to a problem in that space!

~~~
userthrow5581
I have no strong interest in any particular niche, other than maybe embedded
and graphics programming and those have a high barrier to entry. You generally
don't find too many jobs much less junior level jobs in those fields.

What has happened in my career is, I have brought myself up to what I admit to
be an "expert beginner"... through jobs that have been mostly lonely and
unfulfilling experiences for a programmer (not a whole lot of experienced
peers to network and learn from). So life has given me lemons, might as well
find out how to make lemonade from them.

~~~
ggm
Small team dynamics are hard. But, find a tribe. My FP colleague goes to FP
Meetup nights monthly, because nobody here can talk to him sensibly. so go
find a group near you who meet to talk embedded systems, and .. network.

------
gain_sky
Maybe you need to focus on what you are building rather than how? Programming
is a means to an end and not a means itself. I think this is a trap many of us
fall into and you see it play out when people end up trying to learn as many
different frameworks or languages in order to be a "better" programmer.

At a senior level the difference in programming ability becomes negligible,
its what you do with that ability that matters. Here are somethings that a
programmer could specialise in:

\- building web apps to handle extremely high loads of traffic

\- web apps with a heavy focus on security

\- embedded systems / low level programming

\- computer graphics

\- machine learning (warning: the hype around this may skew things)

\- blockchain based technologies (warning: the hype around this may skew
things)

All of those fields require specialist knowledge beyond the programming
language being used. You should focus on gaining specialist knowledge like
that at this point in your career. Otherwise there is really not that much
difference between a generalist programmer with 15 years experience and a
generalist programmer wit 5 years experience.

