Live data from Hacker News

Hacker: Jack of All Trades or Master of Some / None

news.ycombinator.com

1–10 of 18 posts

Hacker: Jack of All Trades or Master of Some / None

#1
Have any of you developers struggled with determining whether you'd rather be a well-rounded developer, or one that focuses on a few areas but becomes an expert on those areas?

I'd like to pose this question in the context of entrepreneurship and freelancing, since we know specialized developers would fit in a corporate system.

As a programmer with an entrepreneur mind, this is something I question while trying to self improve my skills. I consider myself in the category of "jack of all trades" and am currently picking up new areas of development.

I figured a jack of all trades developer would be more appropriate for startups bootstrapping, a really small team, freelancing, and getting version 1 up of a product without much dependency.

As for the specialized coder, with an entrepreneur mind, I see the specialized skills fitting perfectly with a team of other very specialized developers.

I sometimes get that feeling of "spreading myself too thin" when trying to pick up many new languages / frameworks in a short amount of time.

Currently I've picked up Rails for the past year, but have been wondering if its worth honing my front-end skills, or instead, contract it out, etc.

Re: Hacker: Jack of All Trades or Master of Some / None

#3
I can't comment on the startup scene. I like the phd model: Become an expert in something. You'll find that on your way to expertise, you'll pick up a diverse set of skills.

Why is the phd model better than something else? Don't know. Intuitively seems to make sense. Makes me nervous to hear that people are picking new frame works left-and-right.

Re: Hacker: Jack of All Trades or Master of Some / None

#4
There are lots of generalists, but very few specialists in any particular area. On the other hand, most problems don't need a specialist in most areas.

Which approach is best depends largely on how much freedom you have to pick your area of work. If you're creating your own startup, being a specialist is great because you can make sure the problem you're working on is in your area of specialization -- myself, I'm working on online encrypted backups, and the areas of expertise needed (cryptography, security, data compression, concurrency) are precisely the areas which I'm most expert at. On the other hand, if you're joining your best friend from university to work on the startup idea which he picked, odds are that it's going to play to his areas of expertise, not yours, and you'd be better of being a generalist who can fill in the gaps after someone else does the heavy lifting of solving the "hard" problems.

Re: Hacker: Jack of All Trades or Master of Some / None

#5
I think ideally the founding team should have all the necessary skills to create whatever product the business is building, without relying on anyone external. For a web app company that means at first you're DBA, SysAdmin, Programmer, Designer, Customer Support, Sales, etc. As you grow you hand those roles off to others. Web design is the only thing I'd risk letting someone external handle, but even that can become a bottleneck if they're unavailable and you need to make changes quickly.

I also think you should work to become really good at something. If for no other reason then it's hard to build respect from others if everything you do is only mediocre.

Re: Hacker: Jack of All Trades or Master of Some / None

#7
If you're in a startup, you're going to have to wear a lot of hats. Even the hats you aren't wearing, you're responsible for finding somebody else to wear. So to some degree, you're going to have to be a generalist.

But do it smart. Use mentors for stuff at the fringes that you don't think you're going to keep doing over and over again, like hiring a lawyer or finding a PR firm. Specialize, but only lightly, in a few areas that have important correlations to the field your in. For programming, that would be knowing a couple of OOP languages, a couple of Functional languages, a couple of relational databases, and a couple of large datastore systems. You don't need a PhD, but you do need some practical experience in various ways of doing those things you're going to be doing a lot of. Once you learn 2 or 3 ways of doing the same thing, you'll have enough of the pattern to keep you going for a good while. Then there's just being honest with yourself. For instance, I suck at UI. So either somebody else would have to do it, or I would have to farm it out.

In the technology field, approximately 80% of working knowledge changes every few years. That means that it's not a question of being a specialist or generalist, it's a question of constantly relearning. What are you relearning? Making that choice is the key to your future survival as a company. There are two types of innovation -- the knd that happens as part of being a super specialist at the forefront of some small subset of knowledge. And then there's the kind that happens when you mix various fields in an unpredictable manner. Guess which one is a better model for the types of startups we talk about on this board. Specialization is a great place to start, but you have to move from there to somewhere else to run a startup.

Re: Hacker: Jack of All Trades or Master of Some / None

#9
Marc Andreessen has talked about this and mentions a quote from Scott Adams (http://blog.pmarca.com/2007/10/the-pmarca-guid.html):

"If you want an average successful life, it doesn't take much planning. Just stay out of trouble, go to school, and apply for jobs you might like. But if you want something extraordinary, you have two paths:

Become the best at one specific thing.

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

The first strategy is difficult to the point of near impossibility. Few people will ever play in the NBA or make a platinum album. I don't recommend anyone even try.

The second strategy is fairly easy. Everyone has at least a few areas in which they could be in the top 25% with some effort. In my case, I can draw better than most people, but I'm hardly an artist. And I'm not any funnier than the average standup comedian who never makes it big, but I'm funnier than most people. The magic is that few people can draw well and write jokes. It's the combination of the two that makes what I do so rare. And when you add in my business background, suddenly I had a topic that few cartoonists could hope to understand without living it."

This is general advice though and doesn't necessarily apply to the question of "what should I work on now that would help my start-up the most?"

Post reply on HN