These topics are likely a cross-section of the courses you’ve taken or the tasks you’ve completed while on the job. Construction is a core piece of software engineering. If you’ve worked on a project that started out as “just a small app to do foo” then it’s likely you started with this phase of development. If you’ve worked on a more mature product, concept, or idea, then you might have worked your way to construction through specifications and business requirements. In class, this might be a set of information provided to you before you begin a lab or homework. Steve discuss many great points for why construction is an important topic including:

Construction is the only activity that’s guaranteed to be done.

Construction’s product, the source code, is often the only accurate description of the software.

I love the articulation of this first point. Whether it’s a project or a product that’s running late, many corners can be cut but this isn’t one of them.

Questions for discussion:

In projects you’ve worked on how much time has been spent in the construction phase?

Steve’s motivation for this book was to provide a quicker dissemination of best practices among practitioners and between academia and industry. How do you learn about or share best practices to improve your skills?

I find the way I learn best is to chat with other developers, although I also like books and newsletters. I find that when I try to explain my code to someone else, I see a lot of nuances that I missed when I was looking at it on my own. When I was at IBM, I developed libraries in C. Memory debugging was quickly one of my frequent tasks and I learned how to use Valgrind and Electric Fence from my colleague Folu. This lead me use to use linux.die.net as a resource more generally. I read a lot of MSDN and DeveloperWorks articles.

Since working at Microsoft, I’ve learned about Channel9 which has a lot of great developer content. Microsoft has a number of great resources for students such as the MSDN Flash Newsletter “News for Students” column and our Facebook discussion at Microphone.