Live data from Hacker News

No CS Degree – Interviews with self-taught developers

nocsdegree.com

321–330 of 480 posts

Re: No CS Degree – Interviews with self-taught developers

#321

Earlier quoted context omitted.

>Congratulations, you're making money by manipulating someone into giving you their money. Awesome ! Thanks for playing, please leave. It's not manipulation. It's always a sales proposition, but you're either doing it well or you're doing it poorly. Obviously, there is no external, impartial arbiter of what makes a "good" programmer (or products, or services). There is only perception. I used to drift around but I've…

I think an undertone point might be that sales is manipulation.

The difference between manipulation and influencing is whether or not something underhanded has occurred. You can sell yourself while being totally honest.

So many things in business are sales transactions, and it's better to come to peace with that early on. Sure, we're engineers but if you want your value to be recognized you have to learn to be a businessperson too.

Re: No CS Degree – Interviews with self-taught developers

#322
post #199

Earlier quoted context omitted.

It's not really that hard. For example I made a queue that outperforms the lynx queue. My fundamental instinct after reading that paper was that there's no way faults out perform bounds checks in a modern, speculating out of order CPU. I ran some tests and yes my instinct is correct. Maybe the result wouldn't hold under peer review for some reason, I just tested a few more ideas / criticisms with a colleague and move…

The person you replied to is wrong. This is peak stereotype: > I'm not a genius, unless you count an online IQ test I took in my early twenties, but I'm deeply skeptical of those You do sound smart though. Just... one of the benefits of a challenging formal education is a large dose of humility.

Haha, well I'm not sure I can honestly deny an accusation of being a genius, at the same time I'm not sure I can affirm it either - and just to talk about it seems to imply a lack of humility. Irrespective, there are lots of kinds of intelligence and I'm blessed with some of the less useful forms of it that happen to test well.

Re: No CS Degree – Interviews with self-taught developers

#323

It's fun when people assume a CS Degree means you are a developer. Practically all development is self-taught, a CS degree is only handy for those moments where you dig into some abstract theory, which in most development jobs hardly ever happens. You mostly spend (or waste) time on tools, frameworks and interaction (both with humans and other systems). Lots of common development is rather mundane compared to all the…

CS is more than abstract theory. It gives you a foundation that you otherwise are unlikely to get. Self-taught means learning things useful for your existing job or things you find interesting. I'm work almost exclusively on the frontend, but my CS degree gave me enough foundation that I'm fairly familiar with compilers (I wrote one in college for a required course). I don't necessarily enjoy writing compilers. But t…

> But the fact remains that I can write a compiler. I can program in C or C++. I do understand pointers.

EDIT: Note - I see your replies and reasoning with others on what you meant; I do agree with you there, too.

---

I know you can do all of them without a CS degree.

Where a CS degree really helps, though - and this is something that I know I lack (but real-world experience has taught me enough that I can get by) - are what could be almost considered CS fundamentals:

* Data Structures

* Sorting Algorithms

* General Algorithms

Fortunately, in the day-to-day realm of most programming, you don't need to implement any of them from scratch, and most of them you can learn the basics of (or "best common examples") fairly quickly, which is where I am at mostly.

The problem happens when you run into a situation that isn't seemingly addressed by that level of knowledge (which again, thankfully, in most day-to-day work is extremely rare); by having that prior exposure via a CS degree, you would at least potentially know some words or phrases to look up to refresh your memory on concepts.

Further, you would also have the knowledge (or refreshing of knowledge) to be able to understand any new developments that may have occurred since you were taught (and so could easily read any research papers on the topics).

If I were in such a situation, I would need to break out some google searches on various xyz (ie structures and/or algorithms), use whatever understanding I have to understand those to a level to be able to pick out potential candidates to study in more depth, and maybe hope to run across more recent stuff that may be better (and pray I could understand it enough to implement it).

The one upside in this day and age, though, is that for all of these, for virtually any language I currently understand, someone has likely written an implementation of it - which can be extremely helpful both in the solution to a problem, and in understanding that solution.

But a CS degree would make things much simpler, were it something I had time to pursue. I could probably find the time, but the cost vs benefit ratio no longer works out to my favor, beyond self-edification, given my age and current life obligations.

Re: No CS Degree – Interviews with self-taught developers

#324

It's fun when people assume a CS Degree means you are a developer. Practically all development is self-taught, a CS degree is only handy for those moments where you dig into some abstract theory, which in most development jobs hardly ever happens. You mostly spend (or waste) time on tools, frameworks and interaction (both with humans and other systems). Lots of common development is rather mundane compared to all the…

The CS program taught me the history and context for Computer Science. It taught me the fundamental physics that make a gate work and how to put those gates together to make a logic circuit. It then built on this one step at a time, walking us through each layer from how machine code manipulates bits to how to properly evaluate the run time of a complex algorithm. CS told me the comprehensive story. Earning my BS and…

I am absolutely confident that you couldn’t tell I’m self-taught if you worked with me.

All the stuff that your CS degree taught you is also possible to learn by reading books.

Re: No CS Degree – Interviews with self-taught developers

#325
post #11

Recursion and Abstraction, like love and herpes, are a form of disease which once caught cannot be lost, but can be shed, and so spread. Your brain is wired to look for both opportunistically, in any problem. What a CS degree does, is teach you how to apply the infection. Some CS degrees are like innoculation against them and you come out with a degree, but no grasp of the fundamentals. Others, you learn so much you…

[deleted]

Re: No CS Degree – Interviews with self-taught developers

#326

I think its pretty well known that you can work as a successful developer without a CS degree. However , as someone who is currently working through a masters in CS (after working in software the last decade), I would say that CS courses (some, not all) provide invaluable foundation that would be difficult to obtain (of course you can self study CS). Sure — you don’t need to know how the OS works to write a web app t…

You are conflating “having a CS degree” with “learning CS”.

You don’t need a professor to tell you what books to read. You can just read them.

Re: No CS Degree – Interviews with self-taught developers

#327

I have no CS degree. I see a lot of these comments poo-pooing the skills of people who taught themselves to program. From my experience, some of the best developers I have worked with do not have CS degrees. I have given many interviews where candidates could explain what an abstract class is, but then when it came time to actually write code they could not even build something that compiled, or their code was really…

I like to think of it as there being two aspects to software engineering: there's the abstraction side, and then there's the craft side. CS graduates tend to be heavily weighted toward the abstraction side, and weak at the craft. Self-taught ones are weighted the other way around.

Re: No CS Degree – Interviews with self-taught developers

#328
post #9

I'm 39 years into a coding career with no CS degree. But as a compulsive auto-didact (probably a common syndrome among HN readers) it hasn't been a barrier. Self-learning is a continual, daily requirement for coders. If you can continue your education as needed for this job you probably also have the skills and interest to learn from scratch. I studied the same books and did the same exercises as my brother the CS ma…

Can you elaborate on some of these books you are referring to? I'm a self taught developer in his first real, institutional engineering role and I am worried I'm in over my head sometimes and would love to read some "must haves".

Not the OP but I am another non-CS degree person.

I got into this stuff in early high-school, and those were just "intro to C++" books.

The book that kind of changed my life (and a bunch of other people's as well) is one I bought when I was 19 called "Structure and Interpretation of Computer Programs" (SICP for short). It's a bit heavy, but if you know the basics of programming it's not too difficult. This book really teaches you a lot of fundamentals of software, and to me is the must-have book in compsci, and it's available for free of MIT's website.

Then I just went on ebay and looked up "discrete math textbooks" and "discrete structures textbooks", and bought a few of the cheaper ones.

Then I started finding individual topics that interested me, which largely dealt with distributed computing, weird abstract math, and video processing. For that, I bought the book "Programming Distributed Computing Systems" by Varela, "Certified Programming with Dependent Types" by Chlipala, and random books on Fourier Transforms from eBay.

This is over the course of a few years, and it was intermixed with about a million different blogs and tutorials to get me better. I've found if you stick with the more "theory-heavy" languages like Coq, Idris, or Haskell, you end up picking up a lot more of the compsci concepts that you might learn in school, just because there aren't a million people constantly yelling "OMG YOU DON'T NEED MATH FOR ".

Re: No CS Degree – Interviews with self-taught developers

#329
post #249

Earlier quoted context omitted.

You overestimate the value of a paper. It's worth approximately $0. But would cost maybe a week of time or about $6000 if you only count what I can sell my time for. Terrible deal.

Yet your ideas could get you millions in publicity, fame, etc. to spend literally one week to advance the field. The fact that you actually argue against this is laughable, not to mention incredibly selfish.

What makes you think the idea is significant enough to get “millions in publicity”, etc.?

He’s not claiming he invented cold fusion, just something that would be an iterative step in improving the state of the art, probably worth one paper in a decent but not super prestigious journal. Where do you get the idea that it’s worth a free Ph.D, fame and fortune, and all that?

Re: No CS Degree – Interviews with self-taught developers

#330

Since these articles seem to be putting a cash value on the word "success" (or at the very least an instagram buzz value), I would point that IMHO, most of this success comes from people skill. You can have a degree or not, even bad developpers can hop from one job to another, making more and more money in the process, given they're good enough to manipulate the recruiters/clients into hiring them. Making money does…

> Getting a degree is the best chance you have to becoming good at it. You can still be creative this way.

I think you're going to see these kinds of arguments made ('Don't attend University. Learn [x] instead/on your own.') and each day the argument is going to hold more merit. The university industrial complex continues to expand and become ever more out of reach for a large section of the population, or worse: it's becoming more and more fiscally irresponsible for most people to attend higher education, taking on the mountains of debt necessary to make it possible.

So the sensational stories of survivorship bias about the one-off people making exorbitant amounts of money can definitely go... but a university degree is becoming more and more impractical, and I expect it to get much worse.

Post reply on HN