Your SlideShare is downloading. ×
0
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

10 practices that every developer needs to start right now

2,269

Published on

Gathered from over 15 years of development and consulting experience with some of the largest development companies in the world. These are the 10 practices that are the lowest hanging fruit and will …

Gathered from over 15 years of development and consulting experience with some of the largest development companies in the world. These are the 10 practices that are the lowest hanging fruit and will also have the greatest impact on the way that you write and deliver software. Enjoy.

Published in: Technology
4 Comments
2 Likes
Statistics
Notes
No Downloads
Views
Total Views
2,269
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
4
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. every developer needs to start right now<br />10 Practices<br />
  • 2. Proaction//noun 1.the process or state of acting or of being active: The machine is not in action now. 2.something done or performed; act; deed. 3.an act that one consciously wills and that may be characterized by physical or mental activity: a crisis that demands action instead of debate; hoping for constructive action by the landlord. 4.actions, habitual or usual acts; conduct: He is responsible for his actions. 5.energetic activity: a man of action.6.an exertion of power or force: the action of wind upon a ship's sails. 7.effect or influence: the action of morphine. 8.Physiology. a change in organs, tissues, or cells leading to performance of a function, as in muscular contraction.9.way or manner of moving 10.the mechanism by which something is operated, as that of a gun or a piano. 11.a military encounter or engagement; battle, skirmish, or the like. 12.actual engagement in fighting an enemy; military or naval combat: He saw action in Vietnam. 13.Literature. the main subject or story, as distinguished from an incidental episode.adjective. characterized by brisk or dynamic action: an action car; an action melodrama. take action,a.to start doing something: As soon as we get his decision, we'll take action. b.to start a legal procedure.<br />proactionmentors.com<br />http://dictionary.reference.com/browse/proaction<br />
  • 3.
  • 4.
  • 5. *<br />Caleb<br />* I’m here to help.<br />
  • 6.
  • 7.
  • 8.
  • 9. Building teams that engineer better software<br />Development ∙ Team Work ∙ Process<br />
  • 10. Development<br />
  • 11. Development<br />
  • 12. Development<br />Repeatable<br />Testable<br />Scalable<br />Reliable-able<br />Maintainable<br />
  • 13. Development<br />Repeatable<br />Testable<br />Deliverable<br />Extensible<br />Scalable<br />Workable<br />Reliable-able<br />Maintainable<br />
  • 14. Development<br />Object Orientation<br />
  • 15. Development<br />Object Orientation<br />It’s amazing how many people write procedural code in an OO environment<br />
  • 16. Development<br />Encapsulation<br />Object Orientation<br />It’s amazing how many people write procedural code in an OO environment<br />It’s amazing how many people write procedural code in an OO environment<br />
  • 17. Development<br />Encapsulation<br />Inheritance<br />Object Orientation<br />It’s amazing how many people write procedural code in an OO environment<br />It’s amazing how many people write procedural code in an OO environment<br />
  • 18. Development<br />Encapsulation<br />Inheritance<br />Polymorphism<br />Object Orientation<br />It’s amazing how many people write procedural code in an OO environment<br />It’s amazing how many people write procedural code in an OO environment<br />
  • 19. Development<br />Encapsulation<br />Inheritance<br />Polymorphism<br />Object Orientation<br />Use Right Tool for the Right Job<br />It’s amazing how many people write procedural code in an OO environment<br />It’s amazing how many people write procedural code in an OO environment<br />
  • 20. Development<br />Encapsulation<br />Inheritance<br />Polymorphism<br />Object Orientation<br />Use Right Tool for the Right Job<br />It’s amazing how many people write procedural code in an OO environment<br />It’s amazing how many people write procedural code in an OO environment<br />OO<br />
  • 21. Development<br />Encapsulation<br />Inheritance<br />Polymorphism<br />Object Orientation<br />Use Right Tool for the Right Job<br />It’s amazing how many people write procedural code in an OO environment<br />It’s amazing how many people write procedural code in an OO environment<br />OO<br />Functional<br />
  • 22. Development<br />Encapsulation<br />Inheritance<br />Polymorphism<br />Object Orientation<br />Use Right Tool for the Right Job<br />It’s amazing how many people write procedural code in an OO environment<br />It’s amazing how many people write procedural code in an OO environment<br />OO<br />Functional<br />Procedural<br />
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29. http://developingUX.com/di/<br />
  • 30. Development<br />Object Orientation<br />SOLID<br />
  • 31. Development<br />Object Orientation<br />SOLID<br />Patterns<br />
  • 32. common<br />proven<br />Scenarios<br />Answers<br />common<br />Vocabulary<br />Patterns<br />
  • 33. More<br />More<br />More<br />More<br />Data<br />UI<br />Component<br />Component<br />UI<br />UI<br />MVP<br />MVVM<br />MVC<br />Repository<br />Factory<br />Strategy<br />More<br />More<br />State<br />More<br />Visitor<br />More<br />More<br />More<br />More<br />More<br />More<br />More<br />Abstract Factory<br />More<br />Chain of Responsibility<br />More<br />More<br />More<br />More<br />Patterns<br />More<br />More<br />Facade<br />More<br />Decorator<br />
  • 34. Data<br />Component<br />UI<br />MVP<br />Repository<br />Abstract Factory<br />Patterns<br />
  • 35. http://dimecasts.net/<br />Patterns<br />
  • 36. Development<br />Object Orientation<br />SOLID<br />Patterns<br />
  • 37. Development<br />Object Orientation<br />SOLID<br />Patterns<br />Secure Coding<br />
  • 38. http://developingux.com/2010/02/10/secure-coding-101/<br />Secure Coding<br />
  • 39. No Silver<br />Bullets<br />
  • 40. Use .NET<br />Don’t Use Passwords<br />Input is Evil<br />Secure Coding<br />
  • 41. http://xkcd.com/327/<br />
  • 42. http://msdn.microsoft.com/security/<br />Secure Coding<br />
  • 43. Development<br />Object Orientation<br />SOLID<br />Patterns<br />Secure Coding<br />
  • 44. Team Work<br />
  • 45. Team Work<br /> Communication<br /> Friction<br />
  • 46. Team Work<br /> Communication<br /> Friction<br />Silos<br /> Throughput<br />
  • 47. Team Work<br /> Communication<br /> Friction<br />Silos<br /> Toe Stepping<br /> Coordination<br /> Throughput<br />
  • 48. Team Work<br />Automated Tests<br />
  • 49. Do<br />you <br />Test<br />Your<br />?<br />code<br />
  • 50. Do<br />you <br />Test<br />Unit<br />Your<br />?<br />code<br />
  • 51. Do<br />you <br />automated<br />Test<br />Unit<br />Your<br />?<br />code<br />
  • 52. what’s the difference?<br />
  • 53. Traditional Test<br />
  • 54. Unit Test<br />
  • 55. Automated Test<br />
  • 56. TDD / BDD<br />
  • 57. of Testing<br />
  • 58. I test my app<br />of Testing<br />It compiled didn’t it?<br />
  • 59. I test my app<br />I test units of work<br />in my app<br />of Testing<br />It compiled didn’t it?<br />DI + Mock are my best friends<br />
  • 60. I test my app<br />I test units of work<br />in my app<br />I run automatedunit tests<br />of Testing<br />CI FTW!<br />It compiled didn’t it?<br />DI + Mock are my best friends<br />
  • 61. I test my app<br />I test units of work<br />in my app<br />I run automatedunit tests<br />I test first<br />Red, Green, Refactor Rinse + Repeat!<br />of Testing<br />CI FTW!<br />It compiled didn’t it?<br />DI + Mock are my best friends<br />
  • 62. I test my app<br />I test units of work<br />in my app<br />I run automatedunit tests<br />I test first<br />I write executable specs to test my app<br />Red, Green, Refactor Rinse + Repeat!<br />of Testing<br />CI FTW!<br />It compiled didn’t it?<br />given <><br /><> should<br />DI + Mock are my best friends<br />
  • 63. Team Work<br />Automated Tests<br />Source Control<br />
  • 64. of Source Control<br />
  • 65. I back up my code<br />of Source Control<br />Thumb drives are awesome!<br />
  • 66. I back up my code<br />File Share<br />Network Share is +1 from thumb drive<br />of Source Control<br />Thumb drives are awesome!<br />
  • 67. I back up my code<br />File Share<br />VSS was free<br />Network Share is +1 from thumb drive<br />of Source Control<br />So was herpes<br />Thumb drives are awesome!<br />
  • 68. I back up my code<br />File Share<br />VSS was free<br />Branch + Merge <br />Release<br />Strategy<br />Network Share is +1 from thumb drive<br />of Source Control<br />Freedomto code!<br />So was herpes<br />Thumb drives are awesome!<br />TFS, SVN, GIT<br />
  • 69. I back up my code<br />File Share<br />VSS was free<br />Branch + Merge <br />Release<br />Strategy<br />AutomatedBuilds CI, AutomatedDeploy<br />Network Share is +1 from thumb drive<br />of Source Control<br />Freedomto code!<br />“worked on my machine”<br />So was herpes<br />Thumb drives are awesome!<br />take THAT auditors!<br />TFS, SVN, GIT<br />
  • 70. Team Work<br />Automated Tests<br />Source Control<br />Automated Builds<br />
  • 71. Source Control<br />Production<br />Developer<br />Operations<br />Common Deployment Scenario<br />
  • 72. Source Control<br />Production<br />Developer<br />Operations<br />Common Deployment Scenario<br />
  • 73. Retrieve Source<br />Source Control<br />Production<br />compile + send binaries<br />configure + deploy binaries<br />Developer<br />Operations<br />Common Deployment Scenario<br />
  • 74. Retrieve Source<br />Source Control<br />Production<br />compile + send binaries<br />configure + deploy binaries<br />Developer<br />Operations<br />Common Deployment Scenario<br />
  • 75. Source Control<br />Production<br />Developer<br />Operations<br />Improved Deployment Scenario<br />
  • 76. Source Control<br />Production<br />Developer<br />Operations<br />Improved Deployment Scenario<br />
  • 77. runscriptgetsourcebuildbin<br />Updates Source<br />Source Control<br />Production<br />send .build script<br />configure + deploy binaries<br />Developer<br />Operations<br />Improved Deployment Scenario<br />
  • 78. runscriptgetsourcebuildbin<br />Updates Source<br />Source Control<br />Production<br />send .build script<br />configure + deploy binaries<br />Developer<br />Operations<br />Improved Deployment Scenario<br />
  • 79. of Automated Builds<br />
  • 80. Visual Studio Build<br />of Automated Builds<br />F5 is How I Roll<br />
  • 81. Visual Studio Build<br />CI<br />Included in TFS Team Build, Cruise Control, Team City<br />of Automated Builds<br />F5 is How I Roll<br />
  • 82. Visual Studio Build<br />CI<br />Multi-Environment Builds<br />Included in TFS Team Build, Cruise Control, Team City<br />of Automated Builds<br />Dev, Test, Stage, Production<br />F5 is How I Roll<br />
  • 83. Visual Studio Build<br />CI<br />Multi-Environment Builds<br />Build from script<br />Included in TFS Team Build, Cruise Control, Team City<br />Source? Yes, run this .build<br />of Automated Builds<br />Dev, Test, Stage, Production<br />F5 is How I Roll<br />
  • 84. Visual Studio Build<br />CI<br />Multi-Environment Builds<br />Build from script<br />Hands Off Deployment<br />Included in TFS Team Build, Cruise Control, Team City<br />Source? Yes, run this .build<br />of Automated Builds<br />Disaster Recovery Plan +<br />Auditor Compliance done<br />Dev, Test, Stage, Production<br />F5 is How I Roll<br />
  • 85. Process<br />
  • 86. IterationBacklog<br />Push Pull<br />Agile, Lean, XP<br />Iterations<br />Scrum<br />Kanban<br />Daily Stand Ups<br />Size Units of Work<br />ProductBacklog<br />
  • 87. Process<br />Agile, Lean, XP<br />Team Dynamics<br />
  • 88. Pairing<br />colocation<br />silos<br />Team Dynamics<br />size<br />colocation<br />mentality (virtual)<br />ownership<br />Information Broadcasting<br />
  • 89. Process<br />Agile, Lean, XP<br />Team Dynamics<br />Continuous Learning<br />
  • 90. How do you learn?<br />Blogs<br />Podcasts<br />Conferences<br />Continuous Learning<br />Sources?<br />Books<br />
  • 91. http://dimecasts.net/<br />Continuous Learning<br />
  • 92. What are we saying here?<br />
  • 93. Be<br />PASSIONATE<br />about what you do<br />
  • 94. Building teams that engineer better software<br />Development ∙ Team Work ∙ Process<br />
  • 95. Thank you<br />http://developingux.com<br />@calebjenkins<br />caleb@calebjenkins.com<br />@proactionmentor<br />
  • 96. Architecture<br />Architecture Spans Multiple Projects<br />Architectural Design ∙ Technology Direction<br />Platform ∙ Library ∙ Toolkit Adoption<br />Coding Practices & Standards ∙ Code Reviews<br />Team Process ∙ Automated Builds ∙ Automated Unit Testing<br />Development Coaching ∙Pair Programming<br />Lead Development<br />Lead Development<br />Lead Development<br />Lead Development<br />Project Coding<br />Project Coding<br />Project Coding<br />Project Coding<br />Lead Developer<br />focused on specific projects<br />
  • 97. our team is too small<br />for a dedicated architect<br />we must all wear multiple hats<br />
  • 98. unfortunately architectural concerns<br />take a back seat to development<br />get in the way of development<br />
  • 99. we don’t have time for<br />code reviews<br />software mentoring<br />coaching on better practices<br />POC’s<br />
  • 100. development suffersfrom architectural distractions<br />architectural meetings<br />emails<br />team concerns<br />team process & enablement<br />
  • 101. Architect on Retainer<br />a cost effective solution to focus on architectural concerns<br />
  • 102. Building teams that engineer better software<br />Development ∙ Team Work ∙ Process<br />
  • 103. 10 Practices<br />every developer needs to start right now<br />
  • 104. Photo Credits.<br />http://www.flickr.com/photos/robbie_ewing/4407711326/<br />http://www.flickr.com/photos/phill_dvsn/2999253384/sizes/l/<br />http://www.flickr.com/photos/nikophoto33/3153621333/<br />http://www.flickr.com/photos/houseofsims/3121970656/<br />http://www.flickr.com/photos/houseofsims/3121146677/<br />http://www.flickr.com/photos/houseofsims/3121979028/<br />
  • 105. Photo Credits.<br />http://www.flickr.com/photos/planetpixel/1450985177/<br />http://www.flickr.com/photos/trinhanhtuan/3292319375/<br />http://www.flickr.com/photos/pagedooley/2760837590/<br />http://www.flickr.com/photos/pagedooley/3049370253/<br />http://www.flickr.com/photos/bruceberrien/4262228892/<br />http://www.flickr.com/photos/8363028@N08/3050922569/<br />
  • 106. Photo Credits.<br />http://www.flickr.com/photos/pagedooley/1856663523/<br />http://www.flickr.com/photos/joelogon/3161771573/<br />http://www.flickr.com/photos/carbonnyc/2294144289/<br />http://www.flickr.com/photos/shadowgate/4515454160/<br />http://www.flickr.com/photos/grahamcrewe/396400543/<br />http://www.lostechies.com/blogs/derickbailey/archive/2009/02/11/solid-development-principles-in-motivational-pictures.aspx<br />

×