For the past few months several of my coworkers and I have been very busy redeveloping one of the biggest sites that we maintain, StateCollege.com. It's pretty much sprawling...lots of guys worked on it for the past 10 years and I really don't think they ever threw anything away. In my work I keep finding little pockets of fully functional code existing in isolation, unattached to anything that would ever get seen, sort of like a Rube Goldberg machine but with absolutely superfluous parts. At any rate, it's been a lot of fun rewriting the site. It's a great way to learn, too - when I think about the work I've done over the past couple months, I'm always most-pleased with the project I'm currently on, feel that there are minor flaws with the project I last completed, and wish I could completely re-design the projects that're several back.
I've been reading a great book called "The Mythical Man-Month" by Frederick P. Brooks, one of the project managers for IBM during the development of OS/360. Brooks is extremely candid about his experience and has some really definite opinions on large-system programming. One he's always coming back to is the need for planning, specifically the statement of the problem and the refinement of steps needed to solve it. His thinking is that by forcing yourself to really break the project down you will avoid making time-consuming errors in the early phases (which in the middle phases become glaring problems that require inelegant workarounds). I've been really into trying to follow this ideal of planning, as well as developing a consistent style of coding classes so moving from one to the next they behave similarly and predictably. It's been a lot of fun.
Some of the projects I've completed, most recent first: Classifieds - complete rewrite. Upgrade your ad, pay using credit or paypal, integrated member transaction system, dynamic RSS feeds, tons of other stuff. News System - pulls feeds from all the local papers, parses them and puts them into categories. Weather - I'm really happy with the way this one turned out Personals - this one was pretty fun. Apartment Guide - note the snazzy "other properties nearby" feature. Community Calendar Ride Board - not many people using it, but still a fun project. Map & Direction system - throughout the site you can see the mapping system
Current project (in development): Online Menu System - the concept is an online shopping mall where local businesses (including restaurants) can put their products or menu items online and sell them through our site.
Comments (0)
Commenting has been disabled for this entry
