Hacker News new | ask | show | jobs
by dustingetz 1030 days ago
i did this and regret it (38 now and have a technical CS startup), i studied electrical/computer engineering but what i should have done was gone to a better CS school or get approved for accelerated course work. the main problem for 18 yo me was lack of visibility into what a good CS program looked like, as opposed to just knowing more than the CS teachers at an eng school not ranked for CS. also, take as much math as you can.

you should be studying: lisp ocaml haskell, interpreters (SICP), compilers, type systems, transaction processing, effect systems, FRP, concurrency NOT java guis python SQL databases webdev gamedev .. whatever

1 comments

Can you expand upon why you chose those particular things to focus on? I’m genuinely interested and don’t have a traditional CS background so I’d like to know what I’m missing.

(Serious question. I’m not being snarky)

As a self-taught seeker who spent 20 years in search of a better way, this is where I ended up for the heart of computer science. Most software engineering topics I picked up on the job — even distributed systems — but the actual computer science aspects I had almost zero exposure to at work. I had to seek those out, which meant rejecting the commercial methods/doctrines/thinking and escaping from Conway's Law which has infected anything touched by money. "It Is Difficult to Get a Man to Understand Something When His Salary Depends Upon His Not Understanding It"

I now see actual CS exposure in industry as rare broadly (you'd have to work in a research org, which is both rare and also requires a PhD or other credential for one to be selected for the opportunity). Furthermore, the bulk of the CS literature & papers I encountered is embedded in those three programming languages. Now editorializing: I think Haskell is like "the periodic table of computation" as well as basically "math notation for computational structures." These deep science-y topics are hard to learn outside of school, the material is dense and there's no clear and accessible trajectory to get there, and to even identify such at trajectory you need role models and teachers of which kind industrial programmers aren't exposed to.

In conclusion, I'd likely have gotten to where I am today at age 30 instead of 38 and regret the lost time wandering in the swamp of silicon valley arrogance. FWIW my startup is a CRUD Spreadsheet, we apply functional programming research to user interfaces and web development as per https://github.com/hyperfiddle/electric

> lisp ocaml haskell

Covers all of the major programming languages in a deep way.

> interpreters (SICP), compilers, type systems, transaction processing, effect systems, FRP, concurrency

These subjects are the core of almost any system that you'll encounter, in practice - academic or industrial.

if only the industry recognized this – the-world-if.jpg. We get Conway's Law instead, which I'll cynically restate as "the org is a reflection of it's leadership" or "the org exists to lever up it's leadership, recursively" and that unfortunately has little to do with science
Thoughts from a Stanford CS graduate:

https://www.youtube.com/watch?v=4SiFgB1lGxw

Laughing, funny video. I don't agree with the thesis though (is he being sarcastic? I only skipped around), what the guy seems to want is a 2 year apprenticeship in software engineering aka bootcamp and internships. So in the end comes off to me as a childish and ignorant perspective