To register, please provide the following details and email us. Group rate (for companies) available for 5 or more.
Michael is best known for his work on Working Effectively with Legacy Code, he is also a frequent invited speaker and well known in software development. For the second time in Singapore, we can learn directly from him without travelling to America. The following are the workshops we planned to organise while he is here. You may find out more about him at his LinkedIn.
This is a volunteer work and all profit will go to Agile Singapore to support future events.
PARKROYAL on Kitchener Road
181 Kitchener Road, Singapore 208533 (map)
Technical Debt is a catch-all term that we use for entropy in software development. Systems grow, become unruly, and difficult to work with. When this happens, we often know that we can do better, but it is hard to take concrete actions which help us get a strong a sense of control over the evolution of an entire code base.
In this course, Michael Feathers will outline what he has learned about making big changes in large software projects. You'll learn techniques all along the continuum of team coordinated refactoring, rewriting, and advanced team practice which help you maximize the potential of your existing code base.
ObjectivesBy the end of this course, you will:
For managers and developers with knowledge of software development. There will be no actual coding in the course, but people must have reading knowledge of code.
What to bring?
A laptop computer with text editor.
9am to 4:30pm for both days
It would be easy to say that error handling is a black art in software development but that implies that there is some secret stash of knowledge out there. The truth is that we tend to think of error handling as a "lesser concern." If we know how to throw and catch exceptions, we feel that we are okay.
The fact of the matter is - we aren't okay. Error handling in applications is often a symptom of incomplete design. This course will focus on techniques you can use to systematically increase the robustness of code by rooting out potential errors and designing them away.
Topics will include
The format of the course is lecture, with team exercises and discussion.
This course is for developers. There will be extensive coding exercises. Participants should have experience in Java, C#, or C++.
What to bring?
A laptop computer with a Java, C#, or C++ programming environment. The exercises will translated into all of those languages.
Timing9am to 4:30pm