Cool, so I guess my career is meaningless, then. :)
Getting a degree is something I very much want to do, but it's something I haven't been able to do (due to the time and money required to do it). I ended up jumping straight into the workforce in the hopes that at some point I'll have saved up enough to actually enroll (since my high school grades left much to be desired; it's a miracle I even got my HS diploma).
Really, though, 99.995% of IT (in my experience at least) doesn't actually require a degree (obviously, since I'm doing it right this very moment without a degree and have been doing so for more than half a decade). It does require a lot of background knowledge that, sure, might've come to me faster had I received a formal education in IT, but I've been able to acquire it just fine through real-world work experience (and have been paid for it, to boot).
My interest in getting a degree has more to do with my interest in a lot of the more theoretical concepts. I'm able to stumble through a lot of things via self teaching, but I do feel like I'm missing various critical pieces, so I'd like to fix that. None of those pieces are getting in the way of me doing my current job, but I do feel like my career is prone to stagnation if I don't have those pieces.
Really, though, 99.995% of IT (in my experience at least) doesn't actually require a degree (obviously, since I'm doing it right this very moment without a degree and have been doing so for more than half a decade). It does require a lot of background knowledge that, sure, might've come to me faster had I received a formal education in IT, but I've been able to acquire it just fine through real-world work experience (and have been paid for it, to boot).
Unfortunately, that is not true: you can get by twiddling something, but the software you'll write without formal education in computer algorithms and data structures will always be inferior and often unmaintainable. This is from personal experience debugging lots of code over the years written by people without formal computer science education.
You could attempt to make the argument that not everyone needs to be a programmer, but system administration skills of such people are also subpar: sooner or later one needs to automate, and the shell scripts written by such people are always either hacked together or overcomplicated because the knowledge of algorithms, data structures and common solutions (like this enqueuing scheduler) simply isn't there. It's exceedingly difficult to educate oneself on something one isn't even aware exists.
If you really love IT and love what you do, get a computer science degree which provides a quality, required education (and not just for the paper so you can say you have one).
I feel like folks who are this elitist about a degree being mandatory (regardless of field) are trying to justify their crippling student debt :)
Yes, an academic background is helpful in IT. Yes, I do see the value in acquiring that formal education, and certainly wish to do so. No, it is not mandatory, and no, it does not magically turn people into good programmers.
And no, I am certainly not going to stop working because some random commentator on Hacker News thinks that having a successful IT career is strictly dependent on having a CS degree despite such an assertion being demonstrably false. Bill Gates and Mark Zuckerberg and Michael Dell managed without. Larry Wall's degree was in the study of languages (of the non-programming variety), and that's what paved the way for him to create Perl.
Besides, CS grads are no more immune against writing bad code, in my observation debugging (and/or working around) code written by people with those degrees. The degree itself is not a reliable indicator of whether or not someone is competent.
"I feel like folks who are this elitist about a degree being mandatory (regardless of field) are trying to justify their crippling student debt :)"
However, feelings aren't facts: I paid the remaining 12,000 USD of my student loans to the federal government within months of graduating. The rest of my tuition was covered by scholarships because of my 4.0 grade point average, and the other part by my then employer, minus the IRS taxable parts which I paid fair and square. Those scholarships were free money: all I had to do was maintain a grade point average higher than 3.0 and send in my report card at the end of every semester. That's reality.
As far as immunity to bad code, you really, really need to watch Brian Cantrill's videos; if he doesn't change your mind about that, nothing and noone will.
That's great. Not all of us can afford to burn $12k. I certainly didn't have a 4.0 GPA, so it ain't like I would've qualified for any scholarships of significant value. I did qualify for FAFSA, and used that for a semester of community college before I started working full-time. Wasn't much, though.
I'm sure Brian Cantrill is some really smart person who will totally blow my socks off with reasons why I'm a worthless piece of shit because I don't have a college degree. Regardless, considering the sheer amount of terrible software written by thoroughly-educated people, and the sheer number of diploma mills out there that'll graduate anyone with a pulse (and even that's optional), it's patently obvious that a degree is - again - not a reliable indicator of competence.
Getting an education is never burning money. I could have made the minimum payments of a couple of hundred dollars per month for the next ten years but I wanted to live free so I mercilessly paid it off as fast as I could because freedom is dear to me, I had my entire life ahead of me (I was 21 at the time) and many plans fueled by megalomaniacal ambition. I paid it all off from my salary working in IT.
If you think like you do, then it's no wonder a mere $12,000 USD is a lot of money to you. Not only was I a full time student, but I also worked full time and for about six months I'd rack up another 30 hours working part time every weekend, just in case I lost my first job. I did the bulk of my homework on the bus and then I studied when I got home. 134 miles round trip every day.
Moving on to your comment about Brian: all he is saying is that computer science education is well worth it if one works in the computer industry, and he is qualified to say so because not only is he a computer scientist but also a kernel engineer and exceptionally good at both writing and debugging code. And yes he's super smart.
Finally, I want to touch upon your remark that my comment was elitist. I thought about that for quite a while, and I concluded that yes, it is elitist, and there should be no apologies made for that: computer science is hard, and managing to get a degree in it does make one intellectual elite. It's elitist because it's hard and challenging to earn. I studied like crazy, graduated at the top of my class, I applied myself because I lived for computers and therefore I refuse to make any apologies for becoming the elite just as I refuse to feel bad about it.
"If you think like you do, then it's no wonder a mere $12,000 USD is a lot of money to you."
$12k is a decent down payment on a small house or condo (at least if you're living outside of a place with grotesquely-inflated property values like the SF Bay Area), or a significant amount of the way toward a new or lightly-used car. It's more than the vast majority of Americans have in their savings accounts. That you consider that to be trivial betrays how thoroughly out-of-touch you seem to be with the real world.
Regardless, given my mediocre-at-best academic record in high school, my tuition likely would have been much higher than a "mere" $12k even with my (at the time, and probably still in effect) plan of pursuing the Associate's degree first (unless I stop at the Associate's degree, but I have a feeling folks like you would still be snobbish about that).
"managing to get a degree in it does make one intellectual elite"
No, it really doesn't. Not all institutions are equal in terms of academic rigor, and not everyone graduates from CMU or MIT; some of them went to ITT Tech or got to be a "Legacy" at Harvard. High-schoolers in America (myself included) were/are constantly bombarded with propaganda about how "if you just get a college degree you'll make so much more money" and then the kids flock to whichever degree mills will get them that piece of paper. And again, I know from direct personal experience dealing with CS-degree-holders that the degree itself is not a reliable indicator of competence for that reason.
If you think that a piece of paper is the thing making you an "intellectual elite", then you're in for a rude awakening when the rest of us manage to peer through that veneer. What does make you an "intellectual elite" is actual merit, and that is earned, be it through actually-rigorous academic study or actually-rigorous experience in the real world (and ultimately, the elite of the elite will more often than not have an abundance of both; most such folks start with the academic side of that equation, but I missed the boat on that so I guess I'll have to make do coming at it from the opposite direction).
FWIW, as a former employer of a web dev company, I can say that having a CS degree tended to be a minus rather than a plus: CS graduates tend to be too theoretical and not practical enough in day-to-day development work.
That might be your experience, but mine is exactly the opposite. Besides what you've written sounds like trying to self-justify why one didn't get a degree.
We didn't just theorize: my entire advanced C programming class was spent in front of the whiteboard, debugging code; we had to manually depict what the pointers and the memory looked like; the operating systems class required writing a virtual memory manager, and my diploma thesis was building a firewall based on a Sun Enterprise 250, Solaris 7 and CheckPoint Firewall-1. It would be a bit of a stretch to call all of that theoretical, especially since the firewall went into production at the company where I used to work full time while I was studying, also full time. Later on, I debugged and developed for a living and I still do, even though as a technical architect I could comfortably get away with doing nothing but "Powerpoint" and "Excel" all day long. But I don't and the only reason why I don't is because I went to study computer science to program and design computers, not masturbate in the realm of theoretical. None of the CS graduates I ever worked with were pure theorists, we were all driven by applying what we learned in the simplest, most effective way possible. That's what we went to school for, and that's why I can only recommed to everyone else working in IT to do the same: those algorithms and data structures learned at the university sure came in handy and saved my ass many a time, producing small and fast software.