Better Devs : Book smart or Street Smart

Joined
Sep 1, 2016
Messages
2,196
Here is my experience:

Started assembly language programming at 17, because I wanted to automate sliding and swing gates. At the time this was all the rage and everyone was trying to get onto the bandwagon. We also suddenly had access to PIC micros and for this reason everyone was onto them like crazy.

By the time I was 21, I started noticing C, but I was held back due to lack of exposure to coders/IT people until I was forced to learn C to work as an electronic engineer.

I am now 41, and I am able to set up GCC on any machine to compile C code for any architecture using any IDE (Eclipse, Code::Blocks, etc) and my C skills are strong, I basically know the entire language inside out. I have a good grasp with C# and Java.

But because I don't have the "book smart" and cannot describe (but can demonstrate) fancy schmantzy design patterns, lambdas and other crap for lazy coders, I am unemployable by most dev houses. Go figure.

Ditto for information security- No paper = no chance, not even a consideration. This despite me having a record of exposing some rather embarassing weaknesses and actually having one well-known hack to my name.

SA companies run with the "book"- the "book says I shall be paid x because of my experience and no degree" and interviews stall because even my current salary is "too high" according to "the book". SA employment run like the 2nd hand car trade. Evidence of reliance on the book is even present on this forum. I see the job postings often, and the cheap salaries being offered, but I am digressing here.


Fortunately this job is just a means to an end- puts food on the table. Eventually I will realize my dream to be an artist, a graphic designer, a fashion/porn photographer and a film maker.
 
Last edited:

shooter69

Expert Member
Joined
Jun 4, 2012
Messages
3,104
Here is my experience:

Started assembly language programming at 17, because I wanted to automate sliding and swing gates. At the time this was all the rage and everyone was trying to get onto the bandwagon. We also suddenly had access to PIC micros and for this reason everyone was onto them like crazy.

By the time I was 21, I started noticing C, but I was held back due to lack of exposure to coders/IT people until I was forced to learn C to work as an electronic engineer.

I am now 41, and I am able to set up GCC on any machine to compile C code for any architecture using any IDE (Eclipse, Code::Blocks, etc) and my C skills are strong, I basically know the entire language inside out. I have a good grasp with C# and Java.

But because I don't have the "book smart" and cannot describe (but can demonstrate) fancy schmantzy design patterns, lambdas and other crap for lazy coders, I am unemployable by most dev houses. Go figure.

Ditto for information security- No paper = no chance, not even a consideration. This despite me having a record of exposing some rather embarassing weaknesses and actually having one well-known hack to my name.

SA companies run with the "book"- the "book says I shall be paid x because of my experience and no degree" and interviews stall because even my current salary is "too high" according to "the book". SA employment run like the 2nd hand car trade. Evidence of reliance on the book is even present on this forum. I see the job postings often, and the cheap salaries being offered, but I am digressing here.


Fortunately this job is just a means to an end- puts food on the table. Eventually I will realize my dream to be an artist, a graphic designer, a fashion/porn photographer and a film maker.

+1

Sad but true
 

Oppiekoffie

Expert Member
Joined
Oct 25, 2016
Messages
1,468
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.

Very valid. But not seen like that in the industry. I'd say both. Also helps if you study and work at the same time. thrown into deep waters. Figure it out, with a bit of mentoring and you're 70% there. I've worked with a youngster studying degree at UNISA, in the team we helped and guided him. Bright guy , doing very well.
Don't see the SA industry taking that view (adapt to different languages) But then again, its a screwed up industry, as we've seen with the topic about entelect and surely many others. Influenced by dev companies , AA/BEE, and the cancer of them all, recruiters.
 

biometrics

Honorary Master
Joined
Aug 7, 2003
Messages
71,858
... the latter part being why you're less likely to have worked with me. I started coding at 7 :p. I think early coding is a good sign, and that early coding, then studying, then professional experience is ideal, but at that age, it is also more serendipity than strategy.

I meant I didn't study it at the age of 13. Later I took it as an extra subject in high school and did it to 3rd year B.Sc (incomplete). Quite honestly it was a waste of time as I knew the subject before doing the courses. I really didn't feel like I learned anything new.
 

