12 Steps to being a Better Programmer by Code School's Gregg Pollack

4,116 views

Published on

"12 Steps to being a Better Programmer" by Gregg Pollack from Code School gives a talk on the lessons they don't teach in programming class. Gregg talks on setting expectations, getting outside of your comfort zone, moving from independence to interdependence and understanding software development as a craft. Using examples from his own experience at his company Envy Labs, Gregg goes through these 12 steps very concisely sharing many anecdotes that offer a great perspective.

Published in: Technology, Business

12 Steps to being a Better Programmer by Code School's Gregg Pollack

  1. 1. 12 Steps to be a Better Developer (aside from the coding part) Gregg Pollack @GreggPollack
  2. 2. Code is not Enough
  3. 3. “ technology alone is not enough” - Steve Jobs
  4. 4. “ It is in Apple’s DNA that technology alone is not enough it’s technology married with liberal arts, married with the humanities, that yields the results that make our heart sing.” - Steve Jobs
  5. 5. “ technology alone is not enough” - Steve Jobs
  6. 6. 12 principles
  7. 7. 1 SET EXPECTATION even when you’re not asked to
  8. 8. Estimation is hard, kinda like riding a bike
  9. 9. Why did your last project fail?
  10. 10. Client closer to Team
  11. 11. Client with the Team?
  12. 12. Short Feedback Cycles
  13. 13. Project Management Tools
  14. 14. Be mindful of your engineering background 2
  15. 15. Listening to Ideas
  16. 16. Kills Collaboration
  17. 17. Often diagnosis sounds like criticism
  18. 18. “In my wide association in life, meeting with many and great people in various parts of the world, I have yet to find the person, however great or exalted his station, who did not do better work and put forth greater effort under a spirit of approval than he would ever do under a spirit of criticism.” ~Charles Schwab
  19. 19. Beware of giving Diagnosis
  20. 20. “yes, and”
  21. 21. Give Attention
  22. 22. You might be shy
  23. 23. Be mindful of your engineering background 2
  24. 24. 3 Software Development is an art form
  25. 25. 3 Software Development is an art form
  26. 26. 3 Software Development is a craft
  27. 27. "Craft means making useful objects with perhaps decorative touches. Fine art means making things purely for their beauty." Richard Stallman
  28. 28. Beautiful Work
  29. 29. Beautiful Work
  30. 30. Insert Rant Here
  31. 31. Consulting Is usually more challenging
  32. 32. Consulting takes another set of skills
  33. 33. Scratching your own itch is easy. (see all the PM tools)
  34. 34. Want a challenge? Scratch someone else’s itch.
  35. 35. 3 Software Development is a craft
  36. 36. 4 Learn how to delegate and improve the system
  37. 37. Project Managers
  38. 38. Scheduling Meetings Writing expectations Invoicing Organization
  39. 39. Can you think of things you can delegate
  40. 40. Just because you CAN do something doesn’t mean you should!!!
  41. 41. Do the math
  42. 42. 80 people average 1 cup a day 15 minutes wasted
  43. 43. 80 people average 1 cup a day 15 minutes wasted = 1200 minutes = 20 hours
  44. 44. Do the math
  45. 45. But I’m not running my own business!
  46. 46. If someone does a task better than you
  47. 47. First Independence, Then Interdependence
  48. 48. 4 Learn how to delegate and improve the system
  49. 49. Continue to learn 5 inside and outside your company
  50. 50. INSIDE
  51. 51. Internal Presentations
  52. 52. Screencasts!
  53. 53. Retrospectives
  54. 54. OUTSIDE
  55. 55. http://ruby5.envylabs.com
  56. 56. 6 Stay out of your comfort zone
  57. 57. Your Task List
  58. 58. The Difficult Tasks = More Learning
  59. 59. But naturally we gravitate towards the easy
  60. 60. Example = Email Trap
  61. 61. Want to learn the most while you work?
  62. 62. 6 Stay out of your comfort zone
  63. 63. 7 Make friends and build relationships
  64. 64. “Individuals and interactions over processes and tools” -Agile Manifesto
  65. 65. More friendships = happiness
  66. 66. More friendships = happiness happiness = better work
  67. 67. How much time do you spend at work nurturing friendships?
  68. 68. One way you can make everyone around you better: Become a better friend.
  69. 69. One way you can make the Ruby community better: Make more friends
  70. 70. People love talking about themselves
  71. 71. Set a goal for yourself. Try to meet 5 new people.
  72. 72. 7 Make friends and build relationships
  73. 73. don’t be afraid to ASK FOR HELP 8
  74. 74. 2  hours es)mate
  75. 75. 4  hours 2  hours es)mate
  76. 76. 8  hours 2  hours es)mate
  77. 77. What would have happened if you asked for help?
  78. 78. Is it better to fail after 2 hours, or fail after 8 hours?
  79. 79. It’s natural
  80. 80. Kerplakistan
  81. 81. Kerplakistan
  82. 82. Kerplakistan
  83. 83. Kerplakistan
  84. 84. Kerplakistan
  85. 85. Kerplakistan
  86. 86. Kerplakistan
  87. 87. It’s human nature
  88. 88. Give yourself 30 Mins
  89. 89. If something is taking too much time, you’re probably doing it wrong
  90. 90. Who do you ask?
  91. 91. Preempt the problem
  92. 92. 9 Learn to eliminate distractions and get in the zone
  93. 93. It is not natural to be productive 100% of the time
  94. 94. Optimally..... 20% Fun 80% Productive
  95. 95. Turn off communication
  96. 96. Asynchronous Communication
  97. 97. Alternative workspaces
  98. 98. 9 Learn to eliminate distractions and get in the zone
  99. 99. 10 the most COMPLEX solution is rarely the BEST solution
  100. 100. communicate better than everyone else 11
  101. 101. “Creating quality software is x% code and y% communication where y is greater then x.” ~Carlos Souza
  102. 102. HIRE GREAT WRITERS
  103. 103. HIRE GREAT WRITERS Clear writing is a sign of clear thinking.
  104. 104. How do you communicate more effectively?
  105. 105. Leverage the right PM tool
  106. 106. Force yourself to communicate
  107. 107. Be more effective with Skitch and Jing Mon osna p
  108. 108. Communicate through images and video. Not words.
  109. 109. communicate better than everyone else 11
  110. 110. understand what will 12 bring you happiness
  111. 111. People aren’t usually good at choosing what will make them happy
  112. 112. It’s not money
  113. 113. It’s not fame
  114. 114. It’s not fame
  115. 115. It’s not ONLY code
  116. 116. “ technology alone is not enough” - Steve Jobs
  117. 117. Doing meaningful work
  118. 118. 1 SET EXPECTATION even when you’re not asked to
  119. 119. Be mindful of your engineering background 2
  120. 120. 3 Software Development is a craft
  121. 121. 4 Learn how to delegate and improve the system
  122. 122. Continue to learn 5 inside and outside your company
  123. 123. 6 Stay out of your comfort zone
  124. 124. 7 Make friends and build relationships
  125. 125. don’t be afraid to ASK FOR HELP 8
  126. 126. 9 Learn to eliminate distractions and get in the zone
  127. 127. 10 the most COMPLEX solution is rarely the BEST solution
  128. 128. communicate better than everyone else 11
  129. 129. Each of these can create more meaning in the work that you do
  130. 130. understand what will 12 bring you happiness
  131. 131. Creative Commons name author URL Canon EFS 17-85mm nickwheeleroz http://www.flickr.com/photos/nickwheeleroz/2663377622 NEGATIVE APPROACH ALL CHROME http://www.flickr.com/photos/allchrome/5049275868 Kup,Kup & Chloé Kup Kup Land http://www.flickr.com/photos/13937854@N00/416735964 Disney - Partners at Dusk Express Monorail http://www.flickr.com/photos/23322134@N02/3108405260 Darkening Clockwork matthelio http://www.flickr.com/photos/matthileo/3552898254 afternoon perfection janhamlet http://www.flickr.com/photos/janhamlet1/4647870872/ friendship bracelets. amanda.venner http://www.flickr.com/photos/amandavenner/4939925977 SAF#2 Robby Ferarri http://www.flickr.com/photos/roberto_ferrari/281640001 Meeting Table mnadi http://www.flickr.com/photos/mnadi/32325828 Money! Tracy O http://www.flickr.com/photos/37108241@N00/61056391 CareerTech Hall of Fame okcareertech http://www.flickr.com/photos/okcareertech/2234107433
  132. 132. Creative Commons name author URL diary Calinago http://www.flickr.com/photos/65691836@N00/221416101 BarCamp Vancouver kk+ http://www.flickr.com/photos/49503002894@N01/230544325 The Grotto Stuck in Customs http://www.flickr.com/photos/95572727@N00/161483435 His Holiness Dagchen Wonderlane http://www.flickr.com/photos/71401718@N00/3242519210 poor walter JKonig http://www.flickr.com/photos/83156837@N00/470817175 Project Opus Launch D’Arcy Norman http://www.flickr.com/photos/51035644987@N01/398070036 Flickr Mints Neal. http://www.flickr.com/photos/31878512@N06/4704140020 Máquina de Rube Goldberg freshwater2006 http://www.flickr.com/photos/freshwater2006/693945631 Communist Unicorn zoomar http://www.flickr.com/photos/zoomar/141098807 Planet Express gabrielsond http://www.flickr.com/photos/41819939@N00/4665230659 Return Undefined nyuhuhuu http://www.flickr.com/photos/nyuhuhuu/4443886636/ Human Reproduction Vinicius Teles http://improveit.com.br
  133. 133. Presentation by: @GreggPollack Gregg@EnvyLabs.com http://www.CodeSchool.com Ruby5 Podcast http://envylabs.com http://ruby5.envylabs.com

×