to improve wide or better narrow knowledge ?

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

It is another lounge topic, but it is somewhat important to chose

I think, it is better to improve wide konwledge or better is to invest 90%

of time in some narrow field ?

I could just focus on learning how to do some special kind of games

or improve many things for example some system internals,

some other languages, algorithm I do not really need but I like to know

and so on (many many more).

Not sure which way is better, in reality it seems that I go through the wide topics way, and I am not sure if this is correct :/ Probably I like to do it becouse this seem to be easier way - it is easy to lern something when

you got a tons material abaut it over the internet - to specialise and spending much time to some narrow field is probably harder to do...

What are the opinions..?

Advertisement

An old guy in my parents' village used to say that you should know a little bit about everything and a lot about one thing. In other words, you need both width and depth of knowledge. People that are better at width are called generalists, while people that are better at depth are called specialists. There is no right answer.

Here's some back story that may have relevance. YMMV.

I've interviewed probably 50+ candidates over the years. I'm not a manager. I don't get to pick who I interview. As part of the interview team I typically cover basic programming in Perl, C, C++, and ARM assembly. I've discovered that PhD candidates cannot program at all (this is not a sweeping assessment of PhD holders. I personally know plenty of PhDs who are amazing programmers). We were looking for people who could demonstrate they could program at a bare minimum without much hand-holding. I'm sure a PhD could eventually figure this stuff out, but our needs were such, at the time, that they needed to hit the ground running.

I spoke with a co-worker about this puzzling trend. He holds a long list of degrees and I figured he'd be the best to discuss the matter. He put it this way: "Imagine that all computer programming knowledge (or all knowledge) can be represented by a circle." He would then draw a much smaller circle on the edge of the bigger circle. "This smaller circle represents the pimple of knowledge where the PhD is an expert. They have focused on this piece of research for so long that they've clouded out the rest of the general knowledge. PhDs typically spend many years in this focused state. This is why, despite people's general understanding of what a PhD means, reality is quite different."

The next natural question was, "Well, is there a degree program that makes you expert of general knowledge?"

"Yes. That's called industry."

How is this relevant?

Well, if your idea of programming involves highly focused research based projects, in order to get anywhere you'll probably have to devote considerable effort to reach any level of competency. The thing you sacrifice is time spent on becoming proficient in a wide range of activities. My impression of game programming is that if you're doing it all by yourself, you want to master as many of the fundamentals as possible. Don't spend too much time in any one area. If anything, rely on the generous support of the open source environment for when specialization is necessary. You don't have enough time to do it all, but you do have enough time to learn tools and flows that cover that aspect of programming for you.

As Álvaro says, it's a judgment call on your part. Maybe somewhere along the way you decide you really enjoy something. Or maybe you have some novel idea that you really want to explore. It's largely dependent on what your goals are.

Guess Cosmic314 saved the money sentence for last. It depends on your goals.

If you only have a vague idea of what your goals are I wouldn't dive into a narrow field.

I think looking up what general IT / programming related topics there are is really important.

During that kind of research you get a feel for what you want to know and be able to do.

Not sure if the circle example explains the PhD problem, though.

I think the problem here is that you should always apply the things you learn right away ... and you need to know the use cases for the theory.

There are too many things that you just read about once and where you never build a routine.

I like the rapid skill acquisition theory. It forces you to think about what your desired level of practical proficiency is.

Combined with a method for managing your projects (SCRUM for example) you can be pretty efficient with learning, practising and working on projects.

Given enough eyeballs, all mysteries are shallow.

MeAndVR


It is another lounge topic

Agreed. Moving to the Lounge.

-- Tom Sloper -- sloperama.com

Not surprising that many college grads who hold phD's aren't very useful. I've personally ran into this in the web development world. More valuable are those who are self driven and that took control of their own learning and development, as opposed to those who sat in classrooms and were indoctrinated. I've met many web developers who spent years in school, racked up tons of debt, and can't work their way out of a cardboard box. So I'm going a little off topic but when a guy says to me that he learned on his own he usually stands out in a positive way among the others who didn't.

When it all comes down to it, "To improve wide or better narrow knowledge" It depends on how a person thinks and how their creative mind works. If you think inside the box you probably should stick to narrow knowledge.

Breadth is almost always better for getting shit done than depth. Very rarely do you need the highly specialized guy that can micro optimize the hell out of a handful of functions that actually need it. And I've found that having a wide breadth of skills allows you to go as deep as you need when things do come up. I guess my point is, if you only know one thing well, you're gonna have a bad time.

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

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.

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.

Yep. Teach yourself programming in 10,000 hours.

This topic is closed to new replies.

Advertisement