10x programmers - what lies beneath
TRANSCRIPT
10X PROGRAMMERS
WHAT LIES BENEATH
Hrishikesh Karekar@hrishikarekar
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
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
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
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
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
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
Communication.Good code is its own best documentationSteve McConnel
Values
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
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
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
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
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
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
Keep LearningIt's what you learn after you know it all that counts.John Wooden
Behavior
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
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
Drivers Values
Principles
Behavior
Purpose.Autonomy.Mastery.
Communication.Simplicity.Flexibility.
Test First.LDUF.Reuse.
Tool Mastery.Keep Learning.
Inspect and Adapt.Shares Knowledge.
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
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
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