The different roads we take (Tracy Osborn)
- Talks are concrete, focused, conclusions,
- Keynotes give exposition for a topic, start conversation.
My rocky road to CS
- Liked computers but prefer doing visual stuff.
- Lots of HTML, web pages.
- Went to study CS, but it all sounded like Chinese.
- Java wasn't really for me...
- But the GUIs really made sense.
- Abstract concepts didn't make sense at all despite all effort.
- The professor said that I was lazy and I left CS and did an Arts degree.
- I became a Frontend developer but avoided JavaScript since it has the world
"Java" in it.
In the bigger picture
- Women amond CS graduates:
- Percentage of women in CS-related professions also declined.
- The introductory book was renamed from Intro to Symbolic Programming to The
Beauty and Joy of Computing, same year women in class outnumbered men.
- The new coursebook sounds much more wide (whatever that means).
- Tried to found a startup (WeddingType) but didn't find a technical
co-founder.
- Django is awesome, it hides all the complicated details.
- Made the weddingtype app in 6 weeks.
- Wrote Hello Web App book to help people build web apps.
- Tailored to visual learning style.
- Taught workshops for beginners.
- Recurse center: was hard to program something without Django, but not too
bad.
- "One true programmer myth" is harmful for diversity.
- We should be more acceptable of people who took a different path from us, or
a non-traditional path.
- We should celebrate the different ways that people use to learn programming.
- Ultimately, everyone is self-taught, it's just that some people also have a
CS degree.
- Simple frameworks and bootcamps increase the pool of people who can get into
the field. It gets more diverse and that makes our community stronger.
- Not all beginners want the same thing (e.g. depth vs breadth).
Action points
- Reject "one true programmer".
- Embrace the mediocre programmer (talk by Jacob Kaplan-Moss, PyCon 2015).
- https://www.youtube.com/watch?v=hIJdFxYlEKE
- Don't classify things into beginner / intermediate / advanced.
- Beginnner + Deployment,
- Intermediate + Data Science.
- Mentor!
- Assess "what am I good at / what am I bad at".
- Build more tutorials, guides.
- You can teach even if you feel as a "beginner".
- Experts sometimes make bad teachers because they forget how it felt to not
understand these things.