self taught programmer vs qualified programmer.

I've been in this game for almost 25 years now. I have a BSc in CS, but generally I've found that qualifications matter little. It sometimes helps to get a foot in the door.

One of the most useless clowns I've ever worked with is now busy with his PhD and is a lecturer at some university, and some of the best devs I've worked with are self taught.

Most are somewhere in the middle, good and bad on both sides.
While I’m not disputing your experiences, that says more about the type of work you do than anything else.
 
I've worked with self taught developers and developers who spent years studying, some even with a Masters behind their name and there is no correlation between how they attained your skills and the quality of work they deliver.

Some people put effort into their work and some don't give a ****.

If you are unlucky to sit between a larger than average group of crappy developers - regardless of their background - then the company you work for's hiring process has flaws (desperate for any resources, lack of senior resources who know how to interview somebody etc.).
The fact that you’re in a situation where several self taught and masters degree holders are working together on comparable projects implies a pretty heavy selection bias.
 
The fact that you’re in a situation where several self taught and masters degree holders are working together on comparable projects implies a pretty heavy selection bias.

B43E36BE-0006-4349-BAAE-D521047EF7CD.jpeg

Selection bias as in me being biased towards the average developer job out there since I'm not clever enough to work with the elite 1% like you on sciency and quants things with the maths?

Is this you calling me a dumbass? I dunno if you are calling me a dumbass or not right now...
 
Last edited:
View attachment 1387382

A bias as in opting for any work that is a good mix between moderately interesting so that I'm not bored for eight hours until I clock off and can go enjoy my life away from work?
No, a bias as in you work with a selection of masters grads working in a capacity that doesn’t require a masters degree. This usually means that they are likely sampled from the lower performing percentiles of masters degree holders, hence the sampling bias.
 
No, a bias as in you work with a selection of masters grads working in a capacity that doesn’t require a masters degree. This usually means that they are likely sampled from the lower performing percentiles of masters degree holders, hence the sampling bias.

Bias implies one has options so the bias is on your end of the spectrum (the "high performing percentile").
 
Bias implies one has options so the bias is on your end of the spectrum (the "high performing percentile").
No, that’s not what it is at all.


If you mean, that if I looked at the masters degree holders that I worked with, that would be biased, that would be true too. I’m not using them to make statements about no correlation between their qualifications and performance though. Rather, if I look at the type of jobs that require the knowledge from that level of education, I can however draw a correlation between qualification and leverage (and therefore WLB, interest and salary).
 
Last edited:
I have completed programming course at university. Most will laugh at me when I say I have completed C++

I do not regard myself as a Programmer. I do not Code.

Now I know 2 guys In Pretoria. Both Highly educated with Bachelors degrees in computer science. They can't even do string manipulation. They are completely unable to modify an user entered string. They allow users to generate database field identifiers and everyone complains when users crash the database because they entered an invalid alphanumerical.

I am not a programmer. I barely touch a keyboard. but Hot danngit. Some guys should rather go sweep streets than advertise their Qualifications and skills.
 
I have completed programming course at university. Most will laugh at me when I say I have completed C++

I do not regard myself as a Programmer. I do not Code.

Now I know 2 guys In Pretoria. Both Highly educated with Bachelors degrees in computer science. They can't even do string manipulation. They are completely unable to modify an user entered string. They allow users to generate database field identifiers and everyone complains when users crash the database because they entered an invalid alphanumerical.

I am not a programmer. I barely touch a keyboard. but Hot danngit. Some guys should rather go sweep streets than advertise their Qualifications and skills.
To be frank, if this place you’re talking about is hiring people who can’t modify strings, assigns both of them to that task, and then exposes them to users in a way that crashes the database, there’s something far more fundamentally wrong than just 2 bozos.
 
Last edited:
While I’m not disputing your experiences, that says more about the type of work you do than anything else.
That's probably true.

If you are at the cutting edge of some research field, then degrees matter. If you write run of the mill enterprise systems, probably not so much.
 