cguy

Executive Member
Joined
Jan 2, 2013
Messages
8,527
I meant I didn't study it at the age of 13. Later I took it as an extra subject in high school and did it to 3rd year B.Sc (incomplete). Quite honestly it was a waste of time as I knew the subject before doing the courses. I really didn't feel like I learned anything new.

You've mentioned that before - I can't help get the feeling that something went south with your coursework, or you just did things in the wrong order, or the requirements were lax, or you deliberately chose courses you already knew, or something. Where did you study, BTW?

To give you a feeling for what was typical when I studied:

When I did my BSc, only about one third of my courses were CS. We were required to take either maths/stats/applied-maths to the second year (I took both maths and applied maths to second year), and then we were required to have at least 1/4 of our third year being third year modules of a non-CS course we took up to second year. I did half my 3rd year CS, and half pure maths.

All the maths/stats/applied-maths was new to me. The maths courses were what opened up whole classes of computer science and job opportunities to me, not to mention that they opened up a whole new way of thinking about technical problems. Literally every CS graduate had either maths 2, stats 2 or applied maths 2, and typically had one to 3rd year (and if not, likely had physics, chemistry or psychology at third year). Were these not requirements where you studied?

On the CS side, as I mentioned, I was already a self-taught programmer, and had been programming in a mix of assembler, pascal, C, basic, and even some COBOL and Clipper for about 12 years when I got to university (mostly C/Pascal with inline assembler or calling assembler). I knew low level programming, and how to write high performance code and how to tweak the VGA hardware, write interrupt handlers, and build mod players, knew basic data structures and algorithms, like trees, linked lists, and quick-sort, could write a basic SQL query, etc.,

