10x programmers - what lies beneath

21
10X PROGRAMMERS WHAT LIES BENEATH Hrishikesh Karekar @hrishikarekar

Upload: hrishikesh-karekar

Post on 21-Feb-2017

271 views

Category:

Software


3 download

TRANSCRIPT

Page 1: 10x programmers - What lies beneath

10X PROGRAMMERS

WHAT LIES BENEATH

Hrishikesh Karekar@hrishikarekar

Page 2: 10x programmers - What lies beneath

There are programmers….And great programmersYou might not think the programmers are artists, but programming is an extremely creative profession. Its logic based creativity. John Romero

Page 3: 10x programmers - What lies beneath

It’s about producing value, not codeYou might not think the programmers are artists, but programming is an extremely creative profession. Its logic based creativity. John Romero

Page 4: 10x programmers - What lies beneath

It’s about software craftsmanship

Clean code is not written by following a set of rules. You don’t become a software craftsman by learning a list of heuristics. Professionalism and craftsmanship come from values that drive disciplines. Robert C. Martin

Page 5: 10x programmers - What lies beneath

Their strength comes from something not easily visibleThere is seven-eights of it under water for every part that shows. Anything you know you can eliminate and it only strengthens your iceberg. It is the part that doesn't show

Ernest Hemingway

Behaviors. Practices

Page 6: 10x programmers - What lies beneath

Drivers. Values. Principles

There is seven-eights of it under water for every part that shows. Anything you know you can eliminate and it only strengthens your iceberg. It is the part that doesn't show

Ernest Hemingway

Behaviors. Practices

Page 7: 10x programmers - What lies beneath

What’s driving your 10x programmers?

The monkeys solved the puzzle simply because they found it gratifying to solve puzzles. They enjoyed it. The joy of the task was its own reward. Daniel H. Pink

Purpose. Autonomy. Mastery

Drivers

Page 8: 10x programmers - What lies beneath

Communication.Good code is its own best documentationSteve McConnel

Values

Page 9: 10x programmers - What lies beneath

Simplicity.There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult. C.A.R Hoare

Values

Page 10: 10x programmers - What lies beneath

Flexibility.Making workable decisions today and maintaining the flexibility to change your mind in the future is a key to good software development Kent Beck

Values

Page 11: 10x programmers - What lies beneath

Test First. Always.The best TDD can do, is assure that code does what the programmer thinks it should do. That is pretty good BTW.James Grenning

Principles

Page 12: 10x programmers - What lies beneath

Little Design Up FrontIn ten years the pendulum has swung from 'design everything' to 'design nothing.' But the alternative to BDUF [Big Design Up Front] isn't no design up front, it's a Little Design Up Front (LDUF) or Enough Design Up Front (ENUF) Steve McConnel

Principles

Page 13: 10x programmers - What lies beneath

Reuse

If I have the same logic in two places, I work with the design to understand how I can have only one copy. Designs without duplication tend to be easy to change.Kent Beck

Principles

Page 14: 10x programmers - What lies beneath

Tool MasteryAn apprentice carpenter may want only a hammer and saw, but a master craftsman employs many precision tools. Computer programming likewise requires sophisticated tools to cope with the complexity of real applications, and only practice with these tools will build skill in their use. Robert L. Kruse

Behavior

Page 15: 10x programmers - What lies beneath

Keep LearningIt's what you learn after you know it all that counts.John Wooden

Behavior

Page 16: 10x programmers - What lies beneath

Inspect and Adapt.If you have a month to plan a project in detail, spend it on four one-week iterations developing while you improve your estimates. If you have a week to plan a project, hold five one-day iterations. Feedback cycles give you information and the experience to make accurate estimates. Kent Beck

Behavior

Page 17: 10x programmers - What lies beneath

Shares KnowledgeGiven the choice between an extremely skilled loner and a competent-but-social programmer, XP teams consistently choose the more social candidate. Kent Beck

Behavior

Page 18: 10x programmers - What lies beneath

Drivers Values

Principles

Behavior

Purpose.Autonomy.Mastery.

Communication.Simplicity.Flexibility.

Test First.LDUF.Reuse.

Tool Mastery.Keep Learning.

Inspect and Adapt.Shares Knowledge.

Page 19: 10x programmers - What lies beneath

Most good programmers do programming not because they expect to get paid or get adulation by the public, but because it is fun to program

Linus Torvalds

Thank You@hrishikarekar

Hrishikesh Karekar

Page 20: 10x programmers - What lies beneath

References

http://www.ybrikman.com/writing/2013/09/29/the-10x-developer-is-not-myth/ https://blog.iterate.no/2012/06/20/programming-like-kent-beck/ http://blog.projectconnections.com/geof_lory/2014/08/behavioral-traceability-values-to-principles-to-

practices.html

https://blog.newrelic.com/2016/02/22/8-ways-become-a-better-coder/ http://www.articpost.com/best-programming-quotes-that-every-developer-should-know/ https://www.quora.com/How-can-I-improve-programming-skills How To Find, Vet, & Hire 10x Programmers with Ross Buhrdorf, CTO of HomeAway http://www.slideshare.net/LocalSearchAssociation/lsa16-google-10x-thinking-revolution-not-evolution http://www.slideshare.net/AgilePractitionersIL/engineering-your-culture-how-to-keep-your-engineers-h

appy

Page 21: 10x programmers - What lies beneath

Images Credit

Man Machine - https://www.flickr.com/photos/gleonhard/18732734804 Yoga - https://commons.wikimedia.org/wiki/File:Carrie_Yoga_shoot_003_(8328572003).jpg Iceberg -

https://upload.wikimedia.org/wikipedia/commons/9/95/Danmark_O,_Fohn_Fjord,_Renodde.70%C2%B0N_26%C2%B0W_(76566707). jpg Coal mine -

https://upload.wikimedia.org/wikipedia/commons/thumb/4/4c/Child_coal_miners_(1908)_crop.jpg/989px-Child_coal_miners_(1908)_crop.jpg

Watchmaker - https://upload.wikimedia.org/wikipedia/commons/3/3b/Watchmaker's_Lathe_in_use.jpg R2D2 C3PO - http://www.newscientist.nl/assets/r2-d2-c-3po-best-friends-wallpaper-5478.jpg Einstein - https://c1.staticflickr.com/3/2207/2410652086_1aa4942a8e_z.jpg?zz=1 Butterfly - http://www.publicdomainpictures.net/pictures/10000/nahled/1536-12492745612Ryn.jpg GPS - http://public.sfdefender.com/wp-content/uploads/sites/2/2015/06/gps.jpg Bolt - https://upload.wikimedia.org/wikipedia/commons/e/e9/Woodworking-joint-butt-dowel.gif Reuse - https://farm9.staticflickr.com/8497/8435953365_c4e01b3635_o_d.jpg Tools - https://farm3.staticflickr.com/2776/4420175956_f7754e2c33_o_d.jpg Learning - https://farm8.staticflickr.com/7378/8720604364_2ebdc6df85_o_d.jpg Paintball - https://upload.wikimedia.org/wikipedia/commons/5/5b/SupAir_Player.jpg