Building Better Software by Building Better Developers

Preview:

DESCRIPTION

Developers and testers are, by their very nature, curious creatures. But when facing deadlines, they often become fixated on solving today's problem and miss the bigger picture. Over time and under pressure, they lose their motivation to learn new information and acquire new skills. Without a plan encouraging learning can be costly—and can backfire. A professional development plan should incorporate practical strategies and techniques for the entire team and managers. Fortunately many proven techniques exist for professional development: code katas, code dojos, workplace user groups, agile learning, and evaluation, as well as time management methodologies such as the prioritization matrix and Getting Things Done (GTD). Kick-start professional development by learning some of these opportunities and techniques, and see which can have the best return and long-term maintainability for your team’s developers, testers, and managers.

Citation preview

Building Better Software by Building Better Developers

Iris Classon – software develoepr Evry

Microsoft MVP, MCSD, MCPD, MCTS

Microsoft Extended Experts Team

Software Developer, Evry

Pluralsight author

Iris Classon

Twitter: @irisclasson

Blog: http://irisclasson.com

Out of the frying pan, into the fire

100

1 000

100 000

0

1

10

100

1 000

10 000

100 000

Lines Of Code

LOC IN A TYPICAL GM CAR

1970 2000 2010

Lines of code

The Winter War

Comparing tools

Finland vs.Soviet

0 200000 400000 600000 800000 1000000 1200000

Soldiers

Soldiers

Soviet Finland

32 114

6000

4000

0

1000

2000

3000

4000

5000

6000

7000

Tanks Planes

TANKS & PLANES

Finland Soviet

Refusing to surrender

land

Sometimes tools do not

matter –when used

wrong

Autonomyand

Control

1.Self-government; freedom to act or function

independently.

2.(philosophy) The capacity to make an informed, uncoerced decision.

3.(mechanics) The capacity of a system to make a

decision about its actions without the involvement of another system or operator

Competent

Related to others

Autonomous

To feel:

Motivation three

psychological needs

To feel:

Let’s cover three

important aspects.

Workplace learning opportunities and costs

Agile learning

Time management

Workplace learning

opportunities and costs

Online training

Classroom training

Conferences

On-job

Technical Content

Organized events, workshops, user groups

Easy to calculateSubscription price

* # developers

Additional cost (time)

Try to get 2-5 hours a week

Cost

Online training

Classroom

Expensive / opportunity loss

# developers * # days

Trainer, travel, venue, equipment

Between 10000-30000 USD depending

on the expert

Cost

Conference

Cost of conferenceTravel,

accommodation and food

Opportunity lost, risk

Opportunity gained (exposure)

Cost

On-job

Minimal costRequired to

some degree

Cost

Workplace training - the new guy/girlPair programmingCode reviewsBrown bagsWorkplace usergroupsMob programming

Tech. content

Minimal cost 2 hours a week

With informal lunches - the cost

of food

Cost

No guarantees

Agile learning

Vasa

Self-regulated learning

Plan

Practice / Monitor

Evaluate

MetacognitionStrategic

actionMotivation

Software and self-

regulated learning

Self-regulated learning strategies and software training

Jane Gravill *, Deborah Compeau 1The University of Western Ontario, London, ON, Canada

Self-Directed Learning: stories from industry

Anna Eckerdal et. Al.

There's ROI in workplace training investmentsBrownlee, Jeff. Plant,

suppl. PLANT WEST 4.3 (May/Jun 2009): 14.

Timeless skills

Software design (SOLID)

Knowing tools (source control, build, editors,

servers)

Databases

Refactoring Debugging Testing

Networking Security

Iterations and evaluations

1.Break down into smaller

modules

2.Divide into small clearly scoped and

actionable tasks

3.Do them in iterations

Analyzing

Planning

Acting

Integrating

Evaluating learning

Time management

Time

Evaluate Act Invest

“We must use time as a tool,

not as a crutch” John F. Kennedy“

Where does my time go?

Rescue time – tracking tools

• Little effort

• Stats

Log

• Accurate

• Detailed

Reflection

• Fast

• Little effort

Efficiency - planning

Getting it out of your

head

Record tasks

Small actionable items

Day and weekly habits

Reviews

Action

Do

Defer

Delegate

Getting Things Done

GTD

Efficiency - planning

Prioritizing

Efficiency - planning

Goal setting

Recommended