4 ms·
> Without a CS degree, you might not be able to explain Big O notation, but you might have great interpersonal skills. I don't like the deficiency in knowledge
by jstx1 5y ago
> Without a CS degree, you might not be able to explain Big O notation, but you might have great interpersonal skills.
I don't like the deficiency in knowledge and skills that this implies. As a self-taught person you can learn and know everything that's covered in a CS degree. It will take time and effort, and your experience will be different compared to someone who took the traditional route (I'm not even arguing for one or the other) but the idea that self-taught people don't know computer science is kind of a silly meme.
- IggleSniggle 5y agoExactly! And it’s also true that someone with a CS degree might not be able to explain Big O notation. CS degrees are a shorthand for a knowledge set that you really ought to know, since you were explicitly guided to acquire it, but can’t really guarantee knowledge or skills. Obviously, the inverse is also true.
- commandlinefan 5y agoAnd, conversely, it's entirely possible to get a CS degree but still have great interpersonal skills. I've done a CS degree. Trust me, they don't un-teach communication.
- ducharmdev 5y agoIt's possible, but I sure do wish it was more common. I went to school for English and switched to software dev via self-teaching, and the contrast is quite stark to me. I've had coworkers unable to write basic emails without someone helping them; or worse, they can't clearly explain their thought process on anything and are confused when you're unable to read their mind, verging on some kind of mind-blindness. Of course, not everyone is this bad. But by the nature of the work, chances to practice communication skills are few and far between.
- JBits 5y agoI would guesss that these coworkers probably had a deficit in their communication prior to university. Them taking a different degree wouldn't have changed it.
- hnfong 5y agoAny software developer worth their salt should be at least capable of explaining their thought processes to a computer. By analogy, they should be reasonably capable of explaining their thought processes to another human that understands computer languages (i.e. a fellow software dev). To me, anyone who doesn't pass that bar shouldn't be working on software at all. It's also curious that, on another thread about AI generated code, people are dismissing it because the AI "can't explain the code" or something.
- commandlinefan 5y agoSometimes I'm tempted to suggest that my communication skills are just fine, it's their comprehension skills that need some work...
- ducharmdev 5y agoWhen person A has been working on a technical problem for some time, they may have a greater awareness of the context than person B that's just heard about the problem. If A has the contextual knowledge but poor communication skills, they may forgo the high-level discussion that B needs to adequately understand the problem, or the system as a whole. B needing that high-level discussion doesn't mean B isn't a good developer, and A being narrowly focused on implementation details doesn't mean A isn't a good developer. But they both need to be able to meet each other in the middle to be most productive.
- lostcolony 5y agoThere's also a pretty large self-selection bias. So, sure, there's maybe missed opportunities to practice during a CS curriculum, but there still are plenty of them (remember, 2 years of 'core' classes, that have nothing to do with CS, not to mention opportunities to talk to the professor and TAs for questions, grade corrections, and just straight up brown nosing, and that's ignoring all the group projects you're likely to have, just for the fact those invariably turn into one or two people doing the actual work, and of course it's also ignoring any other social interaction opportunities you might have on a college campus, which they're kinda known for). You just have plenty of people who -want- to be heads down over a computer going into CS; you generally don't go into nursing or psychology or similar if you're not looking to work with people.
- JamesSwift 5y agoYes, as a non-degree owner myself, I always say its not about _not_ learning the material. Its about learning it in a different way. You absolutely still need to cover the material on your own.
- xxs 5y agoI was able to understand (and explain) big O in my early teens and I'd have never ever considered it anything special or hard. That's beyond hyperbole. As for time and effort - it's likely happening naturally, I can't think of I've put any designated efforts into the process. Heck, I'd go even further - (that one takes effort) but the 1st and the 3rd books of TAoCP are rather accessible (no necessarily all chapters, though)
- Mezzie 5y agoI think that those of us who put substantial effort into tech and tech-adjacent things before we were 18 are another group entirely. We cheated and put in the time before we realized this was supposed to be difficult. I also think that (depending on how old you were when you got started) those of us who started as kids got to take advantage of younger brains' neuroplasticity and that makes things seem easier. Big O and discrete systems, for example, both make perfect sense if you've internalized how computers work on a fundamental level. And usually what trips people up about understanding computers is how alien they are/how different they are from the natural world. If you're a child, then you haven't learned enough to think computers are 'weird' so that brain block doesn't exist.