to improve wide or better narrow knowledge ?

Started by
11 comments, last by cardinal 10 years, 7 months ago

The answer is: both.

You should be a t-shaped person.

T-shaped+people+fig.png

You should pick one area that you are really good at, and become the goto guy for that skill.

But you should also be competent enough in related areas that you can do non-expert level work.

In a gamedev example, you might be the rendering guy. You know the engine inside and out and you can do all kinds of black magic with it.

But you should also understand the content tool chain well enough to build "developer art". You should be able to run your build server and generate releases. You should (and this is really important) be able to make decent coffee for other members of your team.

How deep and how broad will depend on your own abilities.

if you think programming is like sex, you probably haven't done much of either.-------------- - capn_midnight
Advertisement

Expert (noun): A person who knows more and more about less and less until they know absolutely everything about nothing.

That may be somewhat true, but downside of wide knowledge is that it takes time to get, learning those functional languages, those different platforms those different fields etc takes years (at least months) - wouldnt it be better to invest this years into one language and one platform and one field and not wasting months-years of time to learn another ? I do not know answer to that.

It's not a waste of time to look into other languages at all. Not in a great depth but enough depth to actually develop something in them. Some languages can be very different (especially higher level languages), and these can help you to learn some things much faster than struggling with them in the language/field you already know.

For example Matlab programming led me from programming for DOS to Windows, Labview programming (a graphical dataflow "language") will surely help me to better understand multi-threading.

I'm sure others could bring better examples too.

From an industry perspective I find in general that people tend to start as generalists and eventually find a niche to specialize in. For instance I started out doing front end, databases, game modes, gameplay, even a small amount of rendering, etc. but now I specialize in animation systems.

From an indie perspective, you really need to be a generalist. You CAN be a specialist, but you will need the breadth of knowledge since you generally can't afford to hire specialists in all areas.

At the entry level it's generally better to have a breadth of knowledge. Specialist positions generally aren't entry level. That's not to say that people without experience can't get these positions, but it's the exception rather than the rule, and you'd need a pretty good portfolio.

There's no magic answer on which route to take though. If you find an area that you are passionate about it's not a bad thing to devote a lot of time into it. Things like building a cutting edge rendering engine would require specialized knowledge, and when interviewing for that position the interviewer probably isn't too concerned with the interviewee's knowledge of gameplay and animation (other than perhaps skinning models).

This topic is closed to new replies.

Advertisement