7 ms·
> and if you are self-taught, I can guarantee you that you have massive holes in your knowledge Just curious, why is being self taught a guarantee for having m
by qorrect 6y ago
> and if you are self-taught, I can guarantee you that you have massive holes in your knowledge
Just curious, why is being self taught a guarantee for having massive holes ? Can you give some likely examples ?
- jgwil2 6y agoNot OP, but I think there are two main reasons for this. Firstly if you are a professional you probably only had time to teach yourself what you needed for the job at hand. This is a great skill in and of itself but by definition it favors practice over theory. Secondly, if you're self-taught that means you didn't have a mentor and likely you don't know what you don't know. It's impossible to study topics you've never heard of, or whose connection to your field you're unaware of.
- qorrect 6y agoAs a self taught person this lines up with my experiences and it depresses me that I 'missed out'. But I try to make up for it by continuing to learn, I'm just now really getting into Information Theory though and can't help but think how this intuitive understanding would have helped me twenty years ago.
- meritt 6y ago> It's impossible to study topics you've never heard of If only there was some way for people to communicate these linked topics in some sort of portable written format!
- qorrect 6y agoSteve ?
- selykg 6y agoI think that in general you CAN learn and skip those holes if you have someone to guide you that already knows the subject well. But as a person who may be really new to the subject of development and computer science I think it's obvious that without a lot of research and prep ahead of time you might start with a book or topic and keep moving forward, but you may not be exposed to all of the same things (some probably really useful, some are likely bullshit) that you'd get in a more structured learning environment.
- XCSme 6y agoBecause when you learn alone you don't know what to learn. You usually only learn what you need now. I would not say "massive holes", as that would somewhat imply that this knowledge would be actually required, even though it's usually the optional, nice-to-have knowledge that you are getting from an actual CS degree. You can still create whatever you imagine even if you are self-taught, but going through university would make it a lot more likely that you understand better the tools that you are using (algorithms, microprocessors, logic gates, electricity, quantum effects, etc.) so you will better know how to use them and what their limitations are.
- tonyarkles 6y agoI don’t know if it’s guaranteed, but here’s my perspective (as someone with 2 BScs and an MSc, who also self teaches a ton of stuff): My personal drive for self-teaching generally stems from either a specific problem I’m trying to solve on a project or a desire to dig deep into something “cool” I’ve come across. In the first case, I’m tugging on the strings that seem most likely to get me to the solution to the problem I’m trying to solve. There’s a bit of backtracking here and there as I choose dead end paths, but it’s usually a depth first traversal. I’m not trying to learn all of a field, I’m just looking at what I need to know to move past the hurdle I’ve encountered. In the second case, the goal is different but the process is pretty similar. When I’m learning for fun there is usually a bit more breadth, since I’m not trying to solve a specific problem in the immediate future, but I’m also probably not building a robust implementation of anything. I’ll usually end up with a decent surface level understanding of a topic; this is useful in that, if I encounter a related problem in my work, I’ve got at least the concept in my mental toolbox already and can do a deep dive more easily. Over time I’ve built up a pretty wide and deep understanding of a lot of things as I’ve built them, but I am also fully aware there a ton of gaps (and have a big topic list that I occasionally visit during a slow period).
- qorrect 6y agoYou had me at 'a depth first traversal'.
- conductr 6y agoWell said. I can relate to this as self taught. I don’t work in the SE field though so I feel no need to learn the silly whiteboard interview puzzles. It’s never been a hindrance to making my ideas come to life.
- tonyarkles 6y agoHeh, the closest I've come to "silly whiteboard interview puzzles" was back in undergrad competing in the ACM Programming Competition stuff. Our team made it to regionals a few times, but we never really took it all that seriously.
- AlexCoventry 6y agoEveryone has massive holes in their knowledge, but holes which formal education tries to address tend to stand out more.
- shuntress 6y agoMy best guesses for likely examples: - Pointers and understanding how operating systems address/access memory at a low level. - Hashing (This one may seem a little insulting but I have seen otherwise good developers confuse hashing with encrypting and it seems like an easy mistake to make if you haven't worked specifically with either concept) - Binary math, logic, and encoding. - The OSI model. - Parallel programming, the program counter, and how operating systems execute/switch programs. I would not count these as "massive" holes and it is also likely that these concepts would be discovered by a self-taught developer especially if she has looked for material from college-level CS courses. None of this stuff is necessary to make great software but having this knowledge can help make other things easier to learn or understand. It's like the difference between knowing how to use common git commands and understanding how trees of objects are used to form a chain of commits.
- rjldev 6y agoFor anyone not aware, Ben Eater on YouTube does a really good job explaining a lot of these topics