
Ask HN: Is it better to be good at many things or great at one thing? - matonias
Talking about the digital world of course. Young man here, should I learn one thing really good (like back-end programming) or go all out and learn as many things(front-end, 3d, photoshop, back-end etc..) as possible and be okay in all of them.
======
dasmoth
> "A human being should be able to change a diaper, plan an invasion, butcher
> a hog, conn a ship, design a building, write a sonnet, balance accounts,
> build a wall, set a bone, comfort the dying, take orders, give orders,
> cooperate, act alone, solve equations, analyze a new problem, pitch manure,
> program a computer, cook a tasty meal, fight efficiently, die gallantly.
> Specialization is for insects."
    
    
        -- Robert Heinlein
    

I've certainly always found being a generalist more satisfying, even if it
isn't always what gets rewarded.

I wouldn't necessarily restrict this to "the digital world."

~~~
majewsky
> Specialization is for insects.

Yet the advancements in human civilization arose precisely from
specialization. Nobody would have had time to build computers if they had to
spend all day farming, building houses and writing sonnets.

~~~
dasmoth
Perhaps "overspecialisation" then. Plenty of people build early computers
while having other interests on the side. And the microcomputer era was
substantially driven by people doing it as a hobby.

~~~
inopinatus
Ah but that would be bad prose style.

------
BenoitP
To quote from the Valve Handbook [1]:

> We value “T-shaped” people. That is, people who are both generalists (highly
> skilled at a broad set of valuable things—the top of the T) and also experts
> (among the best in their field within a narrow discipline—the vertical leg
> of the T). This recipe is important for success at Valve. We often have to
> pass on people who are very strong generalists without expertise, or vice
> versa. An expert who is too narrow has difficulty collaborating. A
> generalist who doesn’t go deep enough in a single area ends up on the
> margins, not really contributing as an individual.

Where you choose to be deep should be an area of interest to you and which the
market values.