Right, I get what you're saying, I disagree though in the context of what I said.
You mean that “bias implies one has options”? I don’t understand what you mean here.
 
If I were ever doing a technical interview, I would just go and fish out a mid level problem from advent of code.

--- Day 6: Lanternfish ---​

The sea floor is getting steeper. Maybe the sleigh keys got carried this way?

A massive school of glowing lanternfish swims past. They must spawn quickly to reach such large numbers - maybe exponentially quickly? You should model their growth rate to be sure.

Although you know nothing about this specific species of lanternfish, you make some guesses about their attributes. Surely, each lanternfish creates a new lanternfish once every 7 days.

However, this process isn't necessarily synchronized between every lanternfish - one lanternfish might have 2 days left until it creates another lanternfish, while another might have 4. So, you can model each fish as a single number that represents the number of days until it creates a new lanternfish.

Furthermore, you reason, a new lanternfish would surely need slightly longer before it's capable of producing more lanternfish: two more days for its first cycle.

So, suppose you have a lanternfish with an internal timer value of 3:

  • After one day, its internal timer would become 2.
  • After another day, its internal timer would become 1.
  • After another day, its internal timer would become 0.
  • After another day, its internal timer would reset to 6, and it would create a new lanternfish with an internal timer of 8.
  • After another day, the first lanternfish would have an internal timer of 5, and the second lanternfish would have an internal timer of 7.
A lanternfish that creates a new fish resets its timer to 6, not 7 (because 0 is included as a valid timer value). The new lanternfish starts with an internal timer of 8 and does not start counting down until the next day.

Realizing what you're trying to do, the submarine automatically produces a list of the ages of several hundred nearby lanternfish (your puzzle input). For example, suppose you were given the following list:

3,4,3,1,2
This list means that the first fish has an internal timer of 3, the second fish has an internal timer of 4, and so on until the fifth fish, which has an internal timer of 2. Simulating these fish over several days would proceed as follows:
Code:
Initial state: 3,4,3,1,2
After  1 day:  2,3,2,0,1
After  2 days: 1,2,1,6,0,8
After  3 days: 0,1,0,5,6,7,8
After  4 days: 6,0,6,4,5,6,7,8,8
After  5 days: 5,6,5,3,4,5,6,7,7,8
After  6 days: 4,5,4,2,3,4,5,6,6,7
After  7 days: 3,4,3,1,2,3,4,5,5,6
After  8 days: 2,3,2,0,1,2,3,4,4,5
After  9 days: 1,2,1,6,0,1,2,3,3,4,8
After 10 days: 0,1,0,5,6,0,1,2,2,3,7,8
After 11 days: 6,0,6,4,5,6,0,1,1,2,6,7,8,8,8
After 12 days: 5,6,5,3,4,5,6,0,0,1,5,6,7,7,7,8,8
After 13 days: 4,5,4,2,3,4,5,6,6,0,4,5,6,6,6,7,7,8,8
After 14 days: 3,4,3,1,2,3,4,5,5,6,3,4,5,5,5,6,6,7,7,8
After 15 days: 2,3,2,0,1,2,3,4,4,5,2,3,4,4,4,5,5,6,6,7
After 16 days: 1,2,1,6,0,1,2,3,3,4,1,2,3,3,3,4,4,5,5,6,8
After 17 days: 0,1,0,5,6,0,1,2,2,3,0,1,2,2,2,3,3,4,4,5,7,8
After 18 days: 6,0,6,4,5,6,0,1,1,2,6,0,1,1,1,2,2,3,3,4,6,7,8,8,8,8

Each day, a 0 becomes a 6 and adds a new 8 to the end of the list, while each other number decreases by 1 if it was present at the start of the day.

In this example, after 18 days, there are a total of 26 fish. After 80 days, there would be a total of 5934.

Find a way to simulate lanternfish. How many lanternfish would there be after 80 days?

Part 2 of the questIon:

