I know this might be a "hot take" (or whatever the kids call it) but hear me out. I see a lot in the tech community about college vs. self-taught. This got me thinking. Reflecting on my own path it's not as straight forward as one or the other.
I have a degree in Business Information Systems. My degree gave me a broad range of skills and exposure to different areas of IT. In my final year I was able to focus on programming and took all the programming related modules. When I graduated I took a graduate Java Software Engineer role. That was in 2012.
I knew very little about the web even after my four year degree. I took one web development module in first year and after four years it was pretty outdated. At this role I became fascinated with the web. A colleague who shared my interest inspired me to try it out for myself. Once I got started I realised this was it for me. This was the path I wanted to follow. By day, I wrote Java code but I spent my spare time learning everything I could about web development. I created small projects, read books and watched videos.
Every year since then I've had to learn something new, D3.js, Angular.js, Angular 2, React and so on. And not only different libraries but also different concepts. MVC, MVVM, Components. Tech is always changing. The web is always changing. We have to keep learning to keep up with it. At times it can be overwhelming. It's also (at least for me) what keeps it interesting and one of the things I love about the web.
So at this point being self taught or having a degree doesn't matter. Yes having a degree helps you get in the door. It's not right but that's the way it is at most places. But things are changing. Companies are realising it's not about the paper it's about the practice. It's about the commitment you put into it.
Choosing college or not is a very personal decision. College offers a lot more than just the paper at the end. It's an experience and it's not for everyone. The main thing is to keep learning and keep building, get yourself a mentor, and put yourself out there. Because in the end we are all self taught developers.
I taught myself but could not have done it without the help of many others. Mentors and other colleagues and especially the amazing content available online.
Top comments (21)
There is not such a thing as “self-taught”. Even if you learn independently, on your own without going to college, you always have to lean on materials created by others. You need to read tutorials, watch videos or whatever online material that others created with the intention of teaching you. That’s how this community is kept alive. There are no self-taught developers
That's kind of why I put the asterisk at the bottom but I think self-taught in this context relates to self motivated/organised/driven. You are not driven by the need to pass a class but you drive yourself to do better.
Yes, to me that is what self-taught means.
You use other's content to learn but why are you looking for this content? What is the motivation to go through it and actually finish the video, blog post, tutorial, course, etc? Your parents are probably no longer telling you to "do your homework" that was assigned by a teacher at a school you go to on a regular basis. You most likely, want to improve and stay on top of best practices, whether it is for a job, money, or fun curiosity.
I'll take the opposite stance. There is no learning without teaching yourself. Tutorials, videos, books, and learning resources are information. Information by itself is worthless if not processed by you. Knowledge cannot be transferred from a teacher to a student, a teacher can only point to a path to learn, resources, and can share with the students the pitfalls and dead ends that they experienced. But learning only happens when you do the work and start to gain the experience for yourself.
Yes, I agree with you, and I share your opinion more than the one you were replying to.
On the other hand I would like to stress the importance of teachers: it's exactly as you said, teachers are just pointing you the way, but lots of times if you have to find it on your own it's quite inefficient and time-consuming, with a lot of trial-and-error involved.
A good teacher can prepare you a priceless path, pointing you to the correct learning material and the order you should familiarize with concepts. Than the learning job it's completely up to the student, but the final result it's obtained together.
A big part of development is continuous learning! There are many fields where a lot of rules and best practices are pretty much set in stone, or at least not evolving very quickly. Tech however, tends to move at lightning speed. Being able to keep up with evolving languages and frameworks is a must.
Higher education gives you a good base level. You made a very good point about having to tread water when starting a job and being tossed unfamiliar frameworks. While I'm sure there are some devs that can get away with just being really good at what they're good at (like the remaining COBOL pros), it's an edge case.
My view is currently that everyone is self-taught: but that they find the scenarios where they can 'create knowledge' differently.
Sometimes it's trial and error, repetition, a guide, a mentor, someone who pushes you to think, seeing how other people think, projects, situations you didn't expect.
The materials and teachers can be different. Sometimes the teacher is a mean person who downvoted your questions, or a friend at a meetup or a college professor - but that only YOU can learn. We as teachers (through whatever medium) can only provide the situation / the context / the opportunity and the support for YOU to learn.
I think what we can get from the college degree is the ability to work under pressure and learning new stuff quickly. we need to be ready for exams and also prep reports and do a graduation project and etc. working under pressure is hard to replicated in the self taught environment.
I agree with that. I am a self taught learner who want to develop my skills to understand web development :)
I'm at a new job that is transition out of Ext.js but still supporting it. I'm coming in with React experience, but it sure has been challenging for me to make that shift to that other (older) framework. Just wanted to post a comment since I haven't run into anyone else who has worked with Ext.js
Hey! Yeah I imagine going from React to Ext.js would be really challenging, they are so different! Best of luck with it!
To the guy that says that there is no-such thing as "self-thaught" as you always learn from others or the guy who says he is self-thaight despite going to college/doing courses - both arguments are as invalid, as they are contradictory to each other.
Try being 14-15 year old with no knowledge of English and no knowledge on anything basically who picks up on the language and programing mostly by yourself - hint - it takes YEARS to get to "hello world!" and it might happen so that you learn what is the "data types" in your programming language after you've already completed several projects, for example.
I am pretty sure it's not like that in college.. it's quite different even if someone just tips you on the right direction, let alone teach you.
And of course - we're all stepping on the knowledge of everyone before us, as we're born naked, helpless and knowing basically nothing.
The difference is in the number and size of the obstacales you had to go through alone and all the mistakes and wrong directions in the maze of knowledge. Picking up a second programing language cannot be compared with learning to program for the first time.. even grasping the concepts of variables, functions and loops is quite a big deal if you start from scratch. Basically every little bit of knowledge is a huge advantage, that's why school and university are actually pretty important (take it from a guy who only got to 12th grade).
I felt obliged to rant a bit, as I myself had little to no direction or help and basically zero hours of being taught programming (and English).
As much as everyone is entitled to their own opinion and self-confidece, that's something no one can take away from people who are truly self-taught
In our industry "self taught" refers to learning your first language through predominantly self study rather than class learning with a teacher/tutor.
I would go the other way and say that there are no self taught developers.
Very little of what I do on any given day - was influenced by my college education. Mostly it taught me perseverance
Same here! It taught me to stick to deadlines and also communication skills, group projects were the worst but they prepare you for working on a team.
Interesting article, but I think this is specially for sole developers in which the challenge is intensive to achieve the desire result with no mentors to boost the development progress, why? (you must wonder) because in the industry your boss or people around you do not care about your tools, progress, troubles, or the lack of knowledge from certain area that you have in that moment, the only thing that matters is that it is working at 100% (that is, with validations, security and the whole IT department work in it); at this point I think you might understand what I mean. I'm glad that you have learn firstly by yourself and then with help but in real scenario to aim to success software it is better with IT department. So, in my experience from friends, family and own job not every developer is "self-taught" as you said because in IT department already exists rules, code-templates (for good practices), approaches to fix common problems, etc.
Also I agree with you about the degree, it only helps to get to the recruiters (or " get in the door" as you said); again I'm so glad about your motivation to learn by your self but the conclusion above explains well.