4 ms·
It would be helpful to see more data on this. I consider the CS degree at a reputable university (doesn't have to be elite, just a proper curriculum) to be very
by geebee 8y ago
It would be helpful to see more data on this. I consider the CS degree at a reputable university (doesn't have to be elite, just a proper curriculum) to be very challenging compared to many other majors. And I do know plenty of programmers who got MS degrees in engineering, math, or other fields. But you are right, it is possible to bypass the entire thing.
I suppose getting a grad degree and becoming a software developer is giving yourself the worst of both worlds. As you point out, it's tough to get an MS in Nursing to become a NP, but once you're certified, you don't have to prove your basic competence by re-taking your organic chemistry midterm at the whiteboard 15 years into your career every time you interview.
But if you major in CS and get an MS degree from a reputable university... yeah, you're still doing take-home and whiteboard exams when you apply for a new job.
I would point out while programming has low formal barriers to entry, it actually isn't a trivially easy field to enter. Yes, you can say you're a programmer if you read the first half of a book on "PHP and MySQL" (or if you don't and say you did). But almost every interview I've been on has asked me to do data structures and algorithms questions at the whiteboard. It isn't just fizz buzz. It's "fine all matching subtrees in a binary tree", or "find all subsets within a set of integers that sum to a different subset of integers within the set". Others have asked me to do elaborate take-home tests, though I now refuse to do that (this has cost me some good opportunities, but I'm just not willing to do it anymore).
So software development does have a set of entry conditions - it's just that unlike a proper profession, they are applied informally, erratically, inconsistently, largely in secret, and administered and graded by people with widely varying levels of competence, and you have to go through them every time you apply.
- sanderjd 8y agoWhat would the data you want on this look like? Are you looking for a survey of hiring methodology across professions, or something else?
- geebee 8y agoI don't have an answer to that question that I'm completely satisfied with, but I can give you my thoughts on it. I'm extremely wary of formal ABA or AMA style licensure. It's not that I oppose it in theory, but requiring (for example) three years of formal law school (about 50k a year at UC Irvine, less at some publics, more at some privates) isn't something I'd want to see happen to software development. I also worry about who would control licensing. I've butted heads with the "no code in JSP" crowd that wanted to replace everything with tag libraries (until Rails, with ruby code in the page, more or less swept them aside), and I watched the test-driven development crowd start suggesting that people who even questioned the value of the methodology should be unemployable, likening this to a physician questioning whether washing hands is important. I imagine what software development would be like if these people got control over licensing, and I don't like it. I also really like the fact that a math major or similar can become a programmer, that you aren't compelled to do a very specific degree or path. There is the actuarial approach - a series of exams that don't require a specific degree, but you will need to acquire substantial math (calculus, differential equations, linear algebra, vector calc, numerical analysis, and more, followed by more industry specific topics) to pass. I like this because you can major in whatever you like, or even self study. Senior actuaries with a decade aren't quizzed at the whiteboard on whether they can do a complex integration by parts, partly because it probably doesn't matter, and partly because they have already passed a proper exam. This one doesn't scare me the way the "law school" style licensing does. Other ideas floated are unions along the style of Hollywood unions, which provide some worker protection but allow the flexibility for high variance in talent and compensation. All said, though I'm not sure any of this is necessary. What I actually think we need to do is just let the market work. I think we need to accept (well, powerful Silicon Valley companies and investors need to accept) that if smart and talented people don't want to become software developers in SF/SV, that's the market's answer. People respond to a wide range of variables - working conditions, quality of work, nature of work, career stability, job flexibility, compensation, the risk of age discrimination, barriers to entry, and so forth. It appears that many of the people who are able to become software developers are choosing to do something else. That's not just ok, it's great. It's human freedom. What we have, though, is a government that, at the behest of these powerful tech companies and investors, created a shadow immigration system run by and for the interests of these corporations. We actually set up a system that creates a large pool of workers who aren't free to engage in that decision making process I described above. And I want to be clear here as I have been in the past - I am perfectly happy to see talented people move to the US! I'm not happy to see Facebook empowered to decide who is - and isn't - allowed to come here. That prevents the market from working, and it's why we continue to have "shortages" that, well, aren't. I enjoy talking about this on HN, but I'm actually at the point where I think there is no possibility of any of the above happening. Software Developers will not organize. Congress will continue to hand Silicon Valley control over the immigration system. Immigrants who come here under tech work visas will not have the right to become florists, dental hygienists, or drywall installers, they will have to do the job Facebook says the have to do as a condition of living and working in the US. The green card system is designed to take forever, so that by the time these immigrants have freedom, many career options are closed or come at a much higher cost. That's the intent of the system, it really is. Billionaires like it, which is why it will not change.
- geebee 8y agoOh, my apologies, I understand the question you were asking. You weren't asking for my opinion on how this should work, you were specifically asking about what kind of data is needed. Ok, got it. I'm interested in how viable a career path it is to try to go into software development without any degree, without a CS or related degree, or without a MS or PhD. The reason is that I've been on interviews for "data science-ish" positions (this was before it was a term), and I was whiteboard quizzed on: Tree operations Markov chains Formulating linear programs Set permutations (you know, all permutations of a string, but hidden in a different question) Database normalization and queries. I have an MS in industrial engineering, so I've studied this stuff, but I definitely have to hit the books and re-study for my midterms every time I go into an interview like this. I could look it up on the job, but to have it sharp and ready enough for a whiteboard quiz, I definitely would need to study. So I guess I'd be interested in knowing the salary bands, job title, and degree. But here's the thing, that only tells you who got the job. To really analyze this, you'd need to know the percentage of people who apply and get interviews. I definitely think that having an MS from a top program does increase my odds getting some of these interviews. The difference is that it doesn't save me from having to re-take the exam every time I interview, unlike many other professions that have a more formal process for taking entry exams and keeping credentials up to date.