Chapter 3 covers the topic of what exactly software craftsmanship is. The author generalizes it by stating its putting responsibility, professionalism, pragmatism, and pride into software development. He then goes on a long walk through of how software craftsmanship came to be and the history behind it. Basically software craftsmanship has been around since 1999 however it never really gained traction until about 2009 when the Manifesto was published online. The Software Craftsman Manifesto outlines four main values of a developer: 1) Not only working software, but also well-crafted software. 2) Not only responding to change, but also steadily adding value. 3) Not only individuals and interactions, but also a community of professionals. 4) Not only customer collaboration, but also productive partnerships. The author concludes with the main idea that software craftsmanship is a lifestyle and mindset of professionalism in software development and always striving to provide the best service to clients.
After reading chapter 3 I thought there were some really good points but I did think the history was a little drawn out for the reader. I agree with the manifesto the author laid out however everything he mentioned seemed to be common sense. It is also something that must be embraced by the entire business for it to be effective. While one developer could be a craftsman, it takes everyone to follow the manifesto for it to truly work and give the client the best experience possible. My favorite idea from this chapter was the ‘craftsman swap’ where developers from different companies would trade places and act as if they were a developer at another company for a week. This is a great way for teams to get an idea of what they could do better and sheds some light on how other companies are operating. Both teams benefit and can adopt the best practices from the combination of two teams. I can however see where competing companies may not want to have their competition directly working with their team to gain any kind of competitive edge. Overall, I think the Manifesto for craftsmanship holds good points any developer should be following and sets a higher standard for developers everywhere.
Chapter 4 covers the topic of attitude being a software craftsman. The author makes a point to make it clear that we as individuals are responsible for our own careers and continued learning. While it’s nice to work for employers who invest in their employees we are ultimately responsible for keeping ourselves trained and up to date. He goes on to talk about all the different ways we can keep up on our training so that we are always learning. First he mentions reading material in the form of books, blogs, or technical websites. The author does mention even beginner developers should keep a blog to document and track their progress. Next he talks about ways to practice. When practicing a problem it’s important to focus on how the problem is actually being solved and not just writing code that works. Katas which are short coding exercises or doing personal pet projects are also some suggested ways to get good practice in. Lastly the author touches upon time management. Many times we tell ourselves we are too busy but he insists to make time. We can do this by limiting habits like TV watching or social media use. He does make a point that there needs to be a good work life balance but to own your own career you must manage time wisely and keep your skills sharp outside of normal working hours.
After reading chapter 4 I noticed a lot of commonalities mentioned from Robert Martin’s Clean Coder. I strongly believe it is an individual responsibility to continue software learning at any career stage. Out of the ways mentioned I find myself following social media and blogs the most. With the speed that tools and technologies come out, blogs tend to have good early information and usually tutorials to help you learn. One thing I’m not sure I fully agree with is the Pomodoro Technique. While I think it may be useful for someone who’s off track, setting timers and keeping such a rigid schedule does not seem sustainable. Personally I know I would keep checking the time remaining which would hinder my focus. In conclusion my career will surely benefit from personal learning and proper time management skills.

From the blog CS@Worcester – Software Development Blog by dcafferky and used with permission of the author. All other rights reserved by the author.