9 ms·
Ask HN: Being a generalist vs. being a specialist
Getting excited about new thing and learning as much as you can until some other newer thing come your way exciting you to learn about the new stuff...; So many interesting stuffs, so little time!
Life is short; why deprive yourself of so many exciting things? Or life is short; you can't do so many things so better speciallize!
What do you have to say?
- transfire 11y agoAs a generalist extreme, I offer this fair warning. Without specializing in something you may risk low cash flow.
- kangaroo5383 11y agoHa! That's exactly me. However I'd suggestion being jill of all trades and master of 1. In my experience I find it more helpful to be really good at one thing but can do a lot of different things (full stack, design, product) to get the job done, you're more appreciated that way. In my case, iOS is my One.
- sharemywin 11y agoI would agree with this.
- GFischer 11y agoThat's the "T-shaped" approach atsaloli mentions :) http://darrennegraeff.com/the-importance-of-t-shaped-individuals/ http://darrennegraeff.com/the-importance-of-t-shaped-individ...
- koide 11y agoAnd now there is this new trend about the pi-shaped person, master of two. Which is reasonable if you can manage.
- jetblackio 11y agoIf generalization is something you enjoy, that skill is hugely important in the DevOps / Sysadmin world.
- k__ 11y agoIn the start-up world especially. I'm a front-end dev, but often I find my self writing back-end stuff, because the back-end dev just doesn't have the time.
- atsaloli 11y agoI find the T-shaped approach workable: https://en.wikipedia.org/wiki/T-shaped_skills https://en.wikipedia.org/wiki/T-shaped_skills The generalization enables learning new skills/technologies faster and helps with problem-solving; the specialization helps with being able to bill a higher rate.
- hanniabu 11y agoAgreed, I've experienced this first hand.
- nekopa 11y agoI'm trying to do both by learning python really, really well. I only have to specialize in one language, but shit, the ecosystem allows me to work in all kinds of areas: ML, Web, big data, desktop and mobile apps...
- blablablame 11y agoIt depends. Hear me out. When people say they are a generalist, they actually mean they know a bit of JS and whatever the framework of the moment, a bit of rails (or Django or Play) and they can come up with a bash script. If this is you, better specialise otherwise you will be fucked. Now, if you can do a full grown mobile app, a backend service for realtime data, do 3d for the latest console or write a CAD file viewer that is fast, write kernel drivers, hack up nginx to do your biding and write an ETL for oil company, pick an haskell AI/learning project and improve it. Keep at it. You will have so many doors open you don't know what to do with your time.
- hanniabu 11y agoCan you please explain why you'd be screwed if you're in the first class of generalist? Also, maybe I'm more junior than I think, but your second class of generalist actually seems more like being really good in a few verticals. Not an expert, but demerit not a generalist.
- blablablame 11y agoSure, because 'you' aren't really a generalist. You are just a 'junior' developer that dabbles a bit in things. Don't get me wrong, someone like that has a place in some companies, but it is the difference between being payed 20 bucks an hours vs 200. All the stuff I've mentioned before, I've done. I've worked in more industries than some have jobs. Right now, I can pick and choose what I do and get payed way too much for it. I didn't specialise (but I admit there is a place for that) but I have enough breadth that I can go from games, to AI, to 'deep learning', to crud, to mobile apps without an issue, and with all that baggage, I can ask for the big money as well. Let me just put a quick list of language where I've worked professionally charging those values: - C - C++ - Ruby - Objective C/Swift - Haskell - F# - Java/Kotlin - Python - C# (and Visual Basic, both .net and not) - Delphi - Borland Builder C++ (I don't even remember the right name) This isn't a brag, seriously, just to point out that what a lot of people consider to be generalist aren't even scratching the surface of it.
- 11y ago
- piratebroadcast 11y agoIm very interested in being financially secure. What do you folks suggest would be something good to specialize in? I do rails now, bit of front end. Heavily interested in iOS.
- kspaans 11y agoMight be a good idea to start specializing in controlling your costs. :P Half-joking, but remember that there are two sides to financial security: your earning and your expenses. If you are making $200k but living paycheque-to-paycheque, you aren't much better off than living frugally on $75k. And the magic of compound interest means you are better off staving while you are young.
- bcherry 11y agoEven if you aspire to learn many different skills, technologies, disciplines, etc, you should spend time becoming an expert in at least one thing. You'll learn and develop many meta-skills through mastery of that one thing that will be hugely beneficial across everything else.
- 1812Overture 11y agoSpecialization gets you hired. Generalization gets you promoted.
- cdnsteve 11y agoLearn, explore and work on things that gets you excited every day. If you're no longer excited or learning how to be better then you have some catching up to do. You don't need to write kernels, oil company etls, program mobile apps, or make a self driving car to be valued. You just need to solve real world problems, using smart tech that other businesses value too. The biggest issue I've noticed is people aren't well connected to learn and read up on tech. Having knowledge of your industry and tools is required, some don't make a conscious effort to keep up.
- Gustomaximus 11y agoI dont believe there is a 'right answer' and someone is best pursuing what suits them self personally. For generalists, assuming intelligence and a reasonable affinity for learning there is a heap of benefit. A generalist can become a specialist relatively quickly, especially when doing something day-to-day on a job. And often a generalist has benefit in understanding the big picture which aids in getting the job done. Specialists have that edge in knowledge and often stay up to date better and general skills can erode quickly in areas of moving technology. This is useful when you need something worked on at the highest level right now and don't have learning runway. Personally I've avoided specialising as I like the work diversity, plus enjoy the employment opportunity of having a wider skill set. Also in my field of marketing I find specialists rarely amaze me with their topic knowledge, sometimes the opposite. For some of the specialists I wonder if they get limited to specific areas as they dont like learning new things vs actually enjoying taking their knowledge to as far reaches as possible.
- aneelkkhatri 11y ago>"A generalist can become a specialist relatively quickly, especially when doing something day-to-day on a job." Same feeling! Many things I learn seem to have similar patterns be it programming, graphics designing, music or photography; and every new thing learnt broadens my perspective on how things work.
- majc2 11y agoYou could be a technologist generalist, but specialise in an industry (or vice versa). Bare in mind, if you've got expertise in an area that people value, people will pay you handsomely for it.
- Ayietim 11y agoHi, people generally go to a speciaist when they have a problem they can't solve on their own. They believe that a specialist has the requisite training and experience to help them solve their problem at the risk of making the barest of mistakes. Generalists on the other hand, are believed not to dominate any area of life as problem solvers. So, people don't trust them to solve their problems. http://ayietim.wordpress.com http://ayietim.wordpress.com
- pjungwir 11y agoI agree with T-shaped, but I will add: don't just expand the "breadth" part by learning new languages. Sure, learn a language or two a year, and experience a variety of paradigms. But more importantly, broaden yourself with skills that complement what you already have. So if you're doing Rails, get to know Postgres really well. Get to know one JS framework really well. Get to know Chef so you can deploy and manage your apps. Learn C and write a Postgres extension in it. Learn statistics and contribute to a Ruby-based stats gem. Pretty soon you are a "full-stack" developer. And broaden your non-tech skills too: Learn how to write well. Learn some public speaking. Learn how to read financial statements. Learn about marketing. Learn about managing people. Etc.