7 ms·
I'm honestly completely fine with this, and my worry is that the industry wants to move towards a more "accredited" role with organizations similar to doctors,
by azemetre 5y ago
I'm honestly completely fine with this, and my worry is that the industry wants to move towards a more "accredited" role with organizations similar to doctors, lawyers, or other professionals to keep others out.
Why am I worried? Because if you're a competent programmer you can spend 3-months to a year studying for these interviews and make $200k+ in TC. You don't need a degree or even much work experience to achieve this.
You don't have to come from an ivy league school or have powerful connections, you simply need to understand a few common leetcode patterns and system design.
If you can understand for loops, variable reassignment, objects & arrays, and some other unique operators like modulo or booleans you can likely answer 70% of LC type questions. That's an extremely low bar, and all it takes is dedicated practice.
Even if you don't want to leetcode, there are still plenty of well paying jobs that pay more than the average household income whose barrier to entry is even lower.
What other job or industry honestly has this option? I honestly feel like software develop is the truly last "middle class" industry (if salaries kept pace in other jobs for the last 40 years).
- whimsicalism 5y agoI don't think it's true that your educational background doesn't matter at all. At least at the tech co where I work in ML, every single one of my peers has a PhD and while I don't, I went to Harvard.
- jlund-molfese 5y agoIs Harvard known for having a particularly strong ML program compared to other schools which aren't household names, like UIUC and Georgia Tech?
- whimsicalism 5y agoPer capita it is probably stronger than many schools, overall I doubt it is better - and certainly not than top CS schools. That said, in undergrad for ML, I think some of the more important things are giving you a strong basis in linear algebra, vector calculus, and numerical computing - and I certainly got that there.
- azemetre 5y agoThe Wright brothers never had a pilots license.
- whimsicalism 5y agoThe Wright brothers weren't trying to get hired by large, inefficient at hiring, aeronautics firms.
- azemetre 5y agoThe idea is that if you don't need a license or a degree to work in new fields. Software engineering is full of new fields in their infancy. To say you only need a certain background to work is horribly misguided. You can be productive in many fields with a wide array of knowledge and education. I'm not saying a frontend developer can write novel ML algorithms, but surely they can contribute in other capacities (like creating interfaces to work with the novel ML algorithms, which is meaningful in itself and requires new UX paradigms surely).
- whimsicalism 5y agoYou're completely misinterpreting my point, and perhaps conflating is and ought. In the industry, your educational background does matter, especially for the type of firm that asks leetcode questions. I was not saying you need a certain background to be able to be productive in tech, that is a strawman. But I would defend that your educational background is a signal (very far from a perfect one) at how productive you would be at knowledge work.
- scrtlyCool 5y agoif they had to pilot modern aircrafts with much more complicated controls, carrying hundreds of passengers they would definitely be required to have one
- fragmede 5y agoNo, but they did own a successful bike shop for the better part of a decade. Don't buy the narrative that the first airplane only cost $28,000 so someone with the same grit as the Wright brothers could have achieved that first flight. Or do, but do be careful not to draw unrealistic conclusions. If you have a decade of industry experience, no one cares that you went to some no-name college. It's pretty easy to get callbacks as a senior software developer. But don't mistake that for meaning that educational background is irrelevant. It's far harder to get callbacks if your resume has a bootcamp for education, and no experience. Throw in a felony criminal record, and the job you'll get a Lyft is fixing bicycles for $17/hr. Which isn't a bad job, actually, but it's a far cry from $200k/yr. Meanwhile, someone at an internship at Google or Facebook while working on two degrees from MIT will be making the equivalent to $100k before ever graduating. Experience matters far more than education, and the software industry isn't some egalitarian ideal, no matter how many millionaires were minted in the 90's and 2000's, and continue to get minted. The argument that someone could go make their own app and sidestep the need to get a pilot's license is a poor one. If you look at all the shovelware, spyware, and straight up scams on both Apple and Google's app stores, it's clear that there's more to being a successful app developer than writing a good app, and the exceptions there (like Christian Selig) are akin to literal rock stars. Good for them and all, but the rock star's backup singers' names and stories get lost to history, nor do they get the same fame or fortune. It's like when exceptional black, women candidates are held up as an example of equality. The exceptional candidate isn't the one to ask about, truly exceptional people always bubble up. Where do the average, or lower-than-average candidates (with reasonable educations) end up? How many don't even make it into the field, in a failure-to-launch scenario because they never get that first break that you did? The Wright brothers never had a pilots license, but who here's heard about Charlie Taylor, their machinist?
- aketchum 5y agoHow do you tell if someone went to Harvard? Don't worry, they'll tell you in the first 30 seconds.
- whimsicalism 5y agoHonestly, I never mention it in real life unless directly asked because people (especially in tech, I've noticed) seem to be very sensitive around "name-brand" schools, ie. with comments like this. But I think it has direct relevance to the GP comment.
- redis_mlc 5y agoWhoosh!
- sureglymop 5y agoI've read this here before but I honestly think there should be more regulations about who can be hired. The name of the school should not matter in the slightest if one has studied the same thing. Making it impossible for the employer to know that detail would also incentivize all the schools to provide a good education. Also many top universities are mostly about making connections. While their curriculum is usually very hard, this is also reflected in the grades.. people may still pass but their average drops. In the US it's even worse, because tuition has to be paid. This already filters out many people from going to a "more elite" school.
- kvathupo 5y agoOr more likely, they vaguely say they "went to school in Boston"
- auntienomen 5y ago"went to school somewhere northeast of NYC"
- whimsicalism 5y agoIf you answer that when asked point-blank what school you went to, I think you are an asshole. That said, I can understand the impulse unless you want to be called "Mr. Harvard" every time you do some dumb shit in the office.
- exdsq 5y agoAh I think it's overrated signalling. I've worked in R&D tech teams where people doing some of the best work on say functional language compilers and authoring type theory papers haven't had degrees. Lead of that team had a BSc. Hired many PhDs but there wasn't much of a correlation between that and output.
- whimsicalism 5y agoOh - I wasn't trying to say it's a good signal. PhDs in particular I think are overrated as a signal - but maybe I'm biased because I only have an AB.
- geebee 5y agoThere may be a difference between data science or ML work and software engineering. It's commonly stated, accurately IMO, that you don't really need an advanced math background to be a software engineer or developer. I tend to agree, as long as I'm also allowed to say that I believe it's a very difficult, complicated, and intricate job. It just doesn't require calculus, linear algebra, or higher. For ML? Well, I do know people who have never taken a formal course in anything above calculus who absolutely do apply these techniques properly and are well versed in how they work. But to understand how k-means clustering works, or how to construct a gradient vector... yeah, this requires multivariable calculus and non-linear optimization across systems of equations. And while you don't need to know how the underlying math works to use kmeans or neural nets, the mathematics is a lot closer to your work. Under these circumstances, I can see why a lot of companies might just start looking for STEM degrees from known programs in a way they don't really with SEs.
- f00zz 5y ago> You don't need a degree The low barrier to entry is one the greatest things about programming. I don't have a CS degree, but for a while I spent some time actively studying data structures and algorithms on my own (and solving hundreds of programming problems at "online judge"-type sites like SPOJ; it's fun!). I don't feel in any way "inferior" to people with a degree.
- eulers_secret 5y ago> I don't feel in any way "inferior" to people with a degree. I did the same thing, but I do feel inferior to degreed folks. Not skill-wise; I know people are all over the board with their skill level. It comes down to this statement: "I have two candidates who are equal in every way except candidate A never finished college. Candidate B gets hired!" Going this route you have to be better than everyone else with a degree: If you're not, the person with the degree will win, every time. I did this with personal projects/passion/odd jobs, and now with a decade of work experience as an engineer. Sometimes I want to finish my degree (I got an associates, so 1/2 way there!) but the ROI doesn't make sense with school being so expensive. My big fear is that I'll never get hired after this job because there are lots of qualified candidates who went to school, and I just don't stack up. EDIT: It's also affected my willingness to change jobs, confidence in myself, and as a result my salary. I make $120K/yr in a high COLA. If you're reading this as a youngster: GO TO COLLEGE AND FINISH IT!
- bigwavedave 5y ago> [snip] It comes down to this statement: "I have two candidates who are equal in every way except candidate A never finished college. Candidate B gets hired!" > Going this route you have to be better than everyone else with a degree: If you're not, the person with the degree will win, every time. > [snip] My big fear is that I'll never get hired after this job because there are lots of qualified candidates who went to school, and I just don't stack up. Oh boy, this resonates so strongly with me. I even have actual proof that the opposite is true (when I asked about other candidates at my first "real" job while I was still in college, my boss said they hired me over people with a degree because of my github), I still felt this way!! In the end, I ended up finishing my degree not because it made me more intrinsically valuable or a 10x rockstar code god, but because of that exact fear you're talking about. I wish I was the kind of person who didn't have to do that.
- swman 5y agoNot everyone can think lol.
- ravenstine 5y agoWhile I agree, as someone who is effectively self-taught, it's really troubling to me what we get paid for the quality and quantity we produce collectively. I bet a lot of folks here won't want to hear this, but we really are vastly overpaid for what we do. Everywhere I've worked, and I mean everywhere, there's a lot of frankly bad practices that are bad for users and create bullshit work for everyone involved. Just because you've installed a bunch of linters, have 80%+ coverage, and use Code Climate does not mean that your code isn't fundamentally flawed and a liability. I do think this stems largely from there being effectively no credentials required to be a software engineer. Whether or not your code is "good" mostly depends on your title, seniority, and social clout. If the software breaks, you just keep fixing it and you look like a hero because you're constantly opening and closing Jira tickets. Junior developers learn to code without bothering to consider the philosophy, history, and discipline of code. It's all just to "get shit done", and there's consequences to this. Things are written to not be accessible, and if they are written poorly then it can be difficult to implement accessibility, thus many are cut out of participation. People's account data and credentials get exposed. Countless millions of $ are spent deciphering code written by people who believe their shit doesn't stink (the code documents itself bruh), and countless hours of lifetime are depleted. People are outright ripped off when companies release software, namely games, that are written atrociously. Do we really need this many engineers to write GUIs around databases? I seriously question this. Should we really get paid this much for a job where we can be inefficient with almost no consequence? I argue that we should have standardized accreditation. How we would implement it, I don't really know. The obvious counterargument is how bass-ackwards many college computer science and programming courses are.
- yourapostasy 5y agoThis is the typical “just world” rant of the junior to mid-range devs. Did this exact rant back in my day. I’ve been in those shops that “consider the philosophy, history and discipline of code”. Your counterparts in those organizations? They’re ranting against the waste they see going on. The reality is more nuanced. If you were handed a multi-thousand developer organization, business goals, and a fixed budget by the BoD via the CEO and CIO, your theories of “how it should be” won’t make it past the first fiscal quarter. This is the next level awareness of what Brooks meant by “no silver bullet”. He wasn’t just talking about coding tooling, he also meant these kinds of diatribes we all evolve through in our career. We aren’t paid to only cut code. We’re paid to help deliver an outcome. Outcomes at the business level are not evaluated by the same criteria you personally use, despite what your immediate business liaisons tell you; you need the C-to-upper-management perspective to start to understand the real decision factors. Before you make assumptions about companies not knowing at industry aggregates level how to pay developers, first go manage a multi-hundred to multi-thousand person engineering organization with balance sheet and P/L LOB insight into their real impact as crunched by the finance wonks. Then you’d know the real cost benefit you currently assume the finance people in aggregate don’t know. We absolutely can and must do better as an industry, and I see us every month making incremental progress (this is much more difficult to see in the first half of your career because you struggle to get a feel for what is and isn’t progress that business cares about). That doesn’t preclude us from obtaining useful outcomes given prevailing conditions (including pay as a very small factor).
- geebee 5y agothere's a lot of wiggle room to differ about what you need to learn. If you managed to prep for this with no degree in 3 months, well dayum. I consider that impressive, and I'd say that's not a low bar at all. I'm not allowed to discuss my specific google interview questions, but I'd say they're similar to some of the harder questions in "cracking the coding interview". On the line of "find all matching subtrees in a binary tree". Remember, you have to do this in 45 minutes, and the impression I got from my feedback is that you need to make substantial coding progress (again, in 45 min at a whiteboard). That's hardly impossible, but I think it's notably tougher than "loops, variable reassignment, objects & arrays, and some other unique operators like modulo or booleans " There's no way I'd suggest someone go into a google SWE interview with only that prep. I'd say you need to be very sharp on recursion, tree traversal, sorting, set permutations, and a number of other algorithms - and I disagree that you can memorize solutions. You should have them down cold, but you won't be asked to regurgitate them - instead, you will need to be able to think on your feet to figure how these algorithms can be adapted to a variant of a problem you've seen but not quite in the form they're asking about.