4 ms·
How do you know someone doesn't have a CS degree? They'll tell you. You're right: Nobody cares you don't have a degree. It's not impressive, it is just normal.
by honkycat 7y ago
How do you know someone doesn't have a CS degree? They'll tell you.
You're right: Nobody cares you don't have a degree. It's not impressive, it is just normal. What I have a problem with is the huge chip on people's shoulders about "not having a degree" and insisting on dissing anyone who chose to go a different route.
I have a CS degree, I went to school on a scholarship, did not have these massive loans and "wasted years" everyone keeps harping on about. I volunteered my time, I was on the programming team, I did internships, I got amazing insights and advice from my professors. I went to school at night and worked during the day.
I consider my CS degree the best decision I ever made. I found the training and education I received extremely valuable. However, not all degrees are created equal. I went to a really great school. Probably would have had a different experience if I went to whatever crappy state school was nearby.
I also don't think it is necessary to have a degree to be a great programmer. What I DO think is necessary is study and honing your craft. Experience for software development is worth much less than people give it credit for.
Hacking sucks. Just hacking at stuff for years on end leads to you being an expert beginner. Do you have 10 years of experience? Or have you done the same thing for 10 years. This applies to everything: You can get twice as far in half the time if you don't have to figure everything out for yourself, and listen to and learn from experts.
What I look for in a developer: READS BOOKS. ( Audio books count )
That's the only thing. I'm sorry, if you are not reading and studying to keep up, you are getting left behind. There are so many brilliant people writing amazing books on a huge array of subjects. If I could get every one of my developers to read ONE book in on software design[0] a year, I would die happy and the entire industry would be 10 years ahead.
They don't even have to be technical books. I just want to see intellectual curiosity and a commitment to self improvement.
- 0: In the vein of Clean Architecture, The Pragmatic Programmer, The Mythical Man Month, Designing Data-Intensive Applications, The Google SRE book, etc.
- mywittyname 7y ago> Probably would have had a different experience if I went to whatever crappy state school was nearby. I went to a bottom-ranked state school and loved it.
- honkycat 7y agoYeah, that's fair. I shouldn't diss on state schools. I had a specific one in mind when I wrote this, but it can definitely come off as elitist. My apologies.
- sadahtay 7y agoI had the opposite experience. I don't think I went to a terrible school but I learned way more practical skills through my internship and work experience after graduation than I did in school. The only language I used both during and after college is PHP. I never learned any C#, .NET or Javascript. I have not used C, C++, Java, Haskell, Scala, Big O notation, graph theory, NP&NPC, linear algebra since then. While a lot of these languages and theories are interesting I feel like it was a lot of wasted time and money.
- ticmasta 7y agowell, learning Java serves you well for C#; skills with C and C++ have huge transfer value; maybe you haven't been tasked with "figure out the cost of this algo" but I hope intuitively you've used some Big-O, linear programming, recursion and maybe graph theory; IMO those math courses have really helped you understand how a database works and costing execution plans; The practice in picking up new languages in less than a semester should give you an edge in identifying common aspects today; the list goes on... I'd go as far as to say it's a bad sign if you can draw direct linkages between what you learned in university and what you do day-to-day in your job. That's not really the intent of a degree in comp sci.
- sadahtay 7y agoOf course learning one languages improves your abilities to pick up other languages but the university curriculum is definitely geared more towards continuing your education or a career in academia/research. I feel like I would have gotten more valuable knowledge/skills from just going to a bootcamp in addition to saving a lot more time and money.
- 7y ago
- commandlinefan 7y ago> the huge chip on people's shoulders about "not having a degree" Glad to see I’m not the only one who winces at this. As bad as intellectual snobbery is, reverse/anti-intellectual snobbery is worse: “we don’t take to all yer fancy book learnin’ in these here parts!” It often seems to be lost that the difference isn’t between somebody with a four-year-degree and somebody with 10 years of experience, but between somebody with a four-year-degree AND ten years of experience and somebody with ten (or even fourteen) years of experience and no degree at all. With machine learning finally coming into its own, software development is getting to be more mathematical, and what you learn in college actually is pretty useful.
- sodafountan 7y agoIt's interesting that you think you need to attend college to be an "intellectual", and that people who didn't attend or chose not to continue must hold "anti-intellectual" views, that should definitely tell you something about your own narcissism. It sounds like you went to college and I think that's great, I hope you learned a lot and got a lot of value out of it, but try not to disparage the people who decided not to stick around and are working in the same jobs as you because they were smart/pragmatic enough to see the college experience for what it was. Personally I thought college was a huge waste of time and money. We live in the day and age of the internet and yet we're paying tens of thousands of dollars to learn things that we can teach ourselves for free and the only reason we do it is because we're too afraid not to. Doesn't that sound ludicrous to you? It did to me, and that's why I saved hundreds of thousands of dollars on my student loans by switching to drop out. And before you hit me with the "It was all about the experience" argument, I'd agree, you paid for a very expensive life experience. I'm now happily employed as a lead software developer making great money. If I need to brush up on my data structures and algorithms for an interview you know what I do? I go online. If I ever want to delve into machine learning you know what I'd do? I'd go online. Need to brush up on some math? You guessed it. Strictly speaking I think you made a bad investment by going to college, does that make me an "anti-intellectual snob"? And as a follow up, does it make you "wince" when you see how much you paid to learn what I learned for free?
- 7y ago
- RussianCow 7y ago> Experience for software development is worth much less than people give it credit for. I strongly disagree with this. You can read all the books you want, but when it comes to making a decision about a set of tradeoffs, there is no substitute for the experience of having made a similar decision in production before and having seen what works well and what doesn't. So many of the nuances of real-world production systems get lost in books and articles that it's hard to know when it's appropriate to apply that knowledge. That said, I concede that "experience" doesn't necessarily have to be your own—you can learn from the experiences of your co-workers, friends at other companies, or random people on HN, you just have to take everything with a grain of salt. > Hacking sucks. Just hacking at stuff for years on end leads to you being an expert beginner. Solo tinkering is a poor substitute for the experience of building production systems with a team, but it's a great way to stretch the breadth of your experience. I have learned lots of different programming languages, platforms, and concepts in this way that have all made me a better programmer all around, even if nothing tangible came out of any of it.
- jart 7y agoYou can work on all the real world production systems you want, but not all production systems are created and operated equally. Engineers who haven't received very specific types of training might address issues in ways that doesn't solve the root cause, leading to bad habits and potentially endless cycles of fires. What I feel matters more than books, experience, and everything else, is simply being plugged in to an environment where you can socialize with the folks who've received the most outstanding training, and by osmosis, having the neural network between your ears attuned to their biases and areas of focus. Higher education does a good job at this. So does working for a big company.
- jamesb93 7y agoSorry, but do you read your own comments out loud? This reeks of a kind if snobbery, just not the type you're snobby against.
- honkycat 7y agoYeah people always drive by with this exact comment. My writing style comes off this way sometimes, I can't control how you interpret my comments. It's a social media post, not a great American novel. Oh no my social media comment was read as "smarmy" by some internet drone. Yawn
- jamesb93 7y agoIt didn't come off as smarmy (well it did), but it primarily came off as contradictory.
- non-entity 7y agoI fell for the propaganda a few years ago and opted not to go to school on the basis of "too much theory" "side projects" etc. and am just now starting to believe that it was the biggest mistake of my career. I'm starting to realize now that if I want the chance to work on interesting problems (let alone be smart enough to work on them), not having a degree will be crippling and I have a ton of catching up to do on CS in general. Unfortunately, I looked at going back and even going to a crappy state school would likely leave me dug in debt
- AtlasBarfed 7y agoI understand people can "get by" without any higher level CS knowledge in a results-oriented programming world, especially in the era of framework mix and match monkeycoding, but there are fundamental things that the theory of computation, operating systems, and complexity theory gave me. Aside from single-row pulls (and even still), should someone that doesn't understand basic big-O be allowed to write any code that accesses a database?