

Ask HN: Should I specialise? - ZoFreX

I'm a "generalist" with shallow knowledge in a wide number of areas, and I think that might be a bad strategy. It seems most people are looking for hackers that are really, really good at just a few things. What's your opinion? Is it better to specialise?<p>The other half of the problem is what to specialise in. I have no idea, and I love so many different things it's hard to deliberately give up on most of them to focus. Right now I feel very directionless and could really use some advice from people a bit further on in their development than me (I left university a year ago). To give you an idea of my knowledge and capabilities, the things I've done (or helped with) include:<p>Basic game physics engine (C++) †<p>Inverse kinematics solver (C++) †<p>Cross-platform dynamic music engine (C++, OpenAL) †<p>High performance bittorrent tracker (Java - and way faster than XBTT, the main competition)<p>Raytracer (Java) †<p>Typing tutor (Java) †<p>Bittorrent web front-end with forums etc (PHP, memcached, Sphinx - one installation of this code has 120000 users with a single MySQL server)<p>I've also made a lot of websites (this is my day job), and I consider my skills to be most developed in this area - but again, I'm a generalist, I do a little front-end, a little back-end, a little server administration.<p>† denotes a student project, so these aren't "production-ready" (with the exception of the typing tutor, which has been downloaded 10,000 times and so potentially has some life in it)<p>I'm confident that I have a lot of raw talent, and could make some great things - I just have no idea how to get there from here. Thank you for reading my ramblings, I can't tell you how much I appreciate all the advice and guidance this community gives and I look forward to reading any advice you may have for me (and others in similar situations to mine).
======
arn
Let me throw out this quote from Scott Adams [1] proposing that being a
generalist has a lot of value too.

"I succeeded as a cartoonist with negligible art talent, some basic writing
skills, an ordinary sense of humor and a bit of experience in the business
world. The "Dilbert" comic is a combination of all four skills. The world has
plenty of better artists, smarter writers, funnier humorists and more
experienced business people. The rare part is that each of those modest skills
is collected in one person. That's how value is created."

1\.
[http://online.wsj.com/article/SB1000142405274870410160457624...](http://online.wsj.com/article/SB10001424052748704101604576247143383496656.html?mod=WeekendHeader_Right)

~~~
jackkinsella
Scott Adams is a generalist in a set of very distant disciplines. The
difference between art talent, writing skills and a sense of humour is far
greater than the difference between Java, C and Ruby.

I'd say learn one programming language and then learn two more skills which
programmers rarely hold.

------
mrmekon
You can, and should, do both. It really isn't a one-or-the-other situation.

Specialize in something, but keep up your general knowledge. Being too
specialized is just as big a weakness as being too generalized. Unless, that
is, you become the absolute best in the world at it. Which is not something
you can plan for.

Also, don't pick a specialization just because you feel like you need one, or
you'll always be behind the curve. If there's nothing you are passionate about
to dive deeper and deeper into, keep looking.

------
jaredbrown
I am a proponent of specialization. I've found it is easier to convince
clients to use your services if you have a track record of developing similar
projects and appear to have expert knowledge in that area.

Of course, it's also great that have breadth of knowledge so you can always
say Yes to client when they ask if you can do X.

I would think about which areas that you mentioned above you are most
passionate about and what skill-types your current network has and base your
decision off of that.

------
peteypao
It is definitely better to be a specialist than a generalist. In the field of
high dollar per hour consulting, for example, you can't make the pitch "I'm a
generalist!".

------
tnachen
Thinking about specializing or not, you need to first some general idea about
what you really like and what you want.

Without some sort of short-term (1-4 years) goal, whatever you do won't makes
sense.

Once you know more what you like and what you want to pursue, then the pieces
like specializing/generalizing will start to make sense.

Generally speaking, having a particular strong area is a good idea since teams
need these type of people to fill in specific roles (even startups).

Don't rabbit hole into and stay curious to other things is also crucial
ofcourse.

