Software Education in the 21st century


It is unfortunate that today’s software practitioners are put at such a disadvantage by spending four years of their lives studying things that are totally irrelevant to creating software (i.e. a BS in Computer Science).  I have yet to use any calculus in my career.  Discrete Mathematics was also a total waste of time.  P = NP is nifty, but not really relevant to my profession.

That is why there is such a brazen turn against the term software engineering.  This is where things such as the Agile Manifesto come from.  It is the pent-up frustration of software developers finally saying “ENOUGH”!  I want to get things done, I don’t feel like studying so much theory that I forget why I started Computer Science in the first place.

This era in time is analoguous to the late 1800’s in which established universities such as Harvard, et. al. were still teaching Latin and other useless subjects.  What came out of this was MIT, all the A & M schools, Virginia Tech, Texas Tech, etc.  Universities that actually prepared there graduates for the real world.

The big universities are so large that they cannot be turned quickly and today’s software profession changes every month.  A new model of education needs to be developed lest these big university programs are replaced.  There is a vacuum right now for certifying and educating software developers.  Either universities need to change, and change quickly, or the industry will find another way.   But time is running out….