I wouldn't discount hiring a programmer without a degree. I've worked with several excellent--really, truly excellent--programmers that came to the industry without anything other than motivation. But don't tell me that just because out of my 18 years of being academically involved with computers, 4 of those were spent mostly in the classroom that I don't know how to fucking code.
Sure, there's going to be exceptional members of each class. But look at it this way:
Who am I, as a un-degreed programmer, more likely to run into when dealing with someone with a degree - you, or the guy who can't code and who is using his degree as a crutch to bully the people who actually know what they're doing?
Who are you, as a degreed programmer,more likely to run into when dealing with someone without a degree - me, or the guy who just knows how to cargo cult his way through a CRUD web form?
I've taken a strong interest in biology, biochemistry, physics, neuroanatomy, sociology, psychology, history, and abstract math; while I have no major or minor in any of these subjects, I can generally have an interesting discussion about the relative merits of Bohm vs. Everett-Wheeler or the cellular hormone signalling going on in butterfly metamorphosis or the peculiar sociopolitics that influenced the transition from the last Chinese emperor to the pseudo-communist regime. And not everyone who didn't go to college is like that, but generally speaking, neither is everyone who went to college. And I've found that being a college graduate is completely orthogonal to knowing what the hell you're talking about, whether it's within your major or outside it.
But the thing is, if you're coming in as a Lead Developer, and you have a degree, I can't discount the possibility that you got the job on the merit of your degree rather than your skill - so from my perspective, the likelihood that you know how to code is less likely if you have the degree, because it provides an alternate (and regrettably much more salient) hypothesis for how you got here.
I'm just saying I wouldn't have a place for them in my line business, we don't just do run of the mill CRUD stuff, we need people who can genuinely innovate and create great new products and who are driven to constantly improve their skillset to keep pace with that.
Okay, so serious question:
how can someone who used to DREAM of jobs like that, who has become completely disillusioned and beaten down by having to code crappy CRUD work for 15+ years, break out into the kind of work you do?
It depends on your definition of experience, I had a CV sent to me just the start of this week - "Exceptional candidate, 23 years software development experience" and sure enough there was 23 years professional development employment on his CV. But here's the thing, he was only looking for £40k a year, that rings alarm bells with me, why would someone with such a vast amount of experience only be looking for a mid-level salary at best? after all that time I'd expect him to be looking for at least double that if he was actually any good (I don't buy the argument that maybe he wanted an easier life - I've found the higher you get up the career ladder, the easier it gets, not vice versa).
I've been exactly that guy. 20+ years experience, applying for a US$35K salary.
Because between mental health issues and just being tired of work-related drama, I didn't think I was worth the $120K I used to get.
And yeah, I get that self-confidence and salesmanship go a long way, but they're also really tiring for some people to emulate.
Absolutely. And usually early optimization leads to way more spaghetti code than properly describing the problem, coding a conceptually elegant solution, and then optimizing from there.
Congratulations! You have exhibited all the negative stereotypes we associate with non college grads. You may now proceed to explain to us why, if you are so much more intelligent than us, you are so dissatisfied with your life relative to ours.
Because my parents couldn't afford to send me through college, and I was too busy coding in junior high and high school to keep my grades up or network with the right people.
As someone without a BS in anything, I've actually found the opposite.
Yes, people who are self-taught often have gaps in our knowledge, but we tend to be *much* faster at filling those gaps. Also, the fact that we acquired all the knowledge we did without a college degree indicates that we are motivated to fill those gaps ourselves.
It is very likely that there are things we have not been exposed to, even if we match your 15 years' experience as a software engineer. However, upon exposure, I am willing to bet that we will beat you soundly at rapid acquisition and assimilation of knowledge - especially since, if you've been in the field for 15 years, your degree is over 15 years old. Which means that plenty of things which are new to me will be new to you, too.
You're absolutely right that you'll never have to compete for a job with someone that does not have a bachelor's degree. I, on the other hand, have to compete with people like you for the right to do my damn job all the time, because you're absolutely convinced that four years in a university beat four years actually in the field working on real-world problems, while voraciously consuming papers and books, and while corresponding with experts in the field - because unlike you, my tools were not handed to me by a university; I had to build them myself.
None of which translates well to a bureaucracy-approved stamp I can stick on my resume, so you're right - good on you. You'll get fast-tracked to management, where you'll continue to pretend like you know what you're doing more than I do, where you continue to ignore my explanations of why your harebrained ideas won't work, and where you'll continue to get me fired when they fail in exactly the way I warned you they would. You've certainly got it all figured out.
How this is a surprise to anyone by now is a surprise to me, this has been standard operating procedures with pretty much everyone since computers have come out.
"I don't know why it's important for physical sports to have gender segregation, but they do it and people recognize them as legitimate! If we segregate by gender, maybe that's what will make people recognize us as legitimate!"
Just like in programming, this line of thinking clearly translates down to "I have no idea what I'm doing, and I have no idea what the consequences of these choices are, but I'm just going to bang at things until something works or everything breaks."
Burning the bridges the trolls live under? Patent reform? Thorough review of ALL patents to see if they make sense? Force Microsoft to disclose ALL patents they feel might be infringed?
All of this would require a MASSIVE amount of lobbying to accomplish, and therefore a MASSIVE amount of money.
How do you currently get massive amounts of money?
Therefore, what incentive do people who currently have massive amount of money have, to make the changes you propose?
No, becasue the only food they can afford is salt laden fatty food. Remember most pore people work full time jobs and still are at the poverty line. So no time, and not money, and limited education.
And massively high cortisol stress levels, which - when combined with the food desert - will muck up people's metabolism in short order.
You know, I watched my wife work all day gettin' thirty tinfoil sheets together for you ungrateful sons of bitches, and all I hear is criticize, criticize, criticize!
> But the real problem is this, and this is what most people don't get: Many nerds do not step in and stop their fellow nerds if they are creating a hostile environment, or otherwise make it clear to the few that certain behaviours are unacceptable, and most nerds are oblivious to what women and other minorities face in the community from the actions of the few.
Because when we do, we're accused (by that woman) of "White Knighting". And sometimes legitimately - there's a LOT of false signalling going on when the stakes are this high (and when reproduction AND pack dynamics are involved, the stakes are ALWAYS high).
There's a LOT of misogynistic jerks out there. But there's also a LOT of role-confusion and conflicting signals about what we're supposed to do about it.
The tumbler Social Justice Warriors have some damn good, highly valid points - but they're expressing them in pretty toxic and unhelpful ways.
The MRA movement also has a few damn good, highly valid points - but they're expressing them in pretty toxic and unhelpful ways.
And the narcissistic sociopaths stand in the middle, egging both sides on, because chaos is fun, and tears are delicious.
And each time one side presents a toxic, unhelpful argument, it makes the other side that less capable of presenting their side in non-toxic and helpful ways - because coalition politics are buried pretty deeply inside our monkey-brains.
man, I would LOVE to work somewhere that has an actual legal department. The best I've seen is "the CEO-owner's brother, who got a law degree at a fly-by-night university".
Scenario: You're writing firmware for a "smart" chargeable battery. Multiple cellphone manufacturers will use your company's batteries. Also, you can reasonably expect that several non-cellphone uses will arise. The battery has a high energy density, and therefore a nonzero chance of fire / explosion if improperly charged. Shortcuts were taken in hardware safety because "we can just make the software not allow those situations". Some of those situations are difficult-to-impossible to disallow without compromising some of the battery's key marketing features. You know there will be edge cases where someone will do something plausible, but not-technically-correct, with your battery - and you know that in a few of those edge cases, they will get a face full of hot intercalated lithium. Your boss has misrepresented your capability to find solutions to impossible problems, so now you're on the spot.
Who do you "call personally" in that scenario? Each of the five million or so end users? Or each of the cellphone and RC quad copter manufacturers on your boss's boss's marketing VP's supply-chain list?
You know what's funny? I've fought THAT battle, too. I used to twitch every time I had to call what I did "Computer Science", or talk about "paradigms", or "cloud-based solutions", or whatever.
At a certain point, I just gave up. People will call things whatever they want to call them, and I do not have the political power to enforce accurate terminology. So I either get with the program, or get constantly corrected by PHBs.
And apparently, even when I DO get with the program, I STILL get corrected - but by pedantic programmers, instead.
And when you know for a fact that those instructions will be handled by a department that is not interested in communicating honestly with the customer, especially if doing so might convey a sense that the product is dangerous?
It's not a fallacy, because we use words and correlations between words to convey nuance. Otherwise things get so slippery that you can claim you meant anything.
To a computer programmer, ethics is dead code, and I mean that in a good way. It takes effort to do wrong, and money to add the ethically problematic features -- and the only person who makes that happen is your boss.
Not necessarily - imagine software that controls a physical device, which has safety concerns. There's a simple and elegant check that can be performed that catches 90% of the dangerous use-cases, or there's a really hideously complex set of layered checks that will catch 99% of them. You have two days to ship or you're fired. Which do you include?
Other way around, actually. 'Morals' -> 'mores', which is about customs and expected public behaviors; 'ethics' -> 'ethos', which is about internal guiding principles.
And every employer I've developed code for has told me the same thing: shut up and get back to work.
Ultimately, in order to address the ethical considerations of programming, we would need a work culture that supports it. Otherwise it simply becomes another "know which side your bread is buttered on" lesson.
Sure, there's going to be exceptional members of each class. But look at it this way:
Who am I, as a un-degreed programmer, more likely to run into when dealing with someone with a degree - you, or the guy who can't code and who is using his degree as a crutch to bully the people who actually know what they're doing?
Who are you, as a degreed programmer,more likely to run into when dealing with someone without a degree - me, or the guy who just knows how to cargo cult his way through a CRUD web form?
I've taken a strong interest in biology, biochemistry, physics, neuroanatomy, sociology, psychology, history, and abstract math; while I have no major or minor in any of these subjects, I can generally have an interesting discussion about the relative merits of Bohm vs. Everett-Wheeler or the cellular hormone signalling going on in butterfly metamorphosis or the peculiar sociopolitics that influenced the transition from the last Chinese emperor to the pseudo-communist regime. And not everyone who didn't go to college is like that, but generally speaking, neither is everyone who went to college. And I've found that being a college graduate is completely orthogonal to knowing what the hell you're talking about, whether it's within your major or outside it.
But the thing is, if you're coming in as a Lead Developer, and you have a degree, I can't discount the possibility that you got the job on the merit of your degree rather than your skill - so from my perspective, the likelihood that you know how to code is less likely if you have the degree, because it provides an alternate (and regrettably much more salient) hypothesis for how you got here.
Does that make sense?
I'm just saying I wouldn't have a place for them in my line business, we don't just do run of the mill CRUD stuff, we need people who can genuinely innovate and create great new products and who are driven to constantly improve their skillset to keep pace with that.
Okay, so serious question:
how can someone who used to DREAM of jobs like that, who has become completely disillusioned and beaten down by having to code crappy CRUD work for 15+ years, break out into the kind of work you do?
I've been exactly that guy. 20+ years experience, applying for a US$35K salary.
Because between mental health issues and just being tired of work-related drama, I didn't think I was worth the $120K I used to get.
And yeah, I get that self-confidence and salesmanship go a long way, but they're also really tiring for some people to emulate.
Absolutely. And usually early optimization leads to way more spaghetti code than properly describing the problem, coding a conceptually elegant solution, and then optimizing from there.
Congratulations! You have exhibited all the negative stereotypes we associate with non college grads. You may now proceed to explain to us why, if you are so much more intelligent than us, you are so dissatisfied with your life relative to ours.
Because my parents couldn't afford to send me through college, and I was too busy coding in junior high and high school to keep my grades up or network with the right people.
As someone without a BS in anything, I've actually found the opposite.
Yes, people who are self-taught often have gaps in our knowledge, but we tend to be *much* faster at filling those gaps. Also, the fact that we acquired all the knowledge we did without a college degree indicates that we are motivated to fill those gaps ourselves.
It is very likely that there are things we have not been exposed to, even if we match your 15 years' experience as a software engineer. However, upon exposure, I am willing to bet that we will beat you soundly at rapid acquisition and assimilation of knowledge - especially since, if you've been in the field for 15 years, your degree is over 15 years old. Which means that plenty of things which are new to me will be new to you, too.
You're absolutely right that you'll never have to compete for a job with someone that does not have a bachelor's degree. I, on the other hand, have to compete with people like you for the right to do my damn job all the time, because you're absolutely convinced that four years in a university beat four years actually in the field working on real-world problems, while voraciously consuming papers and books, and while corresponding with experts in the field - because unlike you, my tools were not handed to me by a university; I had to build them myself.
None of which translates well to a bureaucracy-approved stamp I can stick on my resume, so you're right - good on you. You'll get fast-tracked to management, where you'll continue to pretend like you know what you're doing more than I do, where you continue to ignore my explanations of why your harebrained ideas won't work, and where you'll continue to get me fired when they fail in exactly the way I warned you they would. You've certainly got it all figured out.
Except how to fucking code.
Premature optimization is terrible.
Because it sure looks like you spawned a Stand Alone Complex, and that has to feel weird.
We still don't, actually. He's neither rich nor white.
How this is a surprise to anyone by now is a surprise to me, this has been standard operating procedures with pretty much everyone since computers have come out.
Computers?
http://www.motherjones.com/pol...
"I don't know why it's important for physical sports to have gender segregation, but they do it and people recognize them as legitimate! If we segregate by gender, maybe that's what will make people recognize us as legitimate!"
Just like in programming, this line of thinking clearly translates down to "I have no idea what I'm doing, and I have no idea what the consequences of these choices are, but I'm just going to bang at things until something works or everything breaks."
(Spoiler alert: usually, everything breaks.)
All of this would require a MASSIVE amount of lobbying to accomplish, and therefore a MASSIVE amount of money.
How do you currently get massive amounts of money?
Therefore, what incentive do people who currently have massive amount of money have, to make the changes you propose?
No, becasue the only food they can afford is salt laden fatty food.
Remember most pore people work full time jobs and still are at the poverty line. So no time, and not money, and limited education.
And massively high cortisol stress levels, which - when combined with the food desert - will muck up people's metabolism in short order.
You know, I watched my wife work all day gettin' thirty tinfoil sheets together for you ungrateful sons of bitches, and all I hear is criticize, criticize, criticize!
> But the real problem is this, and this is what most people don't get: Many nerds do not step in and stop their fellow nerds if they are creating a hostile environment, or otherwise make it clear to the few that certain behaviours are unacceptable, and most nerds are oblivious to what women and other minorities face in the community from the actions of the few.
Because when we do, we're accused (by that woman) of "White Knighting". And sometimes legitimately - there's a LOT of false signalling going on when the stakes are this high (and when reproduction AND pack dynamics are involved, the stakes are ALWAYS high).
There's a LOT of misogynistic jerks out there. But there's also a LOT of role-confusion and conflicting signals about what we're supposed to do about it.
The tumbler Social Justice Warriors have some damn good, highly valid points - but they're expressing them in pretty toxic and unhelpful ways.
The MRA movement also has a few damn good, highly valid points - but they're expressing them in pretty toxic and unhelpful ways.
And the narcissistic sociopaths stand in the middle, egging both sides on, because chaos is fun, and tears are delicious.
And each time one side presents a toxic, unhelpful argument, it makes the other side that less capable of presenting their side in non-toxic and helpful ways - because coalition politics are buried pretty deeply inside our monkey-brains.
Actually, there's a term for that: It's called "Poe's Law".
man, I would LOVE to work somewhere that has an actual legal department. The best I've seen is "the CEO-owner's brother, who got a law degree at a fly-by-night university".
Scenario: You're writing firmware for a "smart" chargeable battery. Multiple cellphone manufacturers will use your company's batteries. Also, you can reasonably expect that several non-cellphone uses will arise. The battery has a high energy density, and therefore a nonzero chance of fire / explosion if improperly charged. Shortcuts were taken in hardware safety because "we can just make the software not allow those situations". Some of those situations are difficult-to-impossible to disallow without compromising some of the battery's key marketing features. You know there will be edge cases where someone will do something plausible, but not-technically-correct, with your battery - and you know that in a few of those edge cases, they will get a face full of hot intercalated lithium. Your boss has misrepresented your capability to find solutions to impossible problems, so now you're on the spot.
Who do you "call personally" in that scenario? Each of the five million or so end users? Or each of the cellphone and RC quad copter manufacturers on your boss's boss's marketing VP's supply-chain list?
You know what's funny? I've fought THAT battle, too. I used to twitch every time I had to call what I did "Computer Science", or talk about "paradigms", or "cloud-based solutions", or whatever.
At a certain point, I just gave up. People will call things whatever they want to call them, and I do not have the political power to enforce accurate terminology. So I either get with the program, or get constantly corrected by PHBs.
And apparently, even when I DO get with the program, I STILL get corrected - but by pedantic programmers, instead.
Well, here's the thing:
I've gone ahead and walked. A few times, in fact.
The employer always just finds someone else to do the job, and I wind up with a reputation of "difficult to work with".
I've literally starved for my ethics. Have you?
And when you know for a fact that those instructions will be handled by a department that is not interested in communicating honestly with the customer, especially if doing so might convey a sense that the product is dangerous?
It's not a fallacy, because we use words and correlations between words to convey nuance. Otherwise things get so slippery that you can claim you meant anything.
To a computer programmer, ethics is dead code, and I mean that in a good way. It takes effort to do wrong, and money to add the ethically problematic features -- and the only person who makes that happen is your boss.
Not necessarily - imagine software that controls a physical device, which has safety concerns. There's a simple and elegant check that can be performed that catches 90% of the dangerous use-cases, or there's a really hideously complex set of layered checks that will catch 99% of them. You have two days to ship or you're fired. Which do you include?
Other way around, actually. 'Morals' -> 'mores', which is about customs and expected public behaviors; 'ethics' -> 'ethos', which is about internal guiding principles.
And every employer I've developed code for has told me the same thing: shut up and get back to work.
Ultimately, in order to address the ethical considerations of programming, we would need a work culture that supports it. Otherwise it simply becomes another "know which side your bread is buttered on" lesson.