The past 10 months have gone by in a blur. I started work at a new company (my present employer) which took me from the alternate-reality of multi-million dollar outsourced government projects to furiously trying to keep afloat in a technology startup. I’ve been busier than the proverbial one-legged man in an ass-kicking contest. I love it (despite being kinda negative about things for the past month), and today I love it just a little bit more. 🙂
I inherited the proverbial abandoned FUBAR project.
The code itself more impractical rather than useless. In theory it was okay. But in typical theoretician fashion it was a top-down design, starting from 10,000 feet… with 9,000 feet remaining before anything tangible could be produced. Furthermore, the documentation was cryptic and there was no handoff from the previous architect because he’d left about 3 weeks earlier.
The project team had also disbanded. The hardware engineers were still around and had a solid handle on their stuff, but the software project was in tatters.
I had to show something workable in two months or less. I had to do it economically (e.g. no money for off-the-shelf components). I wanted to produce something that also happened to be good.
So: time and resource bound, with no room for quality (without loads of effort… and luck). Nightmare in the making.
10% of my time has been spent gathering requirements and 90% of the time I’ve been developing (or fighting with the tools). Design? That had to be reflexive; based purely on intuition and experience.
Turned out that my design wasn’t original. In fact, I found a picture of the overall architecture:
That’s from www.dofactory.com/Framework/Framework.aspx, about 2/3 down the page.
(note: I’m no shill for the dofactory product. I stumbled upon it today while looking up UML pics of the adapter pattern. So sue me for not being able to recall it exactly after seeing almost nothing but C# for 9 months.)
Almost exact similarity to referenced “good” design >= chance of my design being good too.
Considering the circumstances, this kind of passive validation felt pretty good. Makes me feel like I’ve actually learned something over the years.
I realize that this is a just a useless brag post. But sometimes… you just have to let it out.
More thoughts on Patterns and Principles (hopefully) coming soon…