Ask HN: Is it better to be good at many things or great at one thing?
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.
113 comments
[ 367 ms ] story [ 3299 ms ] threadhttps://www.psychologies.co.uk/self/what-do-you-do-when-you-...
Technology is progressing rapidly nowadays and we need to know about them in general (the horizontal bar). But we also need to master 1 or 2 (or a few), and these will increase our "value" (this is the vertical bar).
For example: I know how to build web apps using some PHP frameworks, I know how to write Android apps using Java, I can write desktop apps using Java, etc. This is my "generalist side".
My "expertise side" is smart card (at least this is my current plan). So I focus on mastering Java card, ISO 7816, GSM 11.11, GSM 11.14 and so on.
I keep my eyes open on new, emerging technologies, but will not put much effort to master them.
I wouldn't necessarily restrict this to "the digital world."
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.
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.
In terms of thinking on a path for your career, think only of whether you are putting all your eggs in one basket. If a job role later becomes difficult to get / stay employed in, and you can't adapt, then that's the most likely problem you'll face.
I have always tried to be interested in a lot of things, so that I can turn my hand to new things once I need a new challenge. It has worked well for me so far ;-)
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.
Once you have your small niche in a firm grip, you can expand outwards.
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.
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.
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!)
Overall it's a 40 hour work week along with 3 extra hours of commute a day, so I take to reading mathematics/cs literature on the train and use the rest of my day to either relax or to learn more things.
I would say that while we do have to do what gives us a living, there are options. Contracting, for example.
I should say as well: I also have the same dilemma, I'm interested with everything. So I decided to choose for subjects (such as mathematics) that will give me a better base to learn more subjects.
Of course, nothing says you have to have only one job. Luckily, all of my interests are viable professions, so I try to do them all.
I have become especially fond of the latter approach, when possible. No million dollar moonshots like you often read about around here, but I've had good luck at least making back the cost of my time/materials, which is quite gratifying for something I'd tinker with for free in my spare time anyway.
I think it works really well for me. I love the flexibility and variety while still being practical. But, again, I have been fortunate to be almost exclusively interested in things that people are willing to pay for.
I had a roommate in college who every next morning after waking up talked of different interests/career options. This advice works for people who know what they are doing but, it's quite broad for people who have no clue what they are doing.
To be employed, you'll do better as a specialist. If you pick the right specialization.
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.
You can become a 'Jack of all trades and master of none' without vocation to entrepreneur;
Or you can become a specialist in an outdated or irrelevant skill.
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.
PS: Which feature film did you produce?
When I read my own list I can never quite believe it myself, especially as I'm so lazy !
My motto is "don't consume, produce" and it goes from there.
All those hours watching other people do stuff, it could be you. Get involved. Just walk up to people doing the thing and ask how to join in. Most people are keen to share.
Oh, and the last thing: I've never really made much money but I've had plenty of fun being poor.
And as you say, that one night a week at the makerspace meetup could just as easily be spent in front of the TV.
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?
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/
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"
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... (it's not a total loss, as some programming paradigms work across languages). With the risk comes increased reward.
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.
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.
Quote follows:
> “The man whose whole life is spent in performing a few simple operations generally becomes as stupid and ignorant as it is possible for a human creature to become. The torpor of his mind renders him not only incapable of relishing or bearing a part in any rational conversation, but of conceiving any generous, nobdle, or tender tentiment, and consequently of forming any just judgement concerning many even of the orginary duties of private life.”
I believe this article popped up on HN a couple of years back:
http://dilbertblog.typepad.com/the_dilbert_blog/2007/07/care...
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.
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.
Later on you can start mixing things. For instance, I do freelance tutoring on these subjects, I use my webapp backend Python code on an Android app I have, etc..
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).
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.
Point is if you don't become a good generalist first, then you'll be a mediocre specialist.