Software craftsmanship is a philosophy and approach to software development that places a strong emphasis on the artistry, skill, and craftsmanship involved in creating high-quality software. In an era dominated by rapid technological advancements and the constant demand for innovation, software craftsmanship serves as a beacon guiding developers towards a more thoughtful and deliberate approach to their craft.
Software craftsmanship as a concept emerged from the growing complexity of software in the modern world. With its complexity it become more and more important to write code that is not only working but also about writing well-crafted, high-quality code that can be easy to maintain.
The software craftsmanship movement extends the values of agile by raising the bar for software development by practicing it and helping others learn the craft. Which all results in the bellow extensions on the agile values:
- not only working software, but well-crafted software
- not only responding to change, but also steadily adding value
- not only individuals and interactions, but also a community of professionals
- not only customer collaboration, but also productive partnerships
This course is designed for junior and medior Software engineers who want to improve their skills and knowledge on how to become a better software engineer. For the once who see creating software as an art and strive to become the best of the best in software engineering, who take professional pride in what they do and the software products they create.
For IT managers who are interested in the software craftsmanship movement we have a masterclass available to learn about the software craftsmanship movement. To learn what are the pros from well-crafted software and why the core values of the movement are important for your business.
- Basic Understanding about software engineering
- Understanding of the agile principles
Introduction to Software Craftsmanship
- What is software craftsmanship?
- The history and evolution of software development practices.
- The mindset of a software craftsman.
- The impact of software quality on business success.
Coding Best Practices
- Clean code principles and practices.
- Code readability and maintainability.
- Code review and code quality tools.
- Refactoring techniques.
- Importance of testing in software development.
- Types of testing: unit, integration, and acceptance testing.
- Test automation frameworks.
Collaboration and Communication
- Effective communication within development teams.
- Pair programming and code reviews.
- Agile and Scrum methodologies.
- Collaborative tools and practices.
- Identifying technical debt and refactoring.
- Metrics and tools for code quality assessment.
- Personal and professional growth as a software craftsman.
- Building a culture of continuous improvement.
What have you learned after this course?
Course Objectives: By the end of this course, participants should be able to:
- Understand the core principles and values of software craftsmanship.
- Write high-quality, readable, and efficient code using best coding practices.
- Develop effective testing strategies, including unit testing, integration testing
- Collaborate effectively with team members to build software collaboratively.
- Identify and mitigate common software development pitfalls and technical debt.
- Continuously improve their coding skills and strive for excellence in software development.
No (suitable) date available? Or do you want to schedule this training as an in-company training? Contact us!
About the trainer
Jeroen is an enthusiastic Software Engineer driven by a relentless curiosity for emerging technologies. With a strong affinity for .Net, he excels in crafting a versatile range of applications, spanning from dynamic Web Applications utilizing Blazor to the innovative realm of .Net MAUI applications and robust Azure functions. Holding the reins as a lead cloud software engineer, Jeroen leverages his expertise to guide clients in constructing expansive and scalable solutions. Beyond his technical prowess, Jeroen possesses a deep-seated passion for mentoring fellow professionals. He actively engages in collaborative discussions to enhance solution-building methodologies, contributing to the continuous growth and excellence of his team. Jeroen's background as a former software development teacher at The Hague University, coupled with his experience in leadership consultant roles, underscores his commitment to knowledge sharing and elevating solution quality.
We are currently planning new trainings. Do you want to be updated of new training dates? Sign up via this form.
The training course will be held at our office in Leiden, Dellaertweg 9-E, next to Leiden Central Station. Parking can be in the surrounding parking garages at walking distance from the office. You can also ask for a custom training at your own location when you have multiple colleagues that want to follow the training. Contact us for possibilities.
The training will be held between 9:00-17:00, but exact details will be communicated well before the start of the training. Lunch and drinks are included.
The training can be given in Dutch or English, depending on the language of the participants.
You will need to bring your own laptop with the necessary development environment set up to participate in the coding exercises and projects.
Participants will have access to our Slack community, where they can stay in touch with each other and seek clarifications or assistance with any questions that arise after the training.
If you find yourself unable to attend the course after registering, don't worry! We understand that unforeseen circumstances can arise. Until 14 days before the training starts, you can get a refund. After that, you have the option to reschedule your participation with another course date. To reschedule, please reach out to firstname.lastname@example.org. Kindly note that rescheduling is subject to availability and the terms and conditions of our rescheduling policy.