According to the myth, there are engineers who can contribute 10X more than their peers. I don’t know whether this is possible or not, and I haven’t got a good metric for productivity
(right now, does anyone?!). I’d want to be one of the engineers who contributes 10x more so I need to find a way to measure and drive self-improvement.
* Count on the best people outperforming the worst by about 10:1.
* Count on the best performer being about 2.5 times better than the median performer.
* Count on the half that are better-than-median performers outdoing the other half by more than 2:1
If I rate myself as a median engineer at Microsoft
, then I’m looking to have 2.5X more impact by this time next year.
Step one: Finding an initial metric to judge impact.
There’s no point in performing an experiment without having a metrics,
- Lines of code written (very dependent on framework/language/project life-cycle)
- Number of bugs found (potential would vary widely by task and project)
- Number of tasks completed weighted by complexity/time estimated (as long as tasks are tracked)
Number of tasks completed seems like the least flawed metric. I believe it might be a blend of all 3 and more…
Step two: Finding out how I work
Initial theory, if I can track how I spend my time I will be able to optimize it to be more productive.
Data I might be able to collect
- Time spent on workstation (windows event logs?)
- Active application (some windows service?)
- What I’m reading in Chrome (chrome plugin)
- Amount of time in meetings (outlook calendar)
- Amount of time spent helping others (call history on Skype, currently remote)
- Overall satisfaction with day (daily survey before leaving work?)
Slightly less on topic but maybe correlated
- Number of cans of soft drink vs water (part of daily survey)
- Time spent at lunch (windows event logs?)
- Time spent walking around the office (windows event logs?)
- Number of tabs/applications open (some windows service?)
- Amount of sleep (some sleep app)
Task: time to start writing services to collect as many data points as possible!