From Novice to Expert: A Pragmatic Approach to Learning

Preview:

DESCRIPTION

From Novice to Expert: A Pragmatic Approach to Learning

Citation preview

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

Recommended