Joining Mozilla in early June
Not an expert
Trying to become an expert
Let's get a few cognitive biases out of the way.
You are not special
.. neither is anyone else
Sorry moms of the world but this is like a motivational anti-pattern.
Nobody is born with 'natural talent'
You are the result of many complicated interactions
Influences that can 'make' you 'a natural'
- Epigenetics (Environmental pressures affecting gene expression)
- Early childhood exposure to logical thinking
- Early childhood practice of logical skills
- Early framing of relationship to logical thinking
Your feelings don't matter here
"In spite of popular beliefs there is no one thing you're destined to do. Purpose doesn't happen to you any more than love does. These things evolve when you commit yourself fully to something, or someone, and make the decision to work through the muck."
from Deliberatism - The Muck, by Eric Karjaluoto
Problematic framing of this topic
Not born with natural talent?
This is empowering
If you practice logical thinking
and absorb enough domain knowledge
You too will become an expert
How do I know I am not a beginner?
You can use the fundamentals in any language
You are comfortable writing code from scratch
You peek inside the libs you use
You feel like your code is mediocre
you don't know what to do about it
How do I know I'm not an expert?
You don't quite grok all the code you read
You can't explain what you know
You aren't confident debugging
You rely on references way too much
Ambiguous Zone of Intermediate-ness
a curriculum for mastery
What makes a great programmer?
It depends who is asking
"To a project manager, the programmer who hits every deadline (regardless of quality) is a good programmer.
To a customer, the programmer who solves their problem quickest is a good programmer.
To a business owner, the programmer who makes them the most money is a good programmer.
To a junior programmer, the best mentor is the good programmer.
To another programmer, the programmer they are most likely to want to go into battle with is a good programmer."