Software Engineering for Small Projects

Michael Schwern

Friday, 1:30 PM in Rangos I.

Target:     Those who have been programming for a few years and have a firm  understanding of a language and general technical programming practices, but lack knowledge of good software engineering, and good style.

Unlike traditional technology, software engineering is more about heuristics and sociology, which is much fuzzier and not guaranteed to always work.  With this in mind, the goal of the tutorial is not to attempt to teach all of SE in 3 hours, nor is it to lay down a set of hard rules to follow.  It is more about priming the pump, gettingprogrammers thinking about SE and how they can improve theirproject's quality and showing them what's out there so they canpick and choose techniques to fit their style, preference andproject.  I'll present the problems facing small-to-mid sized projects, go through techniques which attempt to deal with the problems and pointers to further information.
 
In short, I hope to alter the primary mind-set away from "how fast does this code run" to "how fast can it be written" or "how easily can it be maintained".

The pitch:  Perl has a bad rep as being write-only, but this is more the fault of the programmer than the language.  With its extremely rich feature set and philosophy of "more than enough rope", an unwary programmer can wind up hanging not only himself, but his coworkers along with him.  The tutorial is about developing programmer discipline, knowing when to avoid neat features, and how to think about the complete life-cycle of your program.  Most importantly, its about the long, hard road to laziness.
 

Next | Previous | Author list | Schedule | YAPC 19100