symphony flow - the effective engineer

34
The Effective Engineer

Upload: symphony

Post on 19-Feb-2017

32 views

Category:

Self Improvement


0 download

TRANSCRIPT

Page 1: Symphony flow - The Effective Engineer

The Effective Engineer

Page 2: Symphony flow - The Effective Engineer

Are we effective?

How can we perform better?

Page 3: Symphony flow - The Effective Engineer

Time

The most limited resource

Cannot be stored, extended or replaced

Inescapable, regardless of our goals

Page 4: Symphony flow - The Effective Engineer

Impact

Increasing impact

Getting things done

Producing more value & have better results

Page 5: Symphony flow - The Effective Engineer

Efficiency

Get more things done

without increasing number of working hours

Page 6: Symphony flow - The Effective Engineer

Leverage

Use leverage to measure your engineering effectiveness

Focus on what generates the highest return on investment for your time spent.

Page 7: Symphony flow - The Effective Engineer

Leverage

Impact producedTime investedLeverage =

Page 8: Symphony flow - The Effective Engineer

Leverage

Systematically increase the leverage of your time

Find ways to get an activity done more quickly, to increase the impact of an activity, or to shift to

activities with higher leverage.

Page 9: Symphony flow - The Effective Engineer

Prioritizing

80 - 20

80% impact comes from 20% of work

Page 10: Symphony flow - The Effective Engineer

Prioritizing

Write TODOs

Brain can actively hold 7 +/- 2 items (in working memory)

Let it do more important stuff

Page 11: Symphony flow - The Effective Engineer

Prioritizing

Do what matters - firstWhat matters - produces value

Focus on important, not urgent

Page 12: Symphony flow - The Effective Engineer

Prioritizing

Urgent Not Urgent

Important CrisesDeadlines

PlanningBuilding relationshipsNew opportunitiesPersonal development

Not Important

InterruptionsMost meetingsMost emails & calls

Surfing WebTime wasters

1 2

3 4

Page 13: Symphony flow - The Effective Engineer

Learning

Grow by 1% daily

Dedicate Time on and out of the Job to Develop New Skills

Yearly: 37x better (not 365% → 3.65x)

Page 14: Symphony flow - The Effective Engineer

Learning

Facebook:MOVE FAST AND BREAK THINGS

Move fast to learn fast

Page 15: Symphony flow - The Effective Engineer

Maker’s Schedule

Productivity increases when we can maintain periods of what (Hungarian) psychologist

Mihaly Csikszentmihalyi calls:

The Flow

Page 16: Symphony flow - The Effective Engineer

Maker’s Schedule

The Flow

...is a state of effortless concentration so deep that they lose their sense of time, of themselves, of their

problems.

Page 17: Symphony flow - The Effective Engineer

Maker’s Schedule

Makers (programmers, writers,..) should use time in units of half a day at least.

A program can’t be written in 30min units

Page 18: Symphony flow - The Effective Engineer

Maker’s Schedule

Microsoft Research:

Employee needs at least 15 minutes to recover/ return to focused activity after handling email or other IM

interruption

Page 19: Symphony flow - The Effective Engineer

Maker’s Schedule

Protect your Maker’s Schedule

Preserve large blocks of focused time

Schedule meetings and other interruptions at the beginning or end of the work day

Page 21: Symphony flow - The Effective Engineer

Multitasking

“Your Brain at Work” (by David Rock):

Brain’s prefrontal cortex handles our planning, decision-making, and goal setting has limited space for 7 +/- 2

items.

In order to make decision, brain must simultaneously bring up and process all items - wastes mental energy

Page 22: Symphony flow - The Effective Engineer

Multitasking

Avoid doing multitasking

Reduce context switching

Page 23: Symphony flow - The Effective Engineer

Time - Saving Tools

If you have to do something manually more than twice - write a tool to do it third time

30 minutes of investment might return in days or weeks within a year

Page 24: Symphony flow - The Effective Engineer

Track Progress

Choose a metric to track your progress

If you can’t measure it - you can’t improve it

Page 25: Symphony flow - The Effective Engineer

Track Progress

Hours worked vs

productivity per week

Page 26: Symphony flow - The Effective Engineer

Track Progress

Google Search Metric:Click-through

vsLong click-through

Page 27: Symphony flow - The Effective Engineer

Track Progress

Bugs fixed (Adobe)vs

Bugs outstanding

Page 28: Symphony flow - The Effective Engineer

Track Progress

Total number of registered usersvs

Weekly growth of registered users

Page 29: Symphony flow - The Effective Engineer

Improve

Establish a sustainable Code Review Process

Manage Complexity through Abstraction and Libraries

Automate Testing

Page 30: Symphony flow - The Effective Engineer

Code Review

Catching bugs or bad design early

Increasing accountability for code changes

Sharing working knowledge of the codebase

Page 31: Symphony flow - The Effective Engineer

Invest in your Team’s Growth

Focus on making everyone around you succeed

You get more credit than you deserve just for being part of a successful company, and less

than you deserve for being part of unsuccessful company.

Page 32: Symphony flow - The Effective Engineer

Invest in your Team’s Growth

Hire smart

Ramp up new engineers quickly

Socially integrate new engineers

Page 33: Symphony flow - The Effective Engineer

Invest in your Team’s Growth

Share Ownership of Code

Avoid one-person teams

Present tech talks on software decisions and architecture