Better Devs : Book smart or Street Smart

Pho3nix

The Legend
Joined
Jul 31, 2009
Messages
30,589
Hi,

Having a conversation with some peeps here and I'm curious what the wider community stands on this.

1. Is it better to have a developer who knows the deeperreasons about why you should do something but can't actually do it VS someone who does it because they kinda know why it needs to be that way.
2. Or simply a varsity graduate vs a technicon graduate/working fellow.

Your experiences would be appreciated.
I sit on the street smart but they should go read on the WHY. The do-it portion takes the longest to get a grip on at least it did for me, while having worked on a lot of the concepts mentioned in books helps me understand clearer WHY it's better to do it a certain way over what I did.

Bonus points. Best language to learn for beginners.
 

shooter69

Expert Member
Joined
Jun 4, 2012
Messages
3,104
In my opinion : Best language - C#

Are you trying to figure out if book smarts trump experience? I would say experience wins.
 

krycor

Honorary Master
Joined
Aug 4, 2005
Messages
18,546
A pragmatic knowledgable developer.

1. Know it alls end up in 'analysis paralysis' more often than not till they learn to be more pragmatic with their approach or move into pm/bsa roles ;)
2. Purely pragmatic devs overlook things they shouldn't and feel their way to cleaner code. here truckload experience helps iron out things

So yah.. a bit of both.
 

froot

Honorary Master
Joined
Jun 2, 2009
Messages
11,347
I agree with the "best of both worlds" thing.

Knowing how to code is one thing.
Knowing the rules on how to apply that code is important too.

Knowing the rules on how to code is useless if you don't know how to code it in the first place.
 

Kosmik

Honorary Master
Joined
Sep 21, 2007
Messages
25,658
Any experienced dev will tell you it's experience that maters. No matter where or what you learnt, experience is the true teacher/filter for development. Also normally the most relevant learning happens from within the community, whether at work or online. Books and formal tuition tend to lag behind the curve, although obviously the base concepts and methodologies remain the same.

A balance is required for a good developer unless they are seriously cocooned or segregated into small components of a larger system.
 

cguy

Executive Member
Joined
Jan 2, 2013
Messages
8,527
It's a false dichotomy. To quote Batman, in Batman Forever, "I choose both".

I strongly believe that the best way to achieve this is by first becoming "book smart", and then "street smart" too. The reason for this is that everyone who can become street smart, will become street smart eventually, because regardless of whether they study for 1 year or 4 years, they will likely spend 40 years working in industry. On the other hand, becoming "book smart" is hard to do - that is the raison d'etre of universities - to educate you in the most efficient way possible, with the guidance of the most book-smart people out there.

In my experience, ~99% of the best developers I've worked with studied first, and then got experience later. The number of developers who have managed to compete (at this type of job) via self-study, I can count on one hand. This isn't to say that those without education can't have a good career, or get a great job, but rather that there are (very lucrative) jobs of a certain "type" (note, I'm not using "level") of complexity that will effectively be closed off to them.
 

Batista

Executive Member
Joined
Sep 2, 2011
Messages
7,909
It's a false dichotomy. To quote Batman, in Batman Forever, "I choose both".

I strongly believe that the best way to achieve this is by first becoming "book smart", and then "street smart" too. The reason for this is that everyone who can become street smart, will become street smart eventually, because regardless of whether they study for 1 year or 4 years, they will likely spend 40 years working in industry. On the other hand, becoming "book smart" is hard to do - that is the raison d'etre of universities - to educate you in the most efficient way possible, with the guidance of the most book-smart people out there.

In my experience, ~99% of the best developers I've worked with studied first, and then got experience later. The number of developers who have managed to compete (at this type of job) via self-study, I can count on one hand. This isn't to say that those without education can't have a good career, or get a great job, but rather that there are (very lucrative) jobs of a certain "type" (note, I'm not using "level") of complexity that will effectively be closed off to them.

I was going to say the same thing,book smart to learn then toss the books afterwards because programming is programming no matter the language.You should be able to adapt to ANY language quickly.
 

Pho3nix

