Everyone learning to code will change society in complex ways. While coding skills should be broadly accessible, most people will only become "conversational coders", not experts. Those teaching coding need to write for broader audiences and address non-technical problems. The goal is not to make experts permanently different from novices, but to reduce inequality. Coders should focus on solving customer problems and creating value for users.
23. interesting thought from dhh
“Professionals obey the laws.
Amateurs break them…”
But there are amateurs, and there are novices.
Novices break laws too, accidentally,
and often without even realizing it.
26. and we end up at stack overflow
It’s great for amateurs.
We find out we’re not alone
experiencing a problem.
We get answers to our questions.
Great, right?
27. but we struggle to belong.
“It’s difficult to tell
what is being asked
here. This question is
ambiguous, vague,
incomplete, overly
broad, or rhetorical
and cannot be
reasonably answered
in its current form.”
30. ‘code inequality’
It’s good for you to be experts and
me to be a novice.
That motivates me to get better.
But the goal is not to make that
difference permanent and immutable.
That would be structural inequality -
where novices give up, amateurs
never become experts, and experts
only become more expert.
That would be bad.
37. but who is everybody?
and how much do i really have to learn?
38. most code schools are teaching
most amateurs to be
(at most) conversational coders.
39. so what does that mean for you?
It means you need to be more than “just” devs.
It means you are now writing
for a much broader audience.
And solving even problems that go beyond
how to write beautiful code.
52. this is also a metaphor
For constructive criticism.
For providing context to your code.
For not preferring RTFM to RTFC.
empty readme
53. just write.
then leave it.
read it aloud.
edit.
kill your darlings.
This applies
to writing
code, too.
54. let’s optimize the right things.
Just like dhh’s comments about TDD…
Optimize the important things.
Yes, your code.
Sure, your process.
And, yeah, the documentation.
So we can spend most of our focus
on optimizing products for people.
55.
56. who are you optimizing for?
You have three customers.
Your product team.
Your community (which isn’t all experts).
Your end user.
60. we write code to create value.
Marketers worry a lot about making things people
want, and making people want things.
!
We should focus on making things that are valuable.
61. when we’re all coders, we can all be awesome.
Conversational
Coders
Customer-Centric
Coders
Awesome Product Teams Making
Awesome Products