was chatting with a friend about some of the challenges with teaching yourself programming topics:

* you have random gaps that you don’t even know about
* it's hard to assess your level, you might know a lot about one subtopic and be a total beginner elsewhere
* it's very difficult to guess what other fellow autodidacts know about the subject

I've had to learn how to suss out what shared knowledge base I have with another programmer on any given topic quickly so that we can talk

(1/?)

I also think a lot about what it means to be "self taught" in programming, for example I "taught myself" about how TLS works under the hood by writing a toy implementation of TLS 1.3. But I used this guide https://tls13.xargs.org/, and I probably could not (or would not) have done the project if that guide didn't exist

so if we want to make it easier for people to teach themselves effectively, what kinds of resources do we need to provide?

(2/?)

The Illustrated TLS 1.3 Connection

Every byte of a TLS connection explained and reproduced

we have a lot of amazing "teach yourself" resources in programming (like nand2tetris or all of the great guides to writing your own compiler / programming language).

But I think a lot about -- which programming topics *don't* have great guides for how to "teach yourself" that thing? What's missing? How can we fill in the gaps?

(3/?)

also, how can we help people who are self-taught in an area recognize what knowledge gaps we might have? Not in a gatekeeping “EVERY REAL PROGRAMMER SHOULD KNOW X” way, but more "hey, if you feel like you're missing something, here are some ideas for where to start"

(4/?)

I used to get a bit mad when people referred to me as "self taught" (“I have TWO computer science degrees!! I literally have the most normal possible CS education!”) but I've learned to embrace it. There's no way you can learn everything in your CS degree, careers are long, and we're all gonna have to teach ourselves a lot of stuff anyway.

(5/?)

@b0rk and it’s not like a CS degree from school A is the same curriculum as School B