6 ms·
A lot of self taught programmers have gaps in knowledge especially when it comes to synchronization, how threading works, basic data structure and operation com
by mav3rick 7y ago
A lot of self taught programmers have gaps in knowledge especially when it comes to synchronization, how threading works, basic data structure and operation complexity on them. Whenever it's required they say "it's not required for web development". Of course I don't say this for all but many of them have this problem. Bootcamps don't help.
- Ancalagon 7y agoI have a degree, but this is such an over-generalized comment. Many degree-owners have those same gaps you talked about, and some self-taught devs do not. I can't comment on Bootcamps, mainly because there seems to be a huge range in quality of graduates from those.
- mav3rick 7y agoThe point is probability. The probability of someone having these gaps from a top 50 school is way lower than one without a degree.
- potta_coffee 7y agoI'd like to see the statistics that demonstrate the probability you claim.
- mav3rick 7y agoCan you also prove self learners are proficient in the same numbers as CS grads ?
- potta_coffee 7y agoI can't, but I didn't make the claim, you did.
- ben509 7y agoWhat do you need the statistics for? The people doing a degree studied the material under the guidance of an expert and had to demonstrate their mastery of the subject. Self-learners aren't doing that.
- mav3rick 7y agoGreat rebuttal.
- uwuhn 7y agoWhy didn't your original comment contain the 'top 50' addendum?
- LorenPechtel 7y agoI'm in between--I went to the university but no degree because allergies chased me off campus. As I'm older the only thing on this list that was covered was basic data structures. Complexity of algorithms was barely touched, not in any way related to data structures.
- lostgame 7y agoTo counter - I have met all too many folks some with a CS degree that don’t understand these concepts, either. I hear about them every day because I sit next to the HR manager, and hear the horror stories of the blank faces when basic concepts were asked. The phrase ‘how did they even make it through a CS program?’ is common. Fortunately, I have a ton of experience with threading and data structures, I wouldn’t personally make such generalizations - I knew this would be among the first responses I got from someone with a degree. No, our lack of degree doesn’t imply we lack fundamental concepts - any more than a degree assures you do - and, I don’t know about you, but most of the full-time employers I’ve had would happily pay for a coding boot camp for me on a topic of my choice. shrugs
- mav3rick 7y agoYou maybe an outlier. I clearly said some are great. "Our" - you don't represent all self learners.
- ThrowawayR2 7y ago> I hear about them every day because I sit next to the HR manager, and hear the horror stories of the blank faces when basic concepts were asked. The phrase ‘how did they even make it through a CS program?’ is common. That's true but entirely beside the point. Being given the opportunity to learn CS concepts and failing to do so is separate from never having been exposed to the concepts in the first place. They don't even know what they don't know. > No, our lack of degree doesn’t imply we lack fundamental concepts It doesn't guarantee that they lack fundamental concepts but I would say better than 95% of the time, they do.
- rmilejczz 7y agoWhen as the last time understanding how threading works helped you in your day to day job? I ask earnestly as a professional self taught developer who doesn’t know how threading works and has never needed to
- lostgame 7y agoI’m guessing you don’t do a lot of work in games or media. o.o Geez, how about even a network call that doesn’t interrupt a UI thread?
- uwuhn 7y agoGCD and Operation Queues :)
- deleted 7y ago[deleted]
- mav3rick 7y agoAny one working on any sort of back end infra needs to know this. Ask yourself how a simple webserver can process multiple incoming requests efficiently ? Or an app wants to do a network call without blocking it's UI from being updated.
- rmilejczz 7y agoSo what does it mean to “know how threads work”? Do I really need a CS degree to use Go routines or redux sagas? Tbh I wonder constantly if I should get a CS degree. I’ve been working for 4.5 years now and while I feel competent it’s hard to determine the value of things like this. I can profile my code and optimize it, I can determine if a request is blocking and I can fix it using whatever tools are provided in the language or it’s ecosystem so what good does it do me to “know how threads work”? Hope I’m not coming across as combative, I really genuine want to better understand this perspective of “developers should have CS degrees”
- 7y ago
- mywittyname 7y ago...and math. It's easy to learn those topics independently with self-study. But learning linear algebra or stats on your own is much more difficult. People might claim that this isn't useful for most programmers, but it is absolutely is for a growing subset of them.
- potta_coffee 7y agoSo what? A lot of college educated developers suck too. I know, because I've worked with them.
- dboreham 7y agoI have a degree and I know a great deal about those things. But I learned none of it in my degree. otoh the mathematics I learned in college is highly useful to me every day. ymmv.
- winrid 7y agoYou can pick that up pretty easily and most do when they start interviewing for BigCorp jobs. Feel like I had to comment since I'm self taught and I just read "Java Concurrency in Practice". :D
- non-entity 7y agoI'm finding it increasingly difficult to fill those gaps. The process typically goes like this. 1. Realise I need to learn x, out of interest, necessity, etc. 2. Start reading a book on x, the book assumes I have an understanding on y and z as well, which I don't, so I realize I should learn those first. 3. Buy a book on y or z 4. Repeat step 2, but for whatever I just started reading on.