[1]
[http://www.valvesoftware.com/company/Valve_Handbook_LowRes.p...](http://www.valvesoftware.com/company/Valve_Handbook_LowRes.pdf)

~~~
bryanlarsen
To push the analogy even further: paint drip people.

[https://www.facebook.com/notes/kent-beck/paint-drip-
people/1...](https://www.facebook.com/notes/kent-beck/paint-drip-
people/1226700000696195)

~~~
TeMPOraL
Yeah, I guess he coined the name.

I used to call it "bicycle-wheel-shaped human" \-
[https://news.ycombinator.com/item?id=12226420](https://news.ycombinator.com/item?id=12226420).

(Actually, I still call it that way. I like my analogy better - it highlights
that at some point, skills tend to connect to each other, and you end up
discovering a common base connecting separated disciplines of thought.)

------
fao_
Honestly? Try to learn as much about everything as you can. I mean every
subject, every subfield. What I've found is each effort I made in one subject
improved my efforts in others by a significant order of magnitude. With more
knowledge you gain more ways of looking at the problems you're faced with and
therefore can find more paths to solutions.

Each _new_ piece of knowledge you learn will give you a better base from which
to learn more, and slowly the amount you are able to learn will increase to
help you cope with the load.

After a while you gain the ability to reduce a problem you're faced with down
to other problems in other disciplines, then things start getting boring
because you can already figure out a way to reduce this problem, etc. So at
that point it's time to mix it up a little and refocus.

Another thing that should be noted is that you should always make sure that
you are out of your depth with at least one thing you are studying. You can
only really improve by pushing yourself. However remember that you cannot push
yourself constantly, sometimes you need a break. So in doing this, you should
be driven by your own interest.

What I have found is that I am not necessarily able to do everything at once,
so I end up doing a rotation of things I find interesting at that moment.
Eventually I'll either discard some topic or problem or such, because I don't
find it interesting or I will find something new that I find more interesting.
If things get stagnant, mix it up a little!

I've been doing this for approximately the last five years, and I think the
payoffs have been great, and I have learned so much more than I think I would
have otherwise. However I have nothing to compare to! So we cannot be sure =)

 _Do what interests you_.

~~~
pbhjpbhj
What work do you do?

Everything interests me, superficially[1]. Most of it is useless except for
playing trivia games.

If I were a FU-rich autodidact that wouldn't be a problem but I'm a poor
schmuck with a family to support.

My brain is so full of interesting stuff and tangential thought that there no
room for focused attention on anything mundane enough to count as useful work
(though I'm sure with an equipped workshop/lab and a couple of years I can
turn one of my book-of-ideas concepts to something useful for mankind).

Don't we \ _have\_ to do what gives us a living?

[1] superficially perhaps isn't the right word, the minutiae of everything is
infinitely interesting too, more that things are only interesting temporarily,
which leads to flitting about across diverse subjects.

~~~
harperlee
One time some years ago I found myself with too little time to dedicate to all
my interests. Every bit of time that I spent on, say, cinema, was biting into
available time for say, electronics, or cooking improvement. I grew
frustrated.

So I sat with a pencil and a sheet of paper and wrote throughout the paper
things that interested me. Then I linked all the related things together with
lines, and ended up with my graph of interests. Things that, on contrast with
those already in the paper, were too supeficial, I didn't write; and I wrote
about 30-40 of them.

It was more illuminating that I initially thought! As I now had a clear mental
image of how all interacted, and where the center of my interests laid. So
little by little I started seeing the more fringe interests as what they were,
and even as a function of their "path from the center". I started dedicating
more time to the central thesis, and the fringes helped me gain new
perspectives on the main "leit motiv".

And eventually I had an idea that resulted from all of that. Now it is the
basis of my main side project. I do play from time to time with the rest, and
the center is moving around a little bit, but there is a strong focus on
reaching the goals that most interest me.

(Sorry if this ended up a little bit too abstract and vague; I hope it helps!)

~~~
cableshaft
I just tried doing this, as it sounds interesting, but I don't think I did it
quite right, or a lot of interests just didn't connect so well. I'm curious to
see a visual depiction of the type of graph you made.

------
Unbeliever69
I am the consummate jack-of-all-trades. It is a disorder. And it irks me EVERY
day that I'm not amazing at one single thing. I am SO envious of people that
possess a single-minded focus and the older I get the more I regret not
finding that singular passion. The problem is...I get bored with one thing. Or
at least, I'm never crossed that painful membrane of boredom to find bliss in
single mastery.

~~~
markatkinson
Amen to this. I am 29 (I suppose that is still considered young) and I can
relate. I feel like I may have a similar disorder. Luckily for me my hand is
being forced by my work. I have to know C# and SQL Server for my work, and
this forces me to specialize.

My side projects on the other hand consist of F#, Elixir, C#, Python, Java,
Unreal Engine playing around with Azure and Firebase. Just a giant list of
things I build to 10 - 25% completion. There is this unreasonable and
insatiable hunger to understand how EVERYTHING technical works, but only 80
years to learn it all in. So I end up buying books on Kivy (Python), Fsharp, I
have 2 books on Elixir, one which I never even started etc etc. Send Help!

P.S. I even have a book on Openstack cause I was like "Wow, that sounds
awesome, I must learn all about it." I haven't opened it.

P.P.S This obsession with knowing how to do everything also manifests outside
of the digital world. I have a fridge full of kimchi I will never eat, and a
laundry full of Mead I will never drink.

~~~
cbanek
I used to buy books to learn things back in the 90's, when docs were hard to
find.

Now I find that the best docs are not written books, but online documentation.
These days I'd say just play with it. Build an app. Start up the one box
openstack devstack. People have gone through a lot of pains to make a simple
dev environment work for a lot of different languages/platforms.

Once I get into it, it's less of an abstract idea, and more trying to do
something. Having a toy project in mind also helps to build something useful.
Over time, your knowledge will simply accrete.

~~~
markatkinson
I find I am also addicted to that "ball drop" moment or moment of clarity when
you finally realise how something works. Those moments are also a lot more
common in the early stages.

------
verbify
I recommend reading 'The Wealth of Nations'. As an economics textbook, it is
fairly dated, but it makes the point that ten people with a specific
specialization can do more than ten people all doing the same work at once.
Therefore the value you can provide increases with specialization as you can
be part of a team than can provide more.

My salary increased once I marketed myself as having a specific
specialization, but the difficulty of finding a job increased too.

It is a basic application of supply vs demand. As, say, a PHP developer,
you're competing with millions of other PHP developers around the world. There
are plenty of jobs, but there are also plenty of people who are competing with
you, driving your price downwards.

If you narrow it down to knowing a lot about a very specific framework or PHP
system - for example, you know a lot about Laravel or Drupal, then you're
competing with fewer people, and people are willing to pay more for an expert,
but there are also fewer potential jobs.

There's also an associated risk. If you specialize in Laravel and Laravel goes
out of style, you will have to remarket yourself as a PHP dev again... Some
people specialized intensely in Microsoft Silverlight, and they ended up like
this - [http://www.commitstrip.com/en/2015/07/28/betting-on-the-
righ...](http://www.commitstrip.com/en/2015/07/28/betting-on-the-right-horse/)
(it's not a total loss, as some programming paradigms work across languages).
With the risk comes increased reward.

~~~
shubhamjain
> I recommend reading 'The Wealth of Nations'. As an economics textbook, it is
> fairly dated, but it makes the point that ten people with a specific
> specialization can do more than ten people all doing the same work at once.
> Therefore the value you can provide increases with specialization as you can
> be part of a team than can provide more.

I think it's improper to retrofit a dated analogy into something innately
complex like software engineering. It ignores the communication overhead
needed in creating software which was almost absent in low mentally-taxing
work of 18th century.

Let's say a team wants to build a website. Are you sure you'll have better
odds at making it in time with a specialist for HTML, CSS, and Javascript?
Brook's Law is at play here — finely grained task spread across dozens of
people who have a little idea about everyone else's work is bound to prove
disastrous.

The role of specialist is crucial, but only when the her knowledge in a
singular aspect can save a lot of time for the whole team.

~~~
verbify
> Let's say a team wants to build a website. Are you sure you'll have better
> odds at making it in time with a specialist for HTML, CSS, and Javascript?

Yes, I'd prefer an expert in LESS and SASS and another expert in Angular or
whatever javascript framework, rather than two jack of all trades. They're
different skills. In fact, most software shops do specialise at least to the
level of frontend and backend and usually further depending on their size and
the size of the project.

There is still a role for a 'senior foreman' to oversee the process, but that
was always the case, even in Smith's time.

------
highfestiva
An expert without basic generalist know-how is just ignorant. An expert in
only a single field is single-minded (think "SAP expert":). A generalist
without expertise is just average.

Do both, as people always have. But start out a generalist to get an
understanding of what is good to specialize in. Then pick 2, 3, 4 diverse
areas to home in on.

~~~
herghost
Exactly this.

I have a current specialism within a fairly specialised field, but this leaves
me plenty of bandwidth to move within the field in the short term.

My background is loosely related but has given me a set of core skills which I
can draw on where I see other people being employed as specialists. I try to
maintain my core skills in other areas to the extent that I can commoditise
them for my own purposes if needed, even though I have no interest in actually
pursuing 'excellence' in them.

When I first started down my specialism a number of years ago my expectation
was that my previous background would become irrelevant as it felt like quite
a big pivot. I was (and remain) surprised at just how wrong I was - having
additional background skills that aren't directly related makes me more
valuable.

------
T-A
Wouldn't you know it, it's best to be both:
[https://en.wikipedia.org/wiki/T-shaped_skills](https://en.wikipedia.org/wiki/T-shaped_skills)

~~~
f_allwein
There's also the concept of divers (specialist skills) vs scanners (interested
in everything). Comes down to personality, but both have their strengths
obviously.

[https://www.psychologies.co.uk/self/what-do-you-do-when-
you-...](https://www.psychologies.co.uk/self/what-do-you-do-when-you-want-to-
do-everything.html)

------
dilemma
To be an entrepreneur you need to know a little about a lot of things.

To be employed, you'll do better as a specialist. If you pick the right
specialization.

~~~
hkmurakami
This 100x. If you go down the route of a generalist (and not just "generalist
engineer" but generalist in marketing, engineering, back office, etc.), then
you will quickly find yourself unemployable in the traditional sense since you
will no longer ft any job description.

Maybe you can still wing it if you have a strong network, but if you plan on
being employed rather than running a business, err on the side of being a
specialist but keep your eye open for shifts in trends and don't become
complacent on your existing skill set.

~~~
dilemma
I'm feeling it. I'm a generalist working as a specialist, saving money until I
can take my two related side-projects full-time.

~~~
hkmurakami
Yup- we'll see what's in store for me if I ever have to go through the bigco
PM interview gauntlet again! Not even sure I'll pass the resume screen even if
I'm friends with the hiring manager! ;)

~~~
dilemma
Yeah. I'll also need to work on personal branding once I go fulltime because
otherwise it will be difficult to get a job next time.

------
SixSigma
Me: 30 years professional programming

Certified AutoCAD technician

Certified TIG Welder

Degree in Supply Chain Management

Certified Bicycle Wheel Builder

Potter

Wood Turner

Proficient in 3D Modelling

Launched an ISP in 1995 that is still going

Project leader for a charity market garden supplying produce to a food bank

Assistant director / Assistant Producer of a feature film released on DVD (you
can buy it on Amazon)

Producer of 4 music videos that have appeared on MTV

Made most of my own furniture from scratch - bed, table, freestanding kitchen
unit, chairs

Was resident VJ at a successful rave series for 5 years

Appeared in stage plays for paying public

Qualified scuba diver

Arrested twice on TV on environmental protests

Occasional data analyst for a Superbike racing team at the national level

This isn't even my final form & this list is incomplete

Live life, box sets are for the dead to get buried in.

~~~
dasmoth
Inspiring list!

One thing I notice is quite a few qualification. Obviously, some of them are
more-or-less essential if you want to do, e.g., scuba diving -- but for the
others, how valuable have you found them?

~~~
SixSigma
I got certified for AutoCAD because I was bored doing programming all day, I
could already do 3D modelling but couldn't prove it to anyone because it was
just a hobby thing.

From that I got jobs doing CAD, first at an electrical place and then acoustic
insulation.

I qualified as a welder because I was doing CAD of metal enclosures and wanted
to understand welding enough to talk to our proper welders.

Then because I was doing CAD, I designed and built my own furniture - I had
used the Ana White website as a place to find practice things to build in
Autodesk Inventor during my certification [1]

[1] [http://www.ana-white.com/](http://www.ana-white.com/)

I ride bicycles so wanted to be able to build my own wheels - so that was
handy.

It really is just the choice between "I'll go home and watch tv until I go to
bed" and "I'll go to my local technical college one night a week and do a
course in something"

------
JohnBooty
Well, I'm going to cheat.

Be somewhere between "mediocre and good" at many things, and be really good at
one or two things. If you can be _great_ at one or two things, that is nice,
but not strictly necessary.

There's a lot to be said for generalists, or "T-shaped" people. Every single
project requires a large breadth of skills all up and down the stack... and a
lot of moving pieces (client, server, markup, JS, CSS, blah blah blah) that
work together.

There is a place for specialists, too. In fact, we need them to make the world
go 'round. But... there aren't as many of those places.

Here's a real-world example. I literally just finished troubleshooting this
issue. Finding the bug and developing a fix involved (1) our iOS client (2)
our React web client (3) our server-side auth, implemented in Rails (4) a
messaging library with both client and server components (5) some other
bullshit I can't even remember at this point.

I'm not the best at any of those things. I'm barely even good at them.
Honestly, I don't even fully understand the auth fix that our brilliant (and I
don't mean that sarcastically) programmer implemented. But I understood enough
of those moving pieces to isolate the problem and get things into his hands.

It'd be really fucking great if I was the world's leading iOS developer or
whatever, but if that's all I knew, this issue wouldn't have been fixed.

~~~
d23
> There's a lot to be said for generalists, or "T-shaped" people. Every single
> project requires a large breadth of skills all up and down the stack... and
> a lot of moving pieces (client, server, markup, JS, CSS, blah blah blah)
> that work together.

That's not really the meaning of T shaped, as I understand it. The point of
the T shape is that you have a lot of breadth (the top of the T) _as well as_
a deep depth in an area or two (the stem of the T).

~~~
JohnBooty
Isn't that what I said? :)

> Be somewhere between "mediocre and good" at many things, and be really good
> at one or two things.

------
distracted_boy
I think having good grasp in different domains and tools can be good for you
both career wise and for your own sake (entrepreneurship, creativity etc). But
it can also be a disadvantage depending on where you work.

When I first graduated from the university (at 23), I got a job as an IT
support guy in a growing company (80+ employees at the time). I was the only
IT support and my job was to help people with their issues and maintain the IT
infrastructure. I managed to solve all types of issues which I guess people
started to recognise. This was fine. However, since I also knew programming,
my managers wanted me to help out on development (PHP), to ease the load on
the developers. As time went on I became better with our framework and started
to get more more complex programming assignments, while still being IT-
support. For me this became a real struggle, completing programming tasks on
time, maintaining IT infrastructure (servers, network, buying hardware, phone
calls) and helping people with their issues. Somehow I managed, which my
managers recognised (I assume, and hope), so I got additional assignments
regarding "Big Data", basically get information, store it, connect the data
with other data sources and so on.

At the end I was doing everything with IT. Data science, development, IT
support, system administration and more. The reason it become like this, at
least what I think, is because I had a sufficient grasp on most domains and
tools so I just continued to get more stuff to do. When I finally quit, I
actually realised that I was not feeling that great. I could feel the stress
inside me slowly diminish.

~~~
0n34n7
My story is very similar to yours. I have come to appreciate that those years
formed a very strong foundation for me, and today I can be domain specific
with a large blob of context.

Point is if you don't become a good generalist first, then you'll be a
mediocre specialist.

------
trentmb
Become very good (top 25%) at two or more things.

[http://dilbertblog.typepad.com/the_dilbert_blog/2007/07/care...](http://dilbertblog.typepad.com/the_dilbert_blog/2007/07/career-
advice.html)

~~~
pm24601
I second this ... find the gap between 2 different skills is so valuable.

Think of it this way:

1\. skill to know the problem that needs to be solved.

2\. skill needed to solve the problem

Second skill isn't necessarily programming computers btw - could be
leadership, persuasive writing, film making, etc.

------
mcv
Both have their value. Personally I prefer broad over deep, but that's me. You
need to figure out what works best for you.

Deep has the advantage that when specialists are in demand, you're _really_ in
demand. It's good to have someone on the team who knows absolutely everything
about the thing you do. The downside is that when technology or your career
moves on, you know nothing. You're stuck doing that one thing, and may have a
harder time getting into something else.

And broadness has a specialization of its own. Knowing multiple things is
particularly valuable if you know how to connect those things. If you can
develop front-end with an eye on what's easier for the back-end, if you can
design the graphics that you will need, rather than having to wait for someone
else to get around to it. Knowing different unconnected things is less
valuable, but even there you may find unexpected connections. But for the deep
technical stuff, you may find that you'll have to ask a real expert.

------
leonroy
This'll sound like a cop out but it really depends. Are you going into
academia? If so it takes years of specialization to get good enough to make a
meaningful contribution in the form of innovative and good quality research.

Are you planning on going into startups? In which case jack of all trades does
very nicely!

The key is to be very good at some things but to also keep your eyes open and
learn things outside your comfort zone - you never know where your new found
knowledge can take you and often times it can make you better at whatever you
chose to specialize in.

So senior architects who write APIs - for fucks sake (showing my background
here!) - write the prototype client library - it will improve your API design
skills.

Backend devs should write a front end or two or at least do some pair
programming with the front end guys.

Bottom line - be very good at some things - but be open to learning new things
and getting out of your comfort zone.

------
cies
For yourself: be good at many things. It will make you happy.

For your (potential) employer: be great at one thing, that they are willing to
pay you a bundle for. Then use that money to buy all services you need to be
happy.

------
Franciscodr
Everybody goes to the general doctor, but want treatment from the specialist
one. Usually a balanced combination between some general knowledge of many
things and specialist in one thing is the best. Beware some people can be
specialist in more than one thing but they are not typical, not the best
always:
[https://www.ted.com/talks/emilie_wapnick_why_some_of_us_don_...](https://www.ted.com/talks/emilie_wapnick_why_some_of_us_don_t_have_one_true_calling)

------
JoelMcCracken
More food for thought:

[https://hn.algolia.com/?query=generalist&sort=byPopularity&p...](https://hn.algolia.com/?query=generalist&sort=byPopularity&prefix&page=0&dateRange=all&type=story)

[https://hn.algolia.com/?query=rennaissance%20man&sort=byPopu...](https://hn.algolia.com/?query=rennaissance%20man&sort=byPopularity&prefix&page=0&dateRange=all&type=story)

[https://hn.algolia.com/?query=specialist%20vs%20generalist&s...](https://hn.algolia.com/?query=specialist%20vs%20generalist&sort=byPopularity&prefix&page=0&dateRange=all&type=story)

Personally, I like having a variety of skills. I want to be able to dip in
anywhere on a project and be productive.

You'll naturally have focuses, or drips of paint, which I see is referenced in
another post. Your focus really can only be on one thing at a time, and
presumably you're not just learning for its own sake, you will be learning to
accomplish some goal, which will drive the learning.

I'd rather work with a well-rounded engineer than one that is a poor
communicator, tool user, etc but has very excellent skills in a very specific
area.

YMMV. There is lots of value in having deep skill sets. There is also a
difference between being a "dabbler"/"knowing enough to be dangerous" and
being a competent engineer.

------
agentgt
I'm somewhat reminded of some Einstein quotes (probably dubious but whatever):

 _" You ask me if I keep a notebook to record my great ideas. I've only ever
had one."_

and

 _" It's not that I'm so smart, it's just that I stay with problems longer."_

At the same time:

 _" The important thing is not to stop questioning. Curiosity has its own
reason for existing."_

and

 _" I have no special talent. I am only passionately curious."_

So I say follow your curiosity. If it wants to go deep go deep. If it wants to
go broad go broad.

------
dsiegel2275
Scott Adams (yes, the Dilbert guy) wrote an insightful piece on career advice
in his blog a few years ago. In it he asserts that to have an extraordinary
career you should become very good at two different things.

I believe this article popped up on HN a couple of years back:

[http://dilbertblog.typepad.com/the_dilbert_blog/2007/07/care...](http://dilbertblog.typepad.com/the_dilbert_blog/2007/07/career-
advice.html)

------
tduk
Find something that is a good fit for you and in demand (preferably rising),
avoid niche and fads. Be good at that one thing and a handful of directly
related tech. Keep yourself informed about other stuff to the degree where you
can hold an intelligent informed conversation and contribute to decisions. Use
your spare time to satisfy intellectual itches. Expect periods of boredom in
any job. Look after your spine.

------
6DM
I would recommend you start with something you're the most curious about
and/or find the most useful in your day job. It's like this, you're hired to
bring value to a company so it should make you productive if you know it
better. Get to know that well, seek out edge cases and new techniques. If you
put your time into it, you will gain that knowledge fast.

The important part is not to stop when you're finished. Pick up the next thing
and do the same. After you go through a few phases you will have enough
general knowledge to apply in many areas.

In this way you start a specialist and become a generalist. You'll know fully
well what your tools and technologies will be capable of and you will be able
to give reasonably accurate estimates.

As far as I can tell, unless you have an eye for design, it's generally easier
to start on the back end and move to the front end. This way you can be
productive and are able to move between companies. Front-end is still changing
a lot. But there are a lot of promising releases/tools in the works that are
making getting started a lot easier.

------
Jaruzel
Over a 25 year career I've worked on most key Microsoft technologies, but
started out my work life as a Sys Admin for DEC VAXs using VMS. I'm also
conversant with Linux, and can pretty much pick up anything IT orientated
quite easily - I can design and build almost anything if I put my mind to it.

I see myself as an IT generalist, but in the workplace I have to specialize.
Currently I focus on making Single Identities work across systems for large
Corporates. It's quite niche, and at times monotonous work (the design is
pretty much the same wherever you go), however in order to be GOOD at
whichever specialism I'm pitching at the time I heavily draw on the cross
knowledge I've gained over the years. This extra knowledge has ended up being
invaluable in separating myself from the herd in the recruitment marketplace.

So in short. Early on you should generalize and learn as much about stuff that
interests you; later on (10+ years) start to specialize based your preferences
(or mortgage size, or whatever).

------
cousin_it
The most successful people are often specialists, but that's because they took
a high-risk bet and won. To maximize your average success (rather than chance
of runaway success), it seems more efficient to be a generalist, due to
diminishing returns from any single skill. Just take care to be actually good
at many things, not average at many things.

------
p333347
Be it web application development in specific, or software engineering in
general, or even in life itself, I'd say its much better to be good at many
things than great at one thing. For one, it makes a person self sufficient and
independent. Assuming one is a curious autodidact, one can always improve or
learn things that they aren't good at yet. Next, it sort of gives you a
perspective from various points that makes you appreciate things better.
Finally, it is a humbling experience (which is good in life) as it makes you
realize how much there is to learn - the more you know things the more you
know you know nothing effect. Of course, one must not get perturbed when
derided as "jack of all master of none". On the flip side, one must also not
go around town calling oneself a polymath or a renaissance man - those days
are over, at least with established fields of knowledge - as it would be
equally ridiculous.

~~~
matonias
Wise words. I totally agree on this. The world is more than only one
specialized field, their are too many possibilities in life to focus on one
thing.

------
perlgeek
If you want to build a reputation for yourself, it is much easier in a small
niche. It's easier to be know as "the" guy who does awesome, interactive audio
in D3.js (just sputtering stuff here) than to build a reputation as a "the"
awesome frontend developer.

Once you have your small niche in a firm grip, you can expand outwards.

------
scardine
In consulting/freelancing it is better to know many things, but market
yourself as a specialist instead of a generalist.

~~~
matonias
Good one!

------
xiaoma
Professionally it's far better to be great at one thing (or a clump of related
things). The market doesn't if your skills are kind of close to a
professionally marketable level in many areas. On the other hand, it
generously rewards those who are the best at any task people care to pay for.
Find your strongest comparative advantage and milk it for everything you can.
If you're good at and bad at writing, then be a musician, allow your writing
to remain horrible and work with horrible musicians who can write.

In the personal domain, the situation is the opposite. It's just not possible
to outsource being healthy, financially sensible, romantic or a good friend to
someone else. If you're really struggling with one of those areas of life,
it's worth it to work on fixing up your weaknesses rather than just further
developing your strengths.

------
HeyLaughingBoy
It really depends on what you want to do (i.e., your personal definition of
"better")

Last time I was looking for a job, the recruiter came back to me and said "I
can find lots of jobs that need your skills, but none that will pay the salary
you want."

So we discussed what my skills were. I was looking for a SW dev job, but I
have degrees & experience in EE, SW, lots of time working with integrating SW,
EE, and Mechanical motion control, more experience working with biochemistry
and understanding how various physical movements can affect the way a reaction
proceeds, and the repeatability, etc. of the output.

Finally she says, "hmmm, you're really a Systems engineer with a Software
engineer title." Then a new set of job opportunities (that wanted to pay what
I wanted to be paid) showed up.

And somehow I ended up taking a position as a software engineer/Manager... go
figure.

------
teekert
Depends on your wishes, I myself am a biochemist moved into molecular biology
moved into biophysics moved into micro-fluidics moved into data-analysis.

Now I'm a person that talks to many specialists and brings ideas together to
create new research paths to go into. I talk a lot, I write a lot and do some
programming. According to tests I'm an extroverted person with a short
attention span who is motivated by frequent changes. My current position
requires this of me.

If you prefer to just focus on getting a single, (complex) job done,
introverted, away from other people, you're better of specializing imho. Me, I
get new ideas by talking with others and can enjoy meetings. Many of my
colleagues can't, they just want to get their current task done ASAP.

------
nullundefined
It doesn't matter if you have amazing depth in XYZ or you know about many
things, no one cares and in one year all your knowledge will most likely be
obsolete.

If you're going to "learn" something, make it universal. Learn to communicate
(written and verbal), make friends, have experiences and learn to be
empathetic and check your ego at the door.

The truth is, life is short and you will never master anything let alone
become great in many things, so why try? What's so bad about being technically
"decent" and exude the universal skills listed above? I'd hire that person any
day.

------
collyw
Focus on a few things early then narrow it down to the things you prefer (or
make you more employable) as your career progresses. The concept of a T shaped
developer seemed popular a couple of years back (in blog posts at least).

------
TheLarch
"I fear not the man who has practiced 10,000 kicks once, but I fear the man
who has practiced one kick 10,000 times." \--Bruce Lee

I am not sure if this submission is tongue in cheek or not.

------
anilgulecha
2 complimentary skills give you the most bang for your buck. Front end +
photoshop, or backend + systems design. (You could also find a complimentary
skill that isn't technical.)

------
fatdog
When you truly master something, the understanding of mastery is a
surprisingly portable skill.

It can make you seem like a generalist, when in fact you are just a
transcendent specialist.

------
eranation
I follow the principle of trying to be (and hire) T shaped people. Wide
generalist knowledge (knows a little of everythin) but one topic where they go
deep. You can be specializing in backend programming but I would expect you to
be able to hack a quick front end fix. You can't get away without the minimum
of basic HTML, CSS, JavaScript, SQL and Linux, you also must know basics of
security (CSRF, XSS, SQLI etc). Then you can go deep on anything you want.

------
ahmetyas01
Be good at what you do and know a little from everything = Good CEO Be good at
what you do = Great Employee Know a little from everything = World wide Loser.

------
tugberkk
My recommendation is personal only, and does not include any "business-wise"
suggestions. I would say being good in different things is better. This brings
a simple problem tho, you are going to forget what you are not using. But,
"learning" is an experience and a good one. So I would say learning and
knowing a good chunk of any/everything will help you even in specializing.

------
cyanbane
There is going to be a comment on this that is really good from someone who
has spent a lot of life thinking on this topic. You will also probably be able
to aggregate a whole lot of opinions from people who may think about this
every now and then. Which do you think will be more informative?

------
jasonkostempski
"What's the secret to getting in? I can't tell you. You have to find out for
yourself."

------
danieltillett
I have noticed that the world doesn’t work like this and talent is very
unevenly distributed - those people great at one thing seem to be great at
lots of other things.

Extreme specialisation seems to be correlated with unhappiness so it might be
better to be good at many things if you want to have a happy life.

~~~
matonias
Where did you find that specialisation seems to be correlated with
unhappiness?

~~~
danieltillett
This is just my observation. Like anything involving people the best you can
do is correlation (too many outliers), but the driving factor seems to be
people get locked into a path early in their life and find it hard to walk
away from all they have committed to their specialisation when they later find
they don't actually like what they have spent their life becoming good at.

------
pm24601
I think the key is to get past the "mediocre/o.k." skill level .

The problem with going deep is picking the right discipline. Since you may
pick wrong initially, going broad first allows a chance to pivot to a
different skill to go deep on.

The first skill is the ability to learn in a fast organized manner.

------
cauterized
That depends on what your goals are and what interests you.

There are things only specialists can do and things only generalists can do.

There are people who are equally interested in a lot of things and people who
are particularly fascinated by a single topic.

Which are you?

------
id122015
If you choose one thing, choose politics, because no matter what a genius you
are, the HR department has the other kind of reason. Social Justice Warriors,
you name it..

------
cerrelio
Either/or. Just _care_ enough to be good at anything at all. Additionally, be
good at something that doesn't involve work skills. Work isn't everything.

------
aj_nikhil
Start with many things and keep on doing them honestly and humbly.. sooner or
later you __will __become master in few ...

------
psadri
It's even better to be able to become good at things as circumstances demand
them.

------
MollyR
Most places calling me about jobs want a full stack developer.

------
jkingsbery
I've known successful people that have done both.

------
programminggeek
Yes.

------
mirekrusin
Is the sum of small numbers greater than a large number?

------
khattam
You can't be good at many things, mostly because people who spend all their
time doing one thing will outdo you; so at best you'll be mediocre at many
things. At worst, you'll think you're good at all those things.

Be mediocre at many things and specialize to some extent on few things.

