Heroes of programming 

 The 10x developer myth

@francmichal

www.mfranc.com

Happy ++programmer day!

++256th day

Hey my name is Michal

Lead Dev @ 

Social Giving Platform

Supporting 100k of causes

I am on a mission

Dangerous myths

Waterfall is horrible 

Agile is the silver bullet

I was told that waterfall is Bad!

Waterfall has its place 

You can find both Agile and Waterfall companies

doing it horribly wrong

Agile is dead,
long live Agility

Context is King!

If you only know how to use hammer, everything looks like a nail to you

T in TDD

T is an unfortunate letter in TDD

Unit test is a nice to have by-product

TDD =/= Testing

  • exploring domain / problem

  • validating design of the code

  • emerging desing

Young founder miracle!

aka Silicon Valley Age bias

I am almost 30 

Beacuse of this myth i get this feeling from time to time ... that Micheal it is over your chances are gone

I am 30 next month! I am actually doing a conference talk in London on my 30th birthday

And today btw is aniversay of me and my fiance engagement ... she is not happy about that :)

13th but we are lucky

Yet the statistics show that average company creators are in their 35-40s

It shouldnt be a surprise as you need experience, knowledge and wisdom to find a place for your company and product.

Brilliant Innovation

10x Developer

1x

10x

Sounds Great

Sign me up please!

10x number comes from 1968 study

Accidental 'Discovery' ...

Checking debugging
techniques ...

... found difference in programming abilities

Debugging

Coding

Execution

  • Is better at debugging

  • Solves problems faster

  • Their code execution time is better

10x Developer

10x Engineering skills

Are they out there ?

Digging deeper

similar finding

challenging the findings

Studies

Divide

Dev productivity
=
individual + context

Just like Lionel Messi plays great football in Barcelona but in his national Team he is not able to do this.

In barcelona he was trained to work as a team since beggingin of his career

 

Also the team tactic o playing footbal is set to use most of his advantages and provide as much as possible support to messi to amplify his most positive traits and mitigate the downsides

10x problem

  • diffcult to measure productivity

  • we don't work in vacuum

  • this is not assembly line work

My first problem with this myth!
We cant measure dev productivity just like this person is a singletone!

There are many different variables comming into play that affect dev productivity, enviroment, process, team culture, collaboration, motivation.

This is creative work not some assembly line with easy to follow instructions.

10x myth is simplifying complex world

There are extraordinary people

http://open.lib.umn.edu/intropsyc/wp-content/uploads/sites/2/2015/02/d73ccd6f6f078851c839adbfac443d77.jpg

https://en.wikipedia.org/wiki/File:Normal_Distribution_PDF.svg

http://static.seattletimes.com/wp-content/uploads/2015/10/53d00810-7387-11e5-900f-8f17a1e8f270-1020x670.jpg

They feel like out of this world

We even have favorite ones

Their success is so extra-ordinary

And there is no easy answer why and how

Just a Glimpse of their path to success

... which can be inflated

We create myths

... modern mythology

As Humans we need heroes

... just like ancient civilizations

Elon Musk works

100 hrs a week

... his source of success

Myth like this is a simplification

100 hrs / week

simple, easy, great promise

10x is kind of similar

It is a simplification of much more difficult process

10x is a promise

... that with enough work and talent, you can be a hero one day

The best programmers are up to 28 times better than the worst programmers, according to "individual differences" research.

A great programmer might be ten or a hundred times as productive as an ordinary one..."

http://www.paulgraham.com/gh.html

Paul Graham

Five great programmers can completely outperform 1,000 mediocre programmers.
https://hbr.org/2011/06/great-people-are-overrated

Marc Andersen Netscape

And the effect ?

There are more and more people talking about 10x and even 100x

10x Talent ... within reach

http://www.10xmanagement.com/

10x developer

Simplified promise!

10x productive ?

  • Is better at debugging

  • Solves problems faster

  • Their code execution time is better

10x Developer

Is Faster Code better ?

Yes it is!

Is better Code better ?

Yes it is!

Is solving problems faster better?

Sure it is!!

There is one catch!

But only if it brings Value!

Productivity

=

Value

You are more productive because you are solving the right problems

I have found some clues about being 'more' productive in those two sentences

{ what does it mean ? }

You are more productive because you are multiplier

{ what does it mean to be multiplier }

{ those need separate slides }

Good Enough Software

Our time is limited

we need to prioritize

Measure first

Prove there is value

... and then act!

{ slide with info about it doesnt make sense to optimize perfectly working app }

 

{ it makes sense with this code enchancement or otpimization will bring new customers }

{ it doesnt make sense to refactor the code if it wont make the product better, That is why before refactoring we should find out which part of the system is most buggy and most changed so that the refactoring investment will be worthwhile }

{ and it doesnt matter if you create product that is perefct in engineering sense if you cant sell it, or if you have lost the market opportunity, beacuse you took your time to creat perfect product, and in the meantime the competition has sold crappy product, customers dont mind to certain deegre }

Making better code is waste of time

... if you can't sell it

... if you lost the market opportunity

... because you spent too much time polishing the product

Making faster code is also a waste of time

... if users are perfectly happy about the speed of your product

Delivering features faster is not worth it

... if you are delivering non important features

... and confusing user with too many options

You need Team-Effort

... to find possible short-cuts

... and build good enough software

... to know when it is time to optimise

... or which features to deliver

How are products made ?

Find a Problem

Business Knowledge

Find a Solution

Domain Knowledge

Design it

UX skills

Create 

Engineering skills

Sell it

Marketing skills

Support it

CS skills

Value =

Business Knowledge

Domain Knowledge

UX skills

Engineering skills

Marketing skills

CS skills

Team

Enginnering

1/6 of Value

Value is generated by a team!

... not a single genius

'Hunting' for 10x is not an optimal strategy

They are rare

How to find them?

If you are lucky

How to keep them!

Bus Factor

Is your org 10x?

https://patsylynnforg.files.wordpress.com/2012/09/bottlenecklogo1.jpg

Better approach

Don't look for 10x developers focus on building teams!

Creating business value is team effort

Finding proper problems to solve is team effort

... Make the team as a whole 10 times more productive / better!

As a Leader forget about

10x Developer and ...

As a developer

If you want to be 10x

  • work on your team-work skills
  • improve your soft skills
  • work on becoming multiplier

10x is a myth to me

... a dangerous one

Too much focus

Enginerring

Too much focus

 individual skills

... when collaboration is the true power

Adds pressure on people

... when they can be AVERAGE

... it is ok to be AVERAGE

... most of the people are AVERAGE!

“I want to work only with the best people. Are you a 10x software engineer?”

Success

Average people building something

extra-ordinary together

10x Developer?

10x Team!

Questions

@francmichal

www.mfranc.com

10x team!

Heroes of programming ( 40 min )

By Michal Franc

Heroes of programming ( 40 min )

  • 1,413