4. Have you ever been slowed down by bad code? - Robert C. Martin aka. Unclebob
5. “The best processes in the world will not save a project from failure if the people involved do not have the necessary skills to execute the process; conversely, really good developers can make any process work” – Pete McBreen, Software Craftsmanship: The New Imperative
6. Bad code amplifies the risk of project failure – even for agile projects!
22. “Software Craftsmanship is all about putting responsibility and pride back into the software development process. As Hunt and Thomas (The Pragmatic Programmer) state, we need to start ‘signing our work’ again, just as other craftsmen do” – Pete McBreen, Software Craftsmanship: The New Imperative
23. A Software Craftsman is a continuous learner. When he doesn’t work, he spends his time studying, to find new methods and tools can refine him as a Software Craftsman
24. “An investment in knowledge always pays the best interest” - Benjamin Franklin
25. A Software Craftsman practice deliberately, and understands the difference between practice and work. He practices in order to be prepared for work
27. “Knowledge is not the same as having the skills and practical ability to create software” – Pete McBreen, Software Craftsmanship: The New Imperative
30. Characterization of a Software Craftsman Will “Do It Right” Take responsibility Take pride in his work Signs his work Continuous learner Practice deliberately Write code The right attitude Contribute to the community
36. What should I learn? TDD – can be applied to all languages Functional, dynamic and statically typed languages – learn the different paradigms Refactoring – learn how to change your code efficiently Design patterns Tools (ReSharper, Visual Studio, Ndepend, Pex etc) Frameworks (Nhibernate, Mongo db etc)
37. Start training! Code Dojos Code Katas Pair programming with other fellow Craftsmen
42. And you can become a Software Craftsman by honing your skills (study, training and practice)
43. A special thanks to Corey Haines, for letting me using his slides. http://www.slideshare.net/openagile/the-craftsman-developer-in-an-agile-world http://www.coreyhaines.com