I work with a couple of very good statisticians. What they do is a mystery to me, but one thing I can say for sure - a good programmer or DBA will find work much more easily than a good statistician. In large part because PHBs have no clue why they need someone with more than two semesters of probability in almost every application.
Another problem with students going into statistics in the US is that virtually all of the instructors don't speak very good English. To this day I want to say things like "probabirity", "rotatation about the ashes", and the one that confused everyone in the class - "ashama" (eventually translated to axiom).
We tend to make the assumption that an average lifespan of 30 means that nobody lives past 35 years old
We who? I doubt anyone thinks that.
Otherwise I generally agree with what you way - median life expectancy of those who reach adulthood would be a far more useful statistic here.
I've noticed several design suggestions in your code.