Suppose the lanternfish live forever and have unlimited food and space. Would they take over the entire ocean?

After 256 days in the example above, there would be a total of 26984457539 lanternfish!

How many lanternfish would there be after 256 days?

https://adventofcode.com/2021/day/6
 
Some the best developers I have worked with are self taught highly motivated individuals. One had matric only, other a qualified architect and the other a degree in geology.

They seem to have a surprising knack to solve problems from a different perspective to the "classically trained" dev. For that alone it makes sense to have at least one self taught on your team. As development is rarely done in isolation, make sense for the team to have various strengths and play to those.
 
IMO it's honestly mostly about being able to solve the problem in front of you. There are fields (referred to by @notayoba above) that require highly analytical thinking, knowledge of algorithms, and how to roll your own, but they're vastly outnumbered by the more generic coders that tend to work on a small part of a very large machine.

One of the more important things you can learn is the ability not to freeze and fail if Google doesn't give you the answer. I guess, thinking about it, I've known some highly valuable degreed coders and some really incompetent self-taught folks as well, so the spectrum is real.

Though, the one person I have worked with that I eventually gave up on has a Masters in Computer Science so :shrug:
 
My Bsc CS degree got me a job. But almost everything I now know and do is self taught, or rather learnt on the job. I reckon a good company would be more interested in your skills and abilities than pieces of paper.
 
** Sensitive Topic for some **
This is going to be a wall of text but because I am putting this in the software-development section I know it is not going to be a problem. As programmers we are use to lengthy e-mails by now and our speed reading is second to virtually none.

I have been working hard to move away from Networking solutions and hardware support into the software development field. Right now I am good with Java, Python and overall app development. In short I am not crashing my pc or phone anymore. But I am told if I don't crash them at least once I am not doing it right.

Point is, is there a future for self-taught programmers in South Africa? The answer is yes in most of the US and UK not to mention most of the world. But I have run into situations where potential customers wanted certifications or I have to cut my asking price on network installations.

Now I tend not to look at private work because everyone and their dog wants the next "game or Facebook" and their "idea" is worth more then the time and effort it would take to actually do it. Not to mention infrastructure cost. Point is I am very selective at what clients I take on.

My first work came in a month ago and it was for a bot. Naturally Python was a good fit for this very rudimentary and simple application. My customer was seriously happy because in his words "It does everything I want it to do" Now an NDA "standard for this industry" or so I have learned was signed so I cannot really go into details but again my customer was happy. Happy enough that I got paid my first serious amount of money.

NDAs can become a problem and have learned this, this past week but I digress.

Now in this particular situation my customer didn't care about qualifications but I doubt this trend will continue. So I am looking at everyone that does this professionally. How many of you had to produce qualifications?

This is a serious question because I am looking to maybe get qualified end next year. Do employers, customers accept online certification or must it be university grade qualifications?

As always thank you for reading.

Take care.
Byte Orbit will hire self-taught programmers if they can prove themselves. I was almost worthy.
 
My experience, if you're just writing line of business apps at your local body shop/corporate, degree vs no degree has very little impact. If you're solving science problems through programming, a degree makes a massive difference. I've never met a self taught programmer who can tell me what an eigenvalue is, never mind write algorithms to compute them, as an example

Before the, "just import a library" opinion shows up, you still need to know, in this example, what an eigenvalue represents and it's use in your problem space. This goes for many other math problems solved in the context of CS.

Lol. I googled this now with the fantasy that I could prove even a non-coder could understand it, and I don't know what the feck I just read.

I can't even decipher the sentences they use to describe it. :D

In linear algebra, an eigenvector or characteristic vector of a linear transformation is a nonzero vector that changes at most by a scalar factor when that linear transformation is applied to it. The corresponding eigenvalue, often denoted by \lambda, is the factor by which the eigenvector is scaled.

Hay?

You must have a 200IQ my dude :) This may as well be zulu to me.
 
Last edited:
Top
Sign up to the MyBroadband newsletter
X