The Legend
Joined
Jul 31, 2009
Messages
30,589
I was going to say the same thing,book smart to learn then toss the books afterwards because programming is programming no matter the language.You should be able to adapt to ANY language quickly.

There is a reason I didn't mention language and asked who is better..
 

[)roi(]

Executive Member
Joined
Apr 15, 2005
Messages
6,282
It's a false dichotomy. To quote Batman, in Batman Forever, "I choose both".
Agreed.

I strongly believe that the best way to achieve this is by first becoming "book smart", and then "street smart" too......
Don't agree entirely.

I believe the route is far less divergent between "undergraduate study with later street smarts" vs. "streets smarts with later book smarts". Plus in SA I'd argue that the current "book smart" crew are scuppered not only by diminishing standards but 3rd party BS (e.g. politics).

As for "book smarts"; as you certainly know, real differentiation occurs only from graduate study onwards. Yet in any case it doesn't imply a "streets smarts" person couldn't attain greater knowledge or greater efficiency later; however with the advent of life's pressures this would certainly be exceptional.

In summary, either route can be successful, however it's certainly far easier to acquire the "book smarts" at the beginning than to try to prioritise time later in your life to acquire this.
honey...! do you mind looking after the kids for the next year or so while I devote all my time to study?
 
Last edited:

DA-LION-619

Honorary Master
Joined
Aug 22, 2009
Messages
13,777
I always cannot answer a question like this since it gets so broad.

Do you need to understand the inner workings?
A front end dev, knows the front end, and a backend dev knows the backend.
A full stack dev knows a bit of both, but not all the details but gets the job done.
Another example I've always seen on Facebook, a programmer is not a PC repair guy but honestly do you expect a mechanical engineer who designs engines not be able to drive?

Writing code is one thing, no matter how awesome it is and architecting a system is another.

Another thing is this best practices nonsense, tons of people go off about DI or unit testing because they read it in a book, you ask them for a real use case and they have no answer.

You can have software fast, cheap or good. Pick two.
 

[)roi(]

Executive Member
Joined
Apr 15, 2005
Messages
6,282
I started coding at age 13. No studies.
I followed the same route... started at 12, and acquired the education much later; however I also have a few colleagues that never pursued formal education that are highly skilled (theory and experience) -- IMO the road narrows after 10 years of coding; yet we've all met those that will never truly excel & a starting degree certainly doesn't change that.
 

Beachless

Executive Member
Joined
Oct 6, 2010
Messages
6,003
I cant find the picture now but theres a great one about the evolution of code and how most people start out simple and then start getting more complicated and implementing everything the books tell us to do but in the end the simplest code for the task is whats best. Not implemening the best in theory
 

DA-LION-619

Honorary Master
Joined
Aug 22, 2009
Messages
13,777
I cant find the picture now but theres a great one about the evolution of code and how most people start out simple and then start getting more complicated and implementing everything the books tell us to do but in the end the simplest code for the task is whats best. Not implemening the best in theory
More time spent over engineering than actually solving the current problem.

If I do this then later on when { insert some scenario that will never happen }
 

Hamster

Resident Rodent
Joined
Aug 22, 2006
Messages
42,920
Book smart only gets you so far unless you're in a very specialised field. Best is to have both (read "some book smarts at the very least") but if you could have only one experience in the "trenches" wins every time.
 

[)roi(]

Executive Member
Joined
Apr 15, 2005
Messages
6,282
Book smart only gets you so far unless you're in a very specialised field. Best is to have both (read "some book smarts at the very least") but if you could have only one experience in the "trenches" wins every time.

No route is a guarantee. Exceptional is possible with both routes, for example:

It'd be hard to argue that either of these guys aren't on the pinnacle of what we consider highly exceptional; yet their lives or paths to success are substantially different.

Bjarne is the typical university graduate, whereas John is just the opposite; arrested at 14 breaking into his school to steal an Apple II; ended up spending a year in juvenile detention and never completed any formal education.
 
Last edited:

[)roi(]

Executive Member
Joined
Apr 15, 2005
Messages
6,282
Top