However, I had never done (remember, this was just 1/3rd of my BSc):
- Functional programming (LISP)
- Logic programming (Prolog)
- Mathematical programming (matlab, linear programming/optimization)
- Numerical methods (PDE integration algorithms, etc.)
- Computer architecture (covering multiple architectures at a high level through to cache details, and gate level implementation of simple CPUs, adders, multipliers, etc.)
- Formal relational algebra, ODBC
- Wrote a compiler and language parser
- Finite automata computational theory course
- Networking (from Fourier series for signal processing to TCP/IP details)
- Formal Object Orientation (small talk, C++, java, and a lot of comparative language analysis(
- Graphics (representing a generic camera model with matrices, through to learning and implementing clipping, rasterization, shading and lighting, texture filtering, etc. - I had done hacky versions of this stuff in high-school, but didn't fully understand it till this course)
- IRIS GL (OpenGL precursor - used it for a project)
- Advanced data structures and algorithm analysis (AVL-tree, RB-trees, B-trees/B+trees, heaps, splay-trees, sorting, amortized analysis, randomized algorithm analysis, graph algorithms, etc.)

Then in honours things went up a notch.
 

[)roi(]

Executive Member
Joined
Apr 15, 2005
Messages
6,282
You've mentioned that before - I can't help get the feeling that something went south with your coursework, or you just did things in the wrong order, or the requirements were lax, or you deliberately chose courses you already knew, or something. Where did you study, BTW?

To give you a feeling for what was typical when I studied:

When I did my BSc, only about one third of my courses were CS. We were required to take either maths/stats/applied-maths to the second year (I took both maths and applied maths to second year), and then we were required to have at least 1/4 of our third year being third year modules of a non-CS course we took up to second year. I did half my 3rd year CS, and half pure maths.
Was this a SA or international varsity?
IMO (from tutoring) Wits, and UCT are quite similar in composition; standards have however have dropped significantly in the last decade.

As for mine; similar to biometrics did CS at school incl. computer / math olympiads. After school I did my compulsory 2 year stunt (needed a break), then jumped into the first couple of formal developer jobs & finally at 28, decided to pursue studies. Happen to be working for a European petrochem at the time, and was advised to rather study overseas as SA degrees weren't widely accepted; in the end I did a MEng at the University of Liverpool (4th year was a merger with MSC). Course composition certainly different to SA ones; majority courses were CS.
 

biometrics

Honorary Master
Joined
Aug 7, 2003
Messages
71,858
You've mentioned that before - I can't help get the feeling that something went south with your coursework, or you just did things in the wrong order, or the requirements were lax, or you deliberately chose courses you already knew, or something. Where did you study, BTW?

To give you a feeling for what was typical when I studied:

When I did my BSc, only about one third of my courses were CS. We were required to take either maths/stats/applied-maths to the second year (I took both maths and applied maths to second year), and then we were required to have at least 1/4 of our third year being third year modules of a non-CS course we took up to second year. I did half my 3rd year CS, and half pure maths.

All the maths/stats/applied-maths was new to me. The maths courses were what opened up whole classes of computer science and job opportunities to me, not to mention that they opened up a whole new way of thinking about technical problems. Literally every CS graduate had either maths 2, stats 2 or applied maths 2, and typically had one to 3rd year (and if not, likely had physics, chemistry or psychology at third year). Were these not requirements where you studied?

On the CS side, as I mentioned, I was already a self-taught programmer, and had been programming in a mix of assembler, pascal, C, basic, and even some COBOL and Clipper for about 12 years when I got to university (mostly C/Pascal with inline assembler or calling assembler). I knew low level programming, and how to write high performance code and how to tweak the VGA hardware, write interrupt handlers, and build mod players, knew basic data structures and algorithms, like trees, linked lists, and quick-sort, could write a basic SQL query, etc.,

However, I had never done (remember, this was just 1/3rd of my BSc):
- Functional programming (LISP)
- Logic programming (Prolog)
- Mathematical programming (matlab, linear programming/optimization)
- Numerical methods (PDE integration algorithms, etc.)
- Computer architecture (covering multiple architectures at a high level through to cache details, and gate level implementation of simple CPUs, adders, multipliers, etc.)
- Formal relational algebra, ODBC
- Wrote a compiler and language parser
- Finite automata computational theory course
- Networking (from Fourier series for signal processing to TCP/IP details)
- Formal Object Orientation (small talk, C++, java, and a lot of comparative language analysis(
- Graphics (representing a generic camera model with matrices, through to learning and implementing clipping, rasterization, shading and lighting, texture filtering, etc. - I had done hacky versions of this stuff in high-school, but didn't fully understand it till this course)
- IRIS GL (OpenGL precursor - used it for a project)
- Advanced data structures and algorithm analysis (AVL-tree, RB-trees, B-trees/B+trees, heaps, splay-trees, sorting, amortized analysis, randomized algorithm analysis, graph algorithms, etc.)

Then in honours things went up a notch.

I started my B.Sc at Stellenbosch in 1987 while the country was still at war. I didn't go study because I wanted to go study, I went to avoid going to the army. I did computer science, physics, maths, applied maths and stats. I've never found it very useful in my career. Keep in mind I started my first software company in 1990 at the age of 21 so our paths are very different. If I understand it correctly you studied for a long time before starting your career and that you've always been an employee, have you ever started a company?

I'm not knocking tertiary education, but as a company founder that creates much of the products we sell I find a degree of limited use. It includes a range of products and disciplines since 1990, many of them very challenging. Tertiary education is hardly ever useful.

But I'm not expecting you to acknowledge that since you are heavily invested.

Considering some of your comments in other threads I would have to say I wouldn't like working with you. You come across as the know-it-all type with an air of superiority. You've also described other developers as doing "monkey" work compared to you.
 

[)roi(]

Executive Member
Joined
Apr 15, 2005
Messages
6,282
I started my B.Sc at Stellenbosch in 1987 while the country was still at war. I didn't go study because I wanted to go study, I went to avoid going to the army.
I was a year ahead of you; mistakingly went to war at the worst possible time. Yet had I gone and studied I'd probably have ended up with a result similar to yours (might even have bowed out sooner).

I did computer science, physics, maths, applied maths and stats. I've never found it very useful in my career.
That's always been something in retrospect that I've found disconcerting about the SA curriculum; elsewhere it's far more applicable / interesting.

As for the rest; any perceived "smarts" gap is significantly narrowed after 10+ years; the only exception is probably a very specific speciality.
 

DA-LION-619

Honorary Master
Joined
Aug 22, 2009
Messages
13,777

Genuinely interested in your story. How did starting and managing a business with no formal education in business or finance go? Do you have a business partner that takes care off that component of the business for you?
 

biometrics

Honorary Master
Joined
Aug 7, 2003
Messages
71,858
How did starting and managing a business with no formal education in business or finance go?

Not well in the 90's, much better in the 2000's.

Do you have a business partner that takes care off that component of the business for you?

I've always partnered with someone to run the business side of things. Pro tip: don't go into business with family. ;)
 

cguy

Executive Member
Joined
Jan 2, 2013
Messages
8,527
I started my B.Sc at Stellenbosch in 1987 while the country was still at war. I didn't go study because I wanted to go study, I went to avoid going to the army. I did computer science, physics, maths, applied maths and stats. I've never found it very useful in my career. Keep in mind I started my first software company in 1990 at the age of 21 so our paths are very different. If I understand it correctly you studied for a long time before starting your career and that you've always been an employee, have you ever started a company?

I started working when I was 23, which overlapped with my post-graduate work. I have never started a company, although I have worked closely with the founders of the companies I have worked at, during the earlier/pre-growth stages of most of them. They all had degrees ranging from 4-year degrees to PhDs, and benefited greatly from having them. I've never had the inclination to start my own company - the risk-benefit trade off hasn't really been worth it at any point during my career.

I'm not knocking tertiary education, but as a company founder that creates much of the products we sell I find a degree of limited use. It includes a range of products and disciplines since 1990, many of them very challenging. Tertiary education is hardly ever useful.

But I'm not expecting you to acknowledge that since you are heavily invested.

Well, at least you've graduated from "useless":
If you want to be a corporate worker then a degree is useful. If you work for yourself it is useless.

to "limited use" and "hardly ever useful". Also, the usage of "I" in "I find a degree..." is a nice touch too, as opposed to patently incorrect blanket statements.

Considering some of your comments in other threads I would have to say I wouldn't like working with you. You come across as the know-it-all type with an air of superiority.

Well, I am very good at what I do, and I have been wildly successful at it. I realize that acknowledging that offends your Janter sensibilities, pokes at your inferiority complex and causes that massive chip on your shoulder to itch like hell, but seriously dude, get over it. If you make nonsensical, and quite frankly, harmful, statements like "If you work for yourself it (a degree) is useless.", expect to get called out on it.

You've also described other developers as doing "monkey" work compared to you.

Interesting interpretation... Actually, what I said was that if the type of work being done is the type of work that a degree is entirely useless for, then that type of work is "monkey work". The fact that you personalized it, and think I was describing "other developers" at all, and that I made any comparison to myself at all (versus, say the 99% of dev work that is non-monkey work out there), speaks volumes. If I had to hazard a guess, the only person here who really, really thinks that you personally need a degree to be "whole", is you.
 

cguy

Executive Member
Joined
Jan 2, 2013
Messages
8,527
[)roi(];18686825 said:
Was this a SA or international varsity?
IMO (from tutoring) Wits, and UCT are quite similar in composition; standards have however have dropped significantly in the last decade.

As for mine; similar to biometrics did CS at school incl. computer / math olympiads. After school I did my compulsory 2 year stunt (needed a break), then jumped into the first couple of formal developer jobs & finally at 28, decided to pursue studies. Happen to be working for a European petrochem at the time, and was advised to rather study overseas as SA degrees weren't widely accepted; in the end I did a MEng at the University of Liverpool (4th year was a merger with MSC). Course composition certainly different to SA ones; majority courses were CS.

This was SA. I agree that there has been a lot of lowering of standards unfortunately.
 
Joined
Sep 1, 2016
Messages
2,196
Not well in the 90's, much better in the 2000's.



I've always partnered with someone to run the business side of things. Pro tip: don't go into business with family. ;)

+100
I can also add, don't go into business areas where established players behave like a mafia.
 

Oppiekoffie

Expert Member
Joined
Oct 25, 2016
Messages
1,468
A lot of the IT dev shops are just some X-worker from some company, and now start his own company. And use the connections. Now he has a business.
 
Top