5 ms·
I’m a drop out too and have made my way to manager where I find myself training juniors many of which also do not have degrees. Unfortunately it is night and da
by ben_jones 7y ago
I’m a drop out too and have made my way to manager where I find myself training juniors many of which also do not have degrees. Unfortunately it is night and day between the ones who do have degrees and those that don’t. At this point I am now strongly recommending cs degrees to anyone seeking a career in programming because the theories do come up in any serious work, particularly full stack engineers who must have strong understandings of databases, type theory, statistical analysis, etc.
I would LOVE to create a large curriculum in house that aims to teach non degree holding individuals these skill sets because it would have tremendous return on investment. Be we are a small company (<100) with limited resources that can not afford to have a six month on boarding process to Do it properly (and I am not a professor).
It is an unrealistic burden to any small or medium org to do what is required by your comment.
- goosehonk 7y agoAs a person without a CS education but with 30 years of industry experience, including several of The Bigs, I urge young people to get an education in anything but CS. The number of CS degree holders, even the masters and doctors, who struggle with statistics, linear algebra, or even thermodynamics and basic accounting is pretty dispiriting. Get an education and learn to program computers. Two separate things in my humble opinion.
- Leherenn 7y agoDo you think other degrees, outside of maths or physics maybe, makes you better at the things you listed? It seems unlikely to me, and the fact people struggle with this is more representative of the general population than of the degree itself I would say. It might depend on how the degree is taught I guess, mine had very little actual programming.
- goosehonk 7y agoI'll never have personal first-hand experience with another kind of degree program, but my engineering program taught thermodynamics, accounting, technical writing, and ethics. I am looking right now at the Stanford CS undergraduate catalog and there are no requirements for technical writing, ethics, etc in here at all. Even the senior year writing requirement can be satisfied by working for Facebook for six months, which is disturbing and, frankly, explains a lot about why these kids can't write.
- filoleg 7y agoYour comment seemed really strange to me, because I remember that even back at Georgia Tech, we had both technical writing and ethics requirement for anyone in the CS program, so I decided to doublecheck the facts you listed about the Stanford CS program. Where did you get your info from? Because I just checked the Stanford CS curriculum requirements for Bachelors degree, and it clearly has "Computers, Ethics, and Public Policy" requirement, along with a senior project requirement (that would, I assume, includes writing), as well as 3-5 credit units from the list of approved "Technology in Society" courses.[0] 0. https://exploredegrees.stanford.edu/schoolofengineering/computerscience/#bachelortext https://exploredegrees.stanford.edu/schoolofengineering/comp...
- goosehonk 7y agoThe senior project is the one I mentioned that can be fulfilled by CS210, working at “our industry partners” in lieu of actual university coursework. The “tech & society” catalog is a joke. Look at the courses. Archeology? Fine as an elective. My engineering program required an upper-division course from the philosophy department on the development of rigorously ethical systems of thought.
- Nasrudith 7y agoThat assumes that those mediocore "fizzbuzz test failers" tiers would do better in the domain with another degree. The problem may be in their capabilities predegree.
- goosehonk 7y agoI don’t think I’m assuming that. They’ll just be a more rounded person.
- geebee 7y agoI'm stunned to hear that. Well, not the part about basic accounting, or maybe thermodynamics, that I believe. But stats and linear algebra? I've worked at or attended several UC schools, and they all require calculus through linear algebra, vector calc, basic differential equations, and probability theory as part of the CS major. I myself was a math major and a grad student in Industrial Engineering, but we were all in the same core math sequence together. Sometimes you go ahead and walk the fine line of the no true scotsman argument - a degree without this basic math isn't CS. And any "reputable" CS degree - and by "reputable" I don't mean top 10 or even top 50, I just mean a fine university with a proper curriculum - will absolutely have this requirement.
- vonseel 7y ago> theories do come up in any serious work Depends on what you classify as serious work, I guess? From years of reading similar comments and my own experience, I was under the impression most “software developer” jobs only lightly touch on anything complex - most of us aren’t designing databases and complex low-level stuff day-to-day, but we do need to know enough to not do something terribly inefficient and stupid in basic plumbing code. I think what you really need are smart people, and people who are willing to put in the work to get past the first few years of stumbling and not knowing what anything means. Likewise, young developers need good mentors and patient senior developers to lean on and who they can pick this stuff up from. Not sure what your company is doing, but if what you say is true, maybe you are one of the rarer groups actually doing the hard stuff.
- filoleg 7y ago>I think what you really need are smart people, and people who are willing to put in the work to get past the first few years of stumbling and not knowing what anything means. I totally agree with you, but that doesn't solve the issue, there are not that many of those people out there struggling to get jobs, because employers already know about this trick. That's why a bunch of quant and other top-tier finance shops are full of math and physics grads who had almost zero knowledge of finance before getting hired for those jobs.
- libraryofbabel 7y agoI'm currently teaching a class on databases to 10 junior engineers at a medium size org (~130 engineers). It's a huge amount of work but wonderfully fun and rewarding. The class is an even mix of CS grads and engineers from nontraditional backgrounds (mostly bootcamps). I myself trained in applied math and am a self-taught engineer who had a few good mentors along the way. Having a CS degree perhaps helps a little for general background, but not every CS major has taken a db class and even then, they won't have learned many useful practical skills, like analyzing and fixing a slow production query. And conversely the folks who have been through bootcamps (that we have hired!) are all very self-directed and highly motivated to learn. So I'm not sure that the difference is quite as clear cut as you make it out to be. I do completely agree with you that this is important, and that it's very hard to get companies to devote resources to it. Taking 6-8 hours a week out of a senior engineer's time to prepare and teach an effective class is a big ask; I had a lot of support from management to do this but I think that might be a rare luxury at other companies. It's just sad that the tech industry doesn't invest more in high-quality structured teaching, when it could so clearly deliver benefits in terms of growing skills for engineers from both CS and non CS backgrounds. Assuming that they'll somehow learn everything they need without structure or direction might work in a few cases, but in general it's a poor long term strategy for both companies and the industry as a whole.
- int_19h 7y agoIn my experience as somebody without a degree and employed for >15 years now, you don't need a degree to get enough understanding of type theory and statistics, even for things at senior level. It will obviously depend on the specific project, but self-learning is very much a viable option in this industry. Conversely, I've seen many candidates with a CS degree who couldn't handle trivial coding challenges (and I mean trivial, not puzzles).
- hackinthebochs 7y agoYes, but the issue is how likely is an arbitrary person interested in being a programmer but lacking a degree going to be able to self-teach the vast amounts of information needed to be productive as a modern developer? I wager it is very unlikely. Those who do follow the self-taught route are 1) unusually smart and/or self-motivated or 2) got into the field when there were fewer moving parts and so self-teaching had a much smaller learning curve, then they simply matured with the field. After all the field circa 2000 looks vastly different than it does circa 2019. The value of a degree is less the information it teaches, and more as a filter for people who are unusually smart and/or self-motivated. Those people coming with the requisite CS theory is merely a bonus.
- int_19h 7y agoThat's what the interviews are for, no? The point of the article is that if you are using degrees as a filter, you're passing on a lot of otherwise qualified candidates.
- hackinthebochs 7y agoI agree, but I don't think there is a substantial number of software shops that use relevant degrees as a hard filter, nor is there a significant number of non-degree holders bursting with realized CS talent that the field is somehow blind to. I took the intended sentiment to be that of finding talent among non-degree holders that won't necessarily present itself in a typical CS interview scenario. Thus we need a way to identify future CS talent that is merely in need of training and mentoring. And so the problem reduces to, in my opinion, to finding people who are smart and unusually self-motivated. But there is just no good way of doing this.
- enraged_camel 7y ago>>> theories do come up in any serious work Counterpoint: the overwhelming majority of software companies out there do not work on problems and develop products that warrant deep computer science expertise. I mean, if you're doing cutting edge and/or highly technical stuff, great, go nuts, recruit only those with CS degrees. But most software out there is your run-of-the-mill line of business software, mostly CRUD with a bit of specialized functionality. And the bar for working on that is way lower.
- xtracto 7y agoMy experience is somewhat the opposite: I have a BSc in Software Engineering and MSc and PhD in Computer Science. I've been in the Software Industry for about 10 years now and have held a Eng Director/VP level positions at some start ups. I used to be very degree-centric in my recruiting. But some time ago I started hiring from boothcamps, particularly for frontend jobs. The fact I saw is that as part of the development needs of the companies I have been at, there is a good amount of work that can be done by developers of these skill levels. Once my team was able to organize the work, we were able to make jr people productive. This not only made us capable of hiring jr devs. It actually made more Sr devs happy because they did not have to do that work and made mid levels happy because they own the growth of the jr devs .