markdown guide
 

I am a self-taught programmer. I enrolled into computer science to get my MSc (at the normal age). During my education I continued to learn stuff which wasn't taught at the university. After I finished I continued to do so, and I'm still learning by myself.

One thing I observed, especially in the first few years at the university is how little people were interested in the craft. Some enrolled simply because there were big bucks to be made (or so they thought). This was in 1999 when business was booming with Y2K.

The best thing about computer science, software development, programming, ... is that you can do it easily at home without the authorities getting making an issue out of it.

To me a formal education does not mean a lot. Certifications and bootcamps are pretty much worthless.

The thing that is worth a lot is how invested people are in the field. People who are self-taught, and continue to do so, are invested. Nobody is forcing them.

 

Self taught here, people told me nobody would give me a job without a degree so I enrolled in college and to me the classes were a joke because I already had learned a lot on my own.

As you said people invest in their crafts in all fields, some more than others that's what makes a great software developer.

Not knocking on CS graduates, if I could go back and do it again I'd go to college instead of the Navy but of course I wouldn't have the knowledge of today lol.

To add I really don't think most college students know what they want to do at that age and that's the reason why they are not invested, at least most anyways.

 

I'm finding similar while studying in a bootcamp. While I'm patching a few gaps in my knowledge due to being self taught, the course content is incredibly slow and very basic. I find the questions I ask seem to annoy the other students due to them being very technical.

Foot in the door though? Check. Have a job lined up for when the course finishes - certainly something that wouldn't have come around if not for the formal education.

 

people told me nobody would give me a job without a degree

This is the main reason to get a degree, to get a foot in the door when you apply for a job. HR would simply filter you from the stack of resumes, even if you were an expert in the field.

The other thing you (should) learn from a degree is problem solving skills but also some academic principles. These are difficult to pick up when self-taught, as you would probably skip the materials which discuss these. I say "should" as these subjects do not always get the attention they need, especially not in the non-academic programs.

For me it was a different experience. I already had problem solving skills when learning programming. I also had technical training from the Navy that paid good money. So there wasn't much motivation to force me to get a degree.

I learned programming out of pure fun for years, and my current employer took a look at my github and other interesting things I've programmed without anyone asking me. And now been offered a job as Software QA. Surely it would have been easier with a degree, and I understand that. I still want to get my degree since I still have veteran benefits hopefully with this stable schedule I now can.

 

There were a few principles that warped my mind. Writings of Edsgar dijkstra are transformative.

 

During my education I continued to learn stuff which wasn't taught at the university.

You are not alone in this one.

 

Interesting question, and not one I can answer - I'm self-taught myself :D In-fact, I'm pretty much wholly self-taught, as I never went to school and was home taught (Generally from books, videos and instruction media on the computer).

I've been in the industry for 20 years now, and have never had a lack of knowledge brought up at any point - in fact, most of the time people will comment that I pick things up quickly, or likely know what is going on.

I don't believe that any good developer is truly anything but self-taught. The industry changes continually, and we have to keep up with it. Without constant learning, we're going to fall behind (One blogger I used to read called this the 'steamroller of technology', an expression I hope to keep alive). Still, I'm going to be following this discussion with interest, as I'd like to see others points of view on this matter :)

 

Do you think the fact you where home schooled helped develop your self learning skills? Totally agree with your third paragraph. Like you, I've been learning through work for the last two decades - and if that taught me anything it's the fact that in this industry you simply can't stop learning.

 

I definitely do, though I think that is something that anyone (No matter how they have been taught) should have... I was taught from a young age to read, to enjoy reading and to speed-read, which has helped my comprehension no end.

 

Several years ago I had a self-taught colleague who changed careers in his 40s from a very successful and highly skilled horn player in an orchestra to web developer. This came about after an injury to his hand meant he could no longer play very well.

Fortunately for some years before the injury he had self-taught himself PHP, DB and web development in order to create a system to help schedule orchestra members for gigs.

My impression of him was high, and I greatly admired his courage for making such a drastic change in his life. He came to us with some good skills a hunger to learn.

Of his strengths the one I remember the most was a level of maturity and thoroughness in the code developed. This is in contrast to the full-speed quickly hack something together to finish it as soon possible mentality I have seen a few times now in younger junior devs fresh out of uni.

Areas for improvement were mostly around code style, using GIT or other source control, other team processes and practices. There were no-doubt some areas of PHP and DB development that benefited from having peer reviews. Nothing too different than other junior developers in the team.

As for his confidence, he seemed fine (though I can imagine their must have been times of doubt and imposter syndrome). He was determined to make the best of his career switch, was positive, did some fantastic work for us.

Last I heard he is still going strong in the IT industry working for the company that took a chance and hired him as a junior developer.

 

