16 ms·
Stories from developers without CS degrees
- aphextron 6y agoI used to hold it as a point of pride being able to make it in this industry without a degree. But increasingly I find it embarrassing, and am worried about the future. Particularly with the shift to remote first becoming commonplace now. What exactly is there to keep salaries from a race to the bottom at this point? With the number of young CS grads exploding, I can see it becoming a hard requirement in the next 10 years. And beyond that, the career trajectory for a mediocre IC with no degree is looking... bleak. Will I really be able to keep this up into my 50s? Probably not. I love software development but it simply doesn't seem sustainable. And the management path seems almost unimaginable for someone without even a high school degree. At the senior level, there's really nowhere to go from here. It seems like you either hit the startup equity lotto, or burn out by 40.
- LeanderK 6y agowhat's an IC? Where are you working? At a large company? Maybe a change in your environment can bring new perspectives and chances.
- efficax 6y agoIC means individual contributor (engineer, senior engineer, staff, principal) as opposed to a management track
- cmrdporcupine 6y agoI feel the same thing as you, I think. I was never proud of it per se, but proud of how far I've gotten without one (20 years as a dev, 9 years at Google). But always felt a sense of impostor syndrome and now I feel it even more pronounced as I've started to look for work elsewhere and wondering if I'm at a profound disadvantage: middle-aged, spent a bunch of time out of the mainstream industry inside Google using non-"standard" tech stacks, no CS degree, and the industry has shifted to interviewing standards that prioritize new grads ("skill" testing algorithm/data structure questions that are far easier for people with recent CS class exposure, etc.) And yeah, management track involves a lot more politics and organizational stuff than I really want to take on, at least within Google. I could see going mgmt track at a smaller company, but without recent experience they wouldn't hire me on that path.
- jedimastert 6y ago> always felt a sense of impostor syndrome If it makes you feel better, I have a CS bachelor's and I still get imposter syndrome on a fairly regular basis
- cmrdporcupine 6y agoIt's endemic at Google, to the point that it's a cliche. Thing about having no CS degree is, in some ways I really _am_ an impostor here, in a company where masters and phds are commonplace, in a company was founded by two academics who never worked in the industry, etc. When I first joined I was blown away by how much of Google seemed academia-like... internal conferences with poster boards, peer and code review processes like a doctoral thesis committee, campus cafes, academic publishing all over the place, etc. etc. Hell there's even the equivalent of residences (GSuites, Google managed rental properties for traveling googlers)... It's toned down some as Google has ballooned in size, but still.
- aphextron 6y ago>If it makes you feel better, I have a CS bachelor's and I still get imposter syndrome on a fairly regular basis I hear this a lot. The difference is that I objectively am an impostor. I've worked with plenty of Stanford/Berkeley CS grads and can conclusively say that I am a worse programmer than them and will never be as good. My concern is that eventually the number of those people will be so great that mediocre devs will be pushed out of the market. I'm honestly incapable of passing these Leetcode/Google style algorithm interviews which are skewed towards CS grads, and that's increasingly becoming the standard for every company regardless of size.
- cmrdporcupine 6y agoIf you're like me you probably are entirely capable of passing those interviews -- with practice !-- and are probably absolutely fine as a programmer, but are at a disadvantage because it's not the type of stuff you've ever had to do on a regular basis. CS degrees train people to think that that kind of thing is what programming is ("why else did I pay thousands for this degree?"), and then they go out into the industry and propagate that in interview processes, and believe that failing these tests in an interview is an obvious indicator that someone is "lying" about their programming ability. The reality is that for many of us programming is a far more experimental and experential process, and I will use all sorts of algorithmic and data structure techniques but will go read or acquire that knowledge in the process of creating. It's not something I feel comfortable doing on a whiteboard in front of a person or group of people.
- kemiller2002 6y agoWhy do you say that? I mean seriously, you're cutting yourself short. Getting a CS degrees is nothing more than a starting point. After a few years, it certainty won't help you progress into being a better developer automatically. Being a more senior developer is more than just knowing how to create a linked list or reverse a binary tree, and honestly the majority of places have no significant need for that understanding. It's about understanding tradeoffs between technical decisions, its about understanding business, it's about understanding when to refactor vs let it alone. A CS degree will not teach you that, and yes some places will be "snooty" and say we won't hire someone without it. Fine, screw them then. I didn't want to work for them anyway. Salaries won't race to the bottom, because 1. there is still a demand, and 2. someone from a boot camp doesn't have the knowledge and understanding that a more senior person does. Can they learn that? Of course they can, but then they will become more valuable and expect more money. Companies that hire the cheapest person possible almost always end up at the same conclusion. You pay peanuts, you get monkeys. Story time. At a previous company I worked with a number of smart people. Education wise, I didn't hold a candle to them. One went to a top engineering school in the U.S., one had a master's degree in CS, and one went to one of the top rated CS programs in the world. (They are all several years my junior.) All of a sudden our boss calls me in a panic, because some update that was done was failing and causing our clients to not submit data. After asking questions about what's happening, level of impact where it was occurring, I briefly look at the error log and say, "There's the problem, and this was the update that caused it." How did I know, because I smarter? No. I had more experience, I've seen more things. I've solved more problems. Their degrees didn't teach them anything about how to handle that situation. This is why not having a CS degree isn't a death knell of a career, and new people entering the field aren't either.
- commandlinefan 6y agoWhen I went to school to study computer science in the 90's, it seemed like most of my classmates were similar to myself: grew up tinkering with computers and had "taught themselves" (that is, read books and worked examples without being told to by a college professor) programming pretty effectively before setting foot on a college campus. I have no doubt that if I had never bothered with college at all, I could have done nearly the same work in the same positions that I've held since graduation. In fact, every once in a while on here you'll see somebody post a sort of ironic list of the things that they don't teach you in a CS curriculum: databases, networks, version control, debugging, command-line terminal usage, web security, usability... in short, all the things that you actually need to know in order to be a proficient software developer. Still, nearly everything (computer related) that I learned in my CS degree was stuff that I never would have come across on my own, like calculus, linear algebra, statistics, complexity theory, numerical analysis. It sort of "ties together" the practical stuff, but you don't need to know any of it to be effective. I'm glad I did it because it's neat stuff and a different perspective. In a way, the nice thing about having a degree is knowing that you don't know what you might be overlooking in not having one. That said... why not just go and get one now? You'll feel a little weird being 10 years older than everybody else and it'll look weird at first putting "15 years experience, graduated last year" on your resume, but you're nearly guaranteed a perfect GPA at this point. In a few years, you'll have the "checkmark" you need and you'll know what you were (or weren't) missing.
- aphextron 6y ago>That said... why not just go and get one now? You'll feel a little weird being 10 years older than everybody else and it'll look weird at first putting "15 years experience, graduated last year" on your resume, but you're nearly guaranteed a perfect GPA at this point. I tried. CS classes were a total walk in the park. But I simply could not do the math. I hired tutors, I quit my job and studied full time, I've never tried so hard at anything in my entire life. I bashed my head against a wall for almost 2 years trying to pass calculus, and failed it 3 semesters in a row before giving up. It's why I have the utmost respect for people with engineering degrees now.
- kaiju0 6y agoYou have years of google under your belt. Thats your ticket anywhere. Find a nice regional job at a mid to small company and your golden.
- mfer 6y ago> And beyond that, the career trajectory for a mediocre IC with no degree is looking... bleak. I know a number of software developers who are sustaining. They aren't going up the ranks or down the tubes. They are happily sustaining. They do good work and are content. As we are sold that we always need an upward trajectory... it doesn't work out that way. As you get older you find there is no more up. The purpose of always going up runs out of steam. > It seems like you either hit the startup equity lotto, or burn out by 40. Is this a SV or startup mentality? Most successful startups have an average founders age at founding of like 45. It's not the young in age who are more likely to found successful startups. If you burn out by 40 it may mean you have an unsustainable lifestyle.
- save_ferris 6y ago> What exactly is there to keep salaries from a race to the bottom at this point? I see so many takes like this, but I'm not yet convinced that this is gonna doom salaries long term. I haven't noticed a difference in the recruiting communication I receive in terms of salary, and my current salary is above average. Companies would be insane to ask current employees to take a pay cut to go remote unless they want people to leave. As long as companies are focused on hiring the best people they can find, they're going to be motivated to continue supporting market rates.
- st1x7 6y agoAs a data scientist without a PhD, I have a very similar feeling. You can kind of make without one for now but I have no idea how long that's going to last. Hopefully by the time it happens my experience outweighs that lack of credentials.
- rdevsrex 6y agoI'm 38 and have been asking myself this same question. I have about 4 years of experience, and with the scope of knowledge that a dev is expected to know, I feel like I need to go back to school and get a degree in CS or in something else that I can transition into another field. Software was always an outlier in professional fields, as most industries require some form of degree or certification, so I think it's good to get ahead of the curve. I star
- silicon2401 6y ago> What exactly is there to keep salaries from a race to the bottom at this point? Nothing. Based on numbers I've seen, there are probably a lot of companies out there where I'd take 75% of what their devs are making today if it means I can be permanently remote. Probably 50% if I could move freely internationally. Now multiply that by how many people are eligible once you expand your hiring range from driving distance to national/international.
- minikites 6y agoI know this is an unpopular opinion in STEM fields but a broad education in lots of different subjects is important to being a citizen in a democratic society. While a degree isn't and shouldn't be necessary for everyone, the goal should be to educate people more, not strive for a society where nobody needs formal education.
- pc86 6y agoAll it takes is a single 200-level Poli Sci or Econ class to see how about 40% of the comments in those threads on HN are nonsense. I'm sure the same is true for law and other humanities/social sciences as well.
- hpoe 6y agoTo me this is evidence of part of the problem is that no one can agree on what higher ed should be, job prep or providing a liberal education. So we get the worst of both worlds where we force students to do both while taking out massive debt, resulting in a workforce that still has to be trained when they graduate, but much of the liberal education being ignored or useless because there is an argument over whether or not you should be preparing for a job by going to college or whether it is to make you a more holistic individual. For the record I would subscribe to the liberal education viewpoint of college but question why that can't be had for free with the resources of the internet at this point. Note: By liberal education I do not mean politically liberal but rather a term encompassing a full rounded individual akin to a renaissance man, that is familiar with and can discuss language and mathematics just as well as art history or philosophy.
- minikites 6y ago>For the record I would subscribe to the liberal education viewpoint of college but question why that can't be had for free with the resources of the internet at this point. How well is remote schooling working during the pandemic? Now imagine that, but with no teachers at all. Teachers are an important part of the education process.
- 6y ago
- hpoe 6y agoI'll just throw out that I think CS degrees are a terrible idea, because the fact of the matter is there are virtually no actual CS jobs out there. I got my degree in Software Engineering instead, and I find myself far more prepared than many CS colleagues. In my degree we had classes on project management, requirements gathering, structuring and managing databases, heck one class was just about getting your A+ so you could know how to diagnose and repair misbehaving machines and understand things a little bit more holistically. If you want to be an aeronautics engineer, or a civil engineer we don't require you to go get a degree in physics, sure you'll have a lot of classes that deal with physics and you're expected to be familiar with the basics, but you aren't going to have physics as your major. So why the heck do we keep pushing people to CS when their going into Software Engineering? If you think as CS education is still necessary and valuable in your work as an SWE please tell me why, I am curious to understand why if people feel it was useful I want to know why. EDIT: I appreciate the answers I've gotten, as clarification I have noticed several people cite how their degree helped them get a job, or move positions, and I agree that it does that; however I feel a degree in Software Engineering would be just as valid, in these situations. My question is more about is a does a CS degree or an SE degree help make one a better engineer?
- deleted 6y ago[deleted]
- deeeeplearning 6y agoHow else will you be able to pass algorithmic whiteboard interviews? Everyone knows that acing those is the only way you can possibly be a good engineer
- cmrdporcupine 6y agoNot sure why you're getting downvoted, I don't think you're wrong. Most industry work is not "computer science" work, but more software mechanics or engineering work. Having the CS background no doubt helps, but having it exclusively is a disadvantage. But it is worth pointing out that there seems to be a great diversity in the content in CS programs, and many schools do emphasize practical industry aspects more than others. Or have aggressive internship programs like U Waterloo, does etc.
- carabiner 6y agoI'm just worried about age discrimination. I'm 35. Do I have 15 years to make bank, after which they take me out back and shoot me? How common are developers over 50 at these companies?
- mfer 6y agoThere certainly is age discrimination out there. One of the reasons we see fewer older developers is that software development wasn't a major career in the 80's and even early 90's. Nothing like it is today in terms of numbers of people. So, there just weren't as many people doing it. Now that they are older the number of younger people dwarf them, in part, because the number of jobs has gone up. Older developers are there. I know a number of them. There are also company differences. Some companies don't like to hire older developers. Some of these companies want people to work around the clock and older developers tend to have families and hobbies. It's harder to have an influence on them to work a major number of hours. Then there are older developers who do not want to change. I know some of these. As technology changes a breakneck speeds they don't want to move on from what they did to something new. This can cause issues and give the age group a bad name. I find the most successful older developers are those who use their experience to do a good job and what needs to be done while adapting as things change.
- zeku 6y agoMy company is LOADED with older devs. Our average dev age is probably close to 50. There is in fact a huge gap, only a handful of us under 30. At 27 I might still be the youngest developer in my 50 developer department.
- mhh__ 6y agoIs there any difference in productivity to a more stereotype younger workforce? I'm not good with people, so I doubt I'll ever be in a position to do so, but the ideal team composition to me needs a mixture of naive geniuses and people who've been around the block enough to know when to say KISS.
- durnygbur 6y agoDon't pay for CS degree, pay 10k EUR for 2 months bootcamp. Spam.
- parliament32 6y agoFor us, when hiring, we explicitly look for candidates without degrees, or degrees in unrelated fields.. they honestly tend to be better hires. They might not know some formal definitions or some algos off the top of their heads, but we've found they're generally more resourceful, better at thinking outside the box, and better at solving complex problems without being handheld. Not to mention that what someone learned in uni a decade ago is probably not applicable anymore whatsoever (in tech). Experience/projects are a way, way better indicator of a potential hire's quality than their formal education.
- sys_64738 6y agoCS degrees are not for churning out new hires for whatever you do. They're for providing a well-rounded Computing education which provides the foundations for the student to build on. Things like classic algorithms and foundation computer architecture are classical things that will always help you. Perhaps you're only hiring coders.
- woodruffw 6y agoI'm not the OP, but I have a non-STEM degree and work at a research firm doing DARPA-funded program analysis and compiler research. My experience does not match your claim: I've found no relationship between having a CS degree and having a strong grasp on "foundations" (which foundations?). The strongest indicators that I've found for whether someone can do complex, research-level work are: * Being able (and willing) to try at a problem, even with partial information. Even more critically: being able to subdivide a problem such that they can solve some of it and be forthright about being unable to solve the rest. * Just knowing a lot of productivity- and thought-enhancing stuff. My best interviewees are active and vociferous readers, both of technical and non-technical materials. They almost always end up treating interviews as conversations, ones where both parties end up learning a bit.
- 908B64B197 6y agoIt's an interesting take. I wonder which market you are hiring in. There might be a selection bias at play here. Someone who was able to create its own degree from scratch and learn enough to pass your interview should adopt the same mindset when tasked with a new problem. You are selecting for folks who require less hand holding. > Not to mention that what someone learned in uni a decade ago is probably not applicable anymore whatsoever (in tech) Not if they had a good degree. Sure the tools change and whatever language/framework too but the fundamentals don't. Applying a a systematic approach to debugging, algorithms, automata and complexity are still very much the same than they were a decade ago.
- drmidnight 6y agoI don't have a college degree at all. I went from a movie theater projectionist making minimum wage (8 years), to tech support(2 years), to customer service/qa at a startup(1 year), to an iOS developer(5 years), to now being a lead iOS developer at an established tech company. I don't particularly want to be an iOS developer, but it's the path that got me to where I am at and it pays very well. Not once during my last interview cycle (10 different companies) did anyone ask about a degree. I think the grind and knowledge gained in multiple sectors was worth it, but it was a long road. I've been programming on and off my whole life so I think it really depends on the person, but not having any degree it is doable. Would I do it differently after looking back? Absolutely, but I doubt I would get a CS degree. Moral of the story, if you want it bad enough and go out there and make it happen, you can find a place in this industry with a high school education. Just demonstrate knowledge and keep on learning.
- Buttons840 6y agoFor those wanting a degree, check out WGU. It's accredited and you can go through it as fast as you're able. I dropped out of traditional college. Last class I remember they were talking about what a GET and POST request were. I had been a professional web developer for years at that point. I felt it was a waste of time. In WGU I had a similar easy class, stuff that was "way below me". Not to worry, I passed the class in a day and stopped worrying about wasted time. I recently did a C++ assignment that was filled with artificial requirements making it artificially difficult, yet I learned some things about pointers and figured out the basics of CMake for the first time. Useful stuff. Now I'm doing a similar assignment with Java. I knew I would have to set aside my distaste for things like Java (gross!), and with that mindset things aren't so bad. I'm actually enjoying JavaFX. WGU's calculus class was harder than calc 1 at my brick and mortar university, but easier than calc 2. Once again, I knew most of the material and passed after only a few weeks of review. I do agree that a CS degree doesn't teach as much as it sometimes gets credit for. I do believe WGU's CS degree is as good as many brick and mortar CS degrees, but with minimal "bullshit", though there is still some.
- peferron 6y agoSomewhat unrelated, but getting a degree (not necessarily in CS) can help with international mobility since some countries make it a hard requirement. So if you are from a country where developer salaries are low, or that isn't conducive to start a company if that's your thing, then a degree can have a huge impact on your life regardless of what you actually learnt.