It was an interesting day at the contract job. It became obvious to me, and anyone else that saw it, that the ASP.NET project we were given to do a face lift on is in dire need of being scrapped entirely, along with the backend system and Windows app that go with it. It's the most poorly designed application ever. I hesitate to even call it an application.
After an "I saved your ass" security fix that unintentionally made me look like a hero, we explained the state of things to the client over lunch. While certainly not happy about it, I think they started to grasp that if they want to continue growing the way they have, they're going to have let someone rebuild their system, and do it correctly.
So what does this have to do with me? Well, the project manager asked if I felt comfortable in facilitating the requirements gathering and design of a new system. That's somewhat tricky because this is the client's busiest time of year, and frankly they have no requirements. The possible plan he laid out was perfect, as it would likely not be a full-time thing (given the limited availability of the client's experts), it would be a chance to be the point man on the architecture of an enterprise-class system, and I would continue working on an hourly W-2 basis (something I insisted on because it's a lot harder to take advantage of you).
While I've been exposed to plenty of giant and grand application plans (the mother of which is easily the one I was involved with at Progressive), it has always been a following role, not a leadership role. I've had leadership and management roles many times before, but generally at a lower level in the grand scheme of things. This would be the first time that I get to actually decide on how to build the beast. The scale is much bigger than what I've had to do for previous gigs (and personal projects) where I was the architect. This could be a remarkable learning experience.
Earlier this week, I felt as if I had somehow failed as an entrepreneur because I went back to a job that required me to put pants on in the morning. Now I'm starting to realize that perhaps I've been a little too critical of myself, and when I take inventory of the last two years, I've come a long, long way.
First off, I went from negative revenue in 2003 to a point where I made enough to at least survive (if not live the J-Pizzie lifestyle). During the last year I wrote a book and didn't do much else. Even without a bona fide business plan going forward, there's still plenty of opportunity for growth. Generating a coulpe grand in profit a month for doing a few hours of work a week is a good start.
Second, about five years ago, I wasn't a code monkey at all. See previous points. That's a hell of a shift to make in terms of career.
Third, going back to a day job hardly makes you a failure when you've built your qualifications to the point that recruiters are calling you or sending you e-mail every day. Boy did I feel stupid when I realized that. I have friends that wish they had that problem.
In any case, I made a lot of realizations today about myself, my career, and most importantly, what kind of experience and work would better qualify me to do certain jobs or even allow me to be better prepared to work for myself. Recognizing your deficiencies is such a ridiculously obvious way to better yourself, even though it's not always obvious!