I have a quite “conventional” career path (graduation from a well-known school, then working in a big company, etc) but had chances to work with people from diverse backgrounds. One common thing I notice about self-taught developers is they are very modest and able to appreciate any new knowledge, be it new framework, new language or just a new IDE trick. Contrast that with some of my classmates who sometimes are too proud of themselves and underestimate the importance of hardworking and some seemingly manual technics.

However too much modesty can sometimes lead to being not confident enough that unfortunately is important when working in a big company.

 

I am self-taught, though I did study software engineering at university, 25 years ago. I soon found out, when I finished university and entered the world of work, that everything I had been taught was about 15 years out of date. You don't really have a choice but to continue your learning yourself.

In the years that I have worked, I have found getting courses through work, to help with my job has been a right royal pain in the ass, it is easier for me to buy my own books, online courses and do my own research.

I have also worked with developers that have come straight from university, and have certificates coming out of their ears, but actually know nothing.

I have recently go back into coding after a few years in the doldrums, and I was surprised at how much has changed in the time I was not actively coding.

 

I don't think it is a one size fits all thing. Some people are special, and are amazing self taught or not. While others can be horrible. It seems to me that school mostly teaches the fundamentals and not "how to do your job as a software engineer". Ultimately the people who are motivated to continuously learn and pick up new things will excel more than those who are not motivated.

 

Personally I think that teaching yourself is a skill that cannot be teached in school.
No matter what kind of a programming background you have, you're never finished learning.

I am self taught and am still teaching myself new stuff all the time. The latter is what really matters. If you cannot keep teaching yourself you will fall behind. This implies for self taught programmers as much as programmers with a formal educational background.

 

What would you describe as self-taught and what would you describe as taught?

If you watch a video course is that being self-taught or tutored? Do you have to be learning things in real time with another person for it to count as "being taught"?

Have most of us had something explained to us by someone else, I'm guessing yes. Have we looked at blogs and YouTube videos? Yes. Do we have to Google things and look at stack overflow? Yes. Do we try things, get them wrong, then try again and get them right? Yes. This is teaching yourself this is learning.

I'm not sure any developer could identify as non self-taught in some way.

 

I think generally self-taught refers to people who didn’t go to college/university to obtain their skills. Ultimately whether your self-taught or not, you are learning from someone whether it’s the creator of the product or someone teaching it.

I think the main difference between being “taught” or self-taught comes down to ambition, the ability to seek out the resources to learn the thing you want rather than just doing waiting for it to be given, having the patience to struggle through it when things get hard because you’re the only one on that particular path, and probably most importantly the ability to come up with a self-guided “curriculum” or path your learning will take.

That’s not to bash on people who are “taught”. There’s absolutely nothing wrong with it. Ive been pretty much self taught and now I’m in school for my bachelors degree in software development, so I have experience with both. It’s really just a matter of whether you want someone to guide you or if you want to guide yourself.

 

I've only worked with two self-taught devs, so take it for what it is, but my experience has been very negative. In short, strong Dunning-Kruger effect.
Both were very well capable of setting up a cookie-cutter system using whatever framework just fine, better than I can, but didn't really understand any of the fundamentals. The world would just have to adapt to them and the way they use their tools.
More problematic though, was the way in which they felt they had to put anything remotely academic or theoretical down, including me, in a misguided attempt at self-validation and ego-boosting. This kept them from improving.

Then again I've met a fair few dipshits with degrees too.

 

I have had a few self-taught engineers on my teams through out the past and I have found each of them to be very passionate in what they do. Anyone that has the ambition to teach themselves any level of programing has a thirst for knowledge for tech. imho. The only downside that I have ever seen is one particular self-taught engineer I worked with was always excited to use the latest greatest technologies before they were proven. This has left some tech debt for the team that we have to deal with at some point. Otherwise the engineer was very smart and knew what he was talking about.

I have no problem working with anyone that is self-taught and is good enough at it to work for the company. Let's face it, we wouldn't hire anyone that wasn't good at what they do.

 

As someone who taught themselves to program in 1997, I want to say, I don't like the term auto-didact. Not when it comes to writing code. This is like being a self taught English speaker. It is taught, no matter what anyone tells you. Motivation, inspiration, passion, can all be instilled by people who are also inspired and passionate. As long as there is constant flow of knowledge and other people's code for reading, there shouldn't be any difference between someone self taught and someone formally educated.

 

All my coworkers are self-taught. You can't rely on common education to get to a level that matters.

Classic DEV Post from Jun 1

Demystifying Open Source Contributions

Nicole Archambault profile image
self-taught FE dev && career change coach && online course creator && freeCodeCamp Top Contributor 2018 && Treehouse Success Story && community organizer && conference speaker

dev.to has dark mode.

Go to the "misc" section of your settings and select night theme ❤️