Superman or Ironman - can everyone be a 10x developer?
- 8. @spoole167
@spoole167
Developer Advocate, Security Champion,
DevOps practitioner (whatever that means)
Long time Java developer, leader and evangelist.
I’ve been working on Java SDKs and JVMs since Java was less
than 1.
JavaOne Rockstar, JSR leader, committer on open source
projects including ones at Apache, Eclipse and OpenJDK.
- 20. @spoole167
@spoole167
Step 5 Become knowledgeable in the new API
Spend time learning how things work.
What the limitations are.
Kick the tyres
Write tests to check your assumptions.
Find the sharp edges
Document everything
Read the fine print
- 21. @spoole167
@spoole167
Step 6: Start the first prototype
Write code and tests
Tests are most important
You are going to throw the
code away later
if there is any super power – its this
- 25. @spoole167
@spoole167
A 10x developer is someone who :
Delivers high quality value on time that
only does what is necessary
Understands that the value isn’t the
code they write but the success they
enable for others
Understands that code is ephemeral,
solutions are long term
Understands that delivering value is a
team sport
- 29. @spoole167
@spoole167
10x Engineers are productive because they
have clarity of purpose
• One thing at a time
• that reduces uncertainty and adds knowledge the most
sometimes that’s write code
sometimes that’s fix a bug
sometimes that learn a new skill
sometimes that’s help others in the team
• Small wins all the time
- 30. @spoole167
@spoole167
10x Engineers are productive because they
are always prepared to take risks
• Prepared means thinking ahead
• Investing for the longer term in ways that offer value now
• Understand that code is always a means to an end
• Are always working to mitigate risk – because risk can delay
delivering value
- 35. @spoole167
@spoole167
hard to run
easy to run
Runs quickly
Takes a
long time
developers run fast
running, simple tests
Integrators run slower,
more complex tests
QA cover long running,
high domain knowledge
tests
10x developers work across teams
- 36. @spoole167
@spoole167
Always trying to maximise throughput
hard to run
easy to run
Runs quickly
Takes a
long time
developers run fast
running, simple tests
Integrators run slower,
more complex tests
QA cover long running,
high domain knowledge
tests
- 39. @spoole167
@spoole167
Work issues wisely
Ruthlessly prune the backlog.
Move nice-to-haves, and never going to fix
somewhere else. They’re just distractions
If it’s not fixed in a month – close it.
Reject internal issues that are poorly
worded
teach everyone to provide ‘evidence’
“I just got back from vacation
and the tests are failing. Well
some are. Portugal was nice”
- 40. @spoole167
@spoole167
Feedback helps
• Drives conversation and (hopefully) understanding across teams
• Brings focus on what’s important for everyone
• Brings clarity to decision making
• Focuses on facts, figures, evidence and Insight
Sounds a lot like how a 10x engineer behaves
Brings us on to something else…
- 48. @spoole167
@spoole167
Rule 1: delivers high quality code on time that only does what
is necessary.
Rule 2: strives to replace uncertainty with fact – in tools, in
code, in communications
Rule 3: focuses on incremental value and takes control of
their environment to make it possible
Rule 4: is a professional team player
Rule 5: know when and how to break all these rules
A great developer