News for hackers. Stuff that matters.
Re:No CS Degree – Interviews with self-taught developers by oneplane on Tuesday July 23, 2019 @11:42AM (#20507611)
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 beautiful theory behind it. Which is not automatically bad, but also doesn't require a CS Degree to get going.

Re:No CS Degree – Interviews with self-taught developers by jhall1468 on Tuesday July 23, 2019 @12:09PM (#20507827)
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 the fact remains that I can write a compiler. I can program in C or C++. I do understand pointers. None of this may hold any real value, but I wouldn't be able to do any of them if not for the degree.

Re:No CS Degree – Interviews with self-taught developers by neilv on Tuesday July 23, 2019 @12:16PM (#20507872)
> But the fact remains that I can write a compiler. I can program in C or C++. I do understand pointers. None of this may hold any real value, but I wouldn't be able to do any of them if not for the degree.

I liked your initial point, but the argument weakens... People absolutely have learned all the above things (and very well), on their own, outside of a CS degree, and I bet you could've.

Re:No CS Degree – Interviews with self-taught developers by jhall1468 on Tuesday July 23, 2019 @12:29PM (#20507982)
I wasn't advocating that people don't. There are absolutely vastly better compiler programmers than I am that have never taken a formal class.

My point was that I wouldn't have learned it because I don't enjoy it. And sometimes, professionally, we get to do stuff that isn't fun. The nature of being self-taught is heavily biasing the things that interest you. College forces you outside of the box. Outside of the box happens to be those things for me, but they'll be other things for other people.

Sorry if that point wasn't clear.

Re:No CS Degree – Interviews with self-taught developers by trustyhank on Tuesday July 23, 2019 @12:58PM (#20508216)
As a self taught developer I can say your point assumes self teaching is all about following your interests. This is simply not true. Self teaching is a combination of following your interests and figuring out your areas of weakness and attacking them. Part of my self learning involves browsing college degree requirements or graduate programs to identify must know topics, I learn them regardless if I have a particular interest. If college is the only thing forcing you to think outside the box, what hope is there for your long term learning.
Re:No CS Degree – Interviews with self-taught developers by jhall1468 on Tuesday July 23, 2019 @01:30PM (#20508520)
My point assumes people bias their learning towards their interests. That isn't an opinion, that's just human nature. That's not to say you can't learn things that don't interest you, but if you aren't going to do it formally you certainly have to be driven by filling those gaps and most people aren't.

Learning to think outside the box and learning about specific specialties that you don't find interesting aren't even remotely the same thing. If you read what I wrote, you'll notice the example areas I gave. None of them were "thinking outside of the box", they were fields that didn't interest me.

The value they bring is that I learned a common language. I can talk to ML engineers or Compiler Engineers in a common language because I have experience in those fields that I wouldn't had I taken a different route. That isn't even remotely a requirement for my field. It's just useful for discussions with other people.

Maybe you'll spend hours and hours learning compiler design and implementation so you can have a friendly conversation with a colleague at lunch, but I'm not going to. Formal education forced that on me. That's been healthy for my professional networking, but that's about it. I still consider it useful, but had I skipped the CS degree I wouldn't do it. Nor would most people.

Re:No CS Degree – Interviews with self-taught developers by scifi6546 on Wednesday July 24, 2019 @07:29PM (#20521170)
At the same time people who are self taught typically have more time and energy to attack things in more depth. My cs classes are pretty 'standard' and on my free time I can go on long tangents where I really learn. I learned about assembly programming and the bacics of how cpu's work from self learning rather than getting a very simplified understanding from a class. There are many things in cs that can not be learned in 1 semester and people who are self taught have the ability to take things at their own pace and jump to different topics, something that busy college studens have little time to do
Re:No CS Degree – Interviews with self-taught developers by ColanR on Tuesday July 23, 2019 @02:19PM (#20508929)
It sounds like you're speaking for yourself more than for anybody else.
Re:No CS Degree – Interviews with self-taught developers by jhall1468 on Thursday July 25, 2019 @03:34PM (#20528687)
No, I'm speaking about human nature. Most people don't learn things they dislike because it fills a knowledge gap. How many people do you know with hobbies they hate?

It's natural to gravitate towards things that interest you. Some people are driven by gaps and learn things regardless, most people do not. That's not even controversial.

Re:No CS Degree – Interviews with self-taught developers by ColanR on Thursday July 25, 2019 @07:41PM (#20530964)
I didn't know we were talking about hobbies.
Re:No CS Degree – Interviews with self-taught developers by jhall1468 on Friday July 26, 2019 @12:39PM (#20536087)
That's literally what it is when your self-taught. You generally don't get a programming job then learn to program.
Re:No CS Degree – Interviews with self-taught developers by trilinearnz on Tuesday July 23, 2019 @08:01PM (#20511278)
Would just like to say that this is a fantastic point, and really makes the case for a formal education. It takes a special kind of self-motivation (which I readily admit I do not have) to diligently learn those uninteresting-but-necessary parts of the CS curriculum.
Re:No CS Degree – Interviews with self-taught developers by celticmusic on Tuesday July 23, 2019 @02:01PM (#20508774)
and many people throughout history have also learned math on their own, this doesn't devalue the worth of a math degree.
Re:No CS Degree – Interviews with self-taught developers by Corazoor on Tuesday July 23, 2019 @03:27PM (#20509485)
There is actually a difference between being self-taught as you describe it, and being an autodidact.

The latter is able to identify holes in his own knowledge, and find appropriate material to educate himself on. That ability is what defines an autodidact in the first place.

This is also the very same thing you get taught in basically all sciences: How to aquire knowledge about a subject matter you yet know nothing about.

So, an autodidactic Programmer without a degree will most certainly have similar knowledge as a CS graduate, simple because that is how such people "tick".

It's just that not every self-taught programmer is an autodidact. And in that case I agree with your argument.

Re:No CS Degree – Interviews with self-taught developers by Fellshard on Tuesday July 23, 2019 @12:16PM (#20507876)
Exactly this. The way I think of it: It expanded the space in which I can search for solutions. I have enough underlying detail of the computer science map to pinpoint where fruitful design opportunities lie, and what patterns are likely to fit, /and/ which concepts would make a poor mapping for a given problem, leading to bad abstractions.
Re:No CS Degree – Interviews with self-taught developers by cr0sh on Tuesday July 23, 2019 @02:31PM (#20509041)
> 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 by zshrdlu on Tuesday July 23, 2019 @02:47PM (#20509152)
The failing here is that you have put a (rather low) ceiling to what an auto-didact can achieve. There are no hard limits to a self-taught scholar of computing, certainly not things as elementary as data structures and algorithms.
Re:No CS Degree – Interviews with self-taught developers by danielscrubs on Wednesday July 24, 2019 @01:40AM (#20512620)
In a cs degree building a compiler would not give you any points what so ever. Writing about Operational semantics would:

https://en.m.wikipedia.org/wiki/Operational_semantics

Writing a compiler is just the side effect of showing it could be useful. It’s not hard programming equals cs. It’s the science part of computer science that matter.

Re:No CS Degree – Interviews with self-taught developers by spamizbad on Tuesday July 23, 2019 @12:54PM (#20508191)
Is there any reason to suspect a self-taught developer couldn't also self-teach themselves simple compiler writing?
Re:No CS Degree – Interviews with self-taught developers by munificent on Tuesday July 23, 2019 @01:35PM (#20508559)
I suppose I'm an evidence proof of the contrary.

I'm about 3/4 of the way through writing a book on implementing interpreters and compilers [0]. My day job is as a software engineer at Google working on the Dart language.

My highest attained degree is a high school diploma from a shitty public high school in southern Louisiana. I went to LSU for a year and a half and dropped out.

[0]: http://craftinginterpreters.com/

Re:No CS Degree – Interviews with self-taught developers by jhall1468 on Tuesday July 23, 2019 @01:33PM (#20508538)
No, and my post never implied anything like it. On the contrary, my point was that I was forced into it by degree requirements. I'd know nothing of compiler design or implementation today without being forced to learn it. It's a valuable skill to be sure, but not one I'll ever use professionally because I find it frustrating and boring.

And that's my point. If you're self-taught you have to be willing to learn things you find completely uninteresting (or boring, hard, whatever) if you want to be as well-rounded as a CS graduate. Most successful self-taught programmers do exactly that. Most people don't.

Re:No CS Degree – Interviews with self-taught developers by taradinoc on Thursday July 25, 2019 @10:34AM (#20525685)
> If you're self-taught you have to be willing to learn things you find completely uninteresting (or boring, hard, whatever) if you want to be as well-rounded as a CS graduate.

Not necessarily, you could also just find all that CS stuff interesting.

Re:No CS Degree – Interviews with self-taught developers by Zaskoda on Tuesday July 23, 2019 @12:14PM (#20507855)
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 then my MS did not increase the amount of money people were willing to pay me to build things. However, I can generally tell when I'm working with someone who is entirely self taught and I assume others with degrees can tell also.

Re:No CS Degree – Interviews with self-taught developers by neilv on Tuesday July 23, 2019 @12:22PM (#20507920)
I'm imagining a funny verification process:

1. "I can just tell that person is self-taught." (No, they went to a contemporary dotcom feeder vocational CS program, and spent all their time adding the latest framework keywords, and drilling for the leetcode whiteboard interview.)

2. "It hasn't occurred to me that other person might be self-taught." (Yes, they are.)

3. "100% so far."

Re:No CS Degree – Interviews with self-taught developers by umanwizard on Tuesday July 23, 2019 @02:33PM (#20509055)
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 by cloverich on Tuesday July 23, 2019 @02:48PM (#20509158)
Further, the book on which the curriculum is based. Diligently going through them will often teach you more than the structured class based on them. When coursera first came out I was very excited to take CS classes from top universities. Then... I was surprised at how generally poor quality the lectures and material were. Outside a few standouts, I think you are vastly better off reading quality, well reviewed books / papers than taking a course / watching lectures. (Unsurprisingly this felt true of my actual degree's as well).
Re:No CS Degree – Interviews with self-taught developers by Zaskoda on Tuesday July 30, 2019 @03:21PM (#20568220)
Do you consider yourself the rule or the exception?
Re:No CS Degree – Interviews with self-taught developers by thanatropism on Tuesday July 23, 2019 @01:39PM (#20508596)
Effectively a "hard" degree is an IQ test. General cognitive skills exist and they're especially useful in software development.

ITT people are focusing too hard on the content of a CS program and too little on the more general goals of an undergraduate degree:

- expose you to multiple fields of knowledge while focusing on a main thread

- help you develop generic thinking skills that should translate to a variety of fields of application (there are many CEOs with art history degrees)

- lead you through a first approximation of a scientific project, qualifying you for graduate-level research

- signalling to the world that you have the chops and the work ethic to go through with a major project with many frustrating stepping stone

- etc.

Re:No CS Degree – Interviews with self-taught developers by ColanR on Tuesday July 23, 2019 @02:21PM (#20508944)
> signalling to the world that you have the chops and the work ethic to go through with a major project with many frustrating stepping stone

i.e., hazing.

Re:No CS Degree – Interviews with self-taught developers by willhslade on Tuesday July 23, 2019 @09:09PM (#20511581)
Or, less dismissively, commitment.
Re:No CS Degree – Interviews with self-taught developers by ColanR on Thursday July 25, 2019 @07:40PM (#20530959)
Eh, both.

You demonstrate commitment by surviving the hazing ritual.

Re:No CS Degree – Interviews with self-taught developers by manfredo on Tuesday July 23, 2019 @12:19PM (#20507897)
At my University, CS mostly meant learning to program and hack on things unless you specifically did the theory track. Only two of the required classes were theory classes. Compilers and operating systems had some theory in it, but it was mostly about learning how these things work by building your own.