I have been a software developer for over 30 years now.  That includes time as a kid playing with technology, time as a student, and professional and non-professional work.  Over that time I have encountered a lot of bad designs, and some good designs in systems and software.  I also have, like every person in […]