from novice to expert: a pragmatic approach to learning
DESCRIPTION
From Novice to Expert: A Pragmatic Approach to LearningTRANSCRIPT
From Novice to Expert: A Pragmatic Approach to Learning
Bryan Bibatpangkaraniwang developer
reduceBigDecimal totalSalary = BigDecimal.ZERO;
for (Employee e : employeeList) { totalTax = totalTax.add(e.salary());}
BigDecimal totalSalary = employeeList.stream() .reduce(BigDecimal.ZERO, (sum, e) -> sum.add(e.salary()), BigDecimal::add);
class Person def initialize(name) @name = name end attr_accessor :nameend
class Student < Person attr_accessor :schoolend
me = Student.new("Al")me.school = "ABC"me.is_a? Person # trueme.instance_of? Person # false
"What should an average software engineer do to stand out?"
"How do top developers work?"
"Personal Productivity for Developers"
"Tips for aspiring or newbie web developers"
From Novice to Expert: A Pragmatic Approach to Learning
Bryan Bibatpangkaraniwang developer
The Knowledge Worker
20th Century: Industrial Efficiency
Frederick Winslow Taylor
Mid-20th Century: Quality Management
W. Edwards Deming
21st Century: Knowledge Worker
Dreyfus Modelof Skill Acquisition
Expert
Proficient
Competent
Advanced Beginner
Novice
Dreyfus Model
Expert
Proficient
Competent
Advanced Beginner
Novice
rules
intuition
Expert
Proficient
Competent
Advanced Beginner
Noviceconsiders
everything
relevant focus
Expert
Proficient
Competent
Advanced Beginner
Novicedetachedobserver
part of system
Applying Dreyfus Modelin
Software Development
Novice
Advanced Beginner
Competent
Competent
Proficient
Expert
Apparent Level of Discipline
DreyfusModelLevel
Level of Discipline
Actual Level of Discipline
DreyfusModelLevel
Level of Discipline
Amount of Effort
DreyfusModelLevel
Effort
"How do top developers work?"
"What should an average software engineer do to stand out?"
Expert
Proficient
Competent
Advanced Beginner
Novice
rules
intuition
"Personal Productivity for Developers"
Amount of Effort
DreyfusModelLevel
Effort
Sharpen the Saw
“If I had eight hours to chop down a tree, I'd spend six sharpening my axe.”
- Abraham Lincoln
Without appreciation for true expertise...
20th Century: Industrial Efficiency
Frederick Winslow Taylor
The Peter Principle
Employees within an organizationwill advance to their
highest level of competence and then
be promoted to and remain at a level which
they are incompetent.
The Dilbert Principle
The most ineffective workers are systematically moved
to the place where they can do the least damage –
Management.
The Peter Principle
Employees within an organizationwill advance to their
highest level of competence and then
be promoted to and remain at a level which
they are incompetent – Management.
IMHO, companies that do not offer dedicated development career tracks
and/or force engineers to be managers are doomed to fail.
Expert
Proficient
Competent
Advanced Beginner
Novicedetachedobserver
part of system
Novice
AdvancedBeginner
Competent
Proficient
Expert
Novice
AdvancedBeginner
Competent
Proficient
Expert
ExpertBeginner
Novice
AdvancedBeginner
Competent
Proficient
Expert
"Expert"Beginner
Novice
AdvancedBeginner
Competent
Proficient
Expert
"Expert"Beginner
Novice
AdvancedBeginner
Competent
Proficient
Expert
"Expert"Beginner
Dunning-Kruger effect
Where unskilled individuals suffer from illusory superiority, mistakenly rating their ability much higher than average...
TL; DR:
Most of your "Sirs" and "Masters" don't even deserve those titles.
Stop inflating their egos.
Thank you for listening!
bryanbibat.net | @bry_bibatspeakerdeck.com/bryanbibat
Expert
Proficient
Competent
Advanced Beginner
Novice
Experts work from intuition
Proficient practitioners can self-correct
Competents can troubleshoot
ABs don't want the big picture
Novices need recipes