That's right...laid off, and just in time for summer (christ I need a vacation, last one was almost 3 years ago...and no, long weekends don't count)! Getting up in the morning was getting to be such a pain in the ass, good riddence I say! This will give me some time to catch up on all the Odd Todd movies I've missed, as well as finally getting around to cleaning my apartment. Could be time to kick the ol' drinking habit into serious overdrive as well, the 8-10 hours a day I was in the office was such an interruption (drinking in the morning was never really my thing anyways). Yeeeaaah riiiight, anyways...
On a more serious note, it was as a consultant, so the volatility was always there...it was originally a 4 month contract that I managed to expand to almost a year. It was a great gig and I have no complaints other than the way they went about it (very suddenly, I had about an hour to pack up my cube and even got a friendly security guard to escort me out...standard operating procedure in the tech world though), but I know that's just the nature of being an outside consultant brought in to fix everything, given 2 weeks (or even another day), if I was “disgruntled” (which I'm not) some serious damage could have been done to their systems, but of course I would never do that now would I?
But of course the main question is “why”? It was a classic case of an IT department getting a little overzealous with the hiring of consultants. This particular IT department was less than a year old and had just rolled out an entire suite of home grown intranet solutions, replacing what was up to that point each department basically having their own mini systems built in Access/Excel/Word. From what I could gather, 3 developers hammered out one each of a CRM, ERM, BI, and Provisioning application in about 6 weeks time (all tiers as well, nothing shrink wrapped). No formal frameworks in place, and I heard they basically coded with one hand on the keyboard, and [insert favorite ASP.NET book here] in the other. To be honest, it was actually quite impressive looking, and the apps definitely did what they were supposed to do...however these guys were all classic ASP coders, and the code reflected this. But for 18 man weeks of time, impressive nonetheless. As can be imagined, maintanence was a nightmare, there were some serious performance issues...actually, pretty much anything that could go wrong was and the need was realized to get some outside “experts” to come in and clean everything up. When I arrived (along with another guy), there was a backlog of about 1200 outstanding issues/change requests/enhancements. Needless to say we were both very busy bees initially, and also fixed a ton of stuff that wasn't requested (wrote frameworks for logging/database handling/exception management/etc). Along the way, they brought in some other consultants as well (this is where the overzealous comes in to play...we definitely had everything under control) to make it a grand total of 8 developers, split evenly amongst consultants and the devs that worked for them. Lo and behold, the work ran out! Not only that, new work didn't come in to take it's place (I partially attribute this to us cleaning up a lot of stuff along the way that would have started acting up at some point)...so it was inevitable that upper management would start to wonder why they are paying people 30 bucks an hour to sit around (well, not really sitting around...I am more caught up on tech news than I've been in a while, which actually kind of sucks now that I am going to have even more spare time), and alas the axe finally fell. Two heads in one fell swoop (the 2 guys that had been there the longest...go figure)...nice shot guys! Again, and I cannot stress this enough, no hard feelings whatsoever, walked away with a lot of knowledge about a vertical industry (mortgage and lending) that I had no clue about before. Plus I got to work with this guy who is probably the most brilliant developer I've ever had the privilege of working with.
I am in initial negotiations with another firm here in the Charlotte area, more info on that as it comes in. I will be available for small side projects, so if anyone knows of a need/has a need, please let me know (damn, guess that means I have to blow the dust off my resume now and actually update it...will post it when I get that done). From what little I do know about the position, it sounds very interesting (user interface centric, heavy on the OOP)...I suspect it has something to do with trading (based on the languages/methodologies involved)? May need to make quick friends with mdavey...who knows, I could be way off.
So really...what am I going to do with my time? Something I've been thinking about lately is that pretty all my exposure to technology and programming is Microsoft based. This is not a bad thing (for the most part), but other platforms have different approaches to the same problems. No, I am not jumping ship, but I would like to introduce a new way of looking at these common problems into my work. I've been trying to decide on a new language to learn, but not in the same vein as VB/C#/C++/Java (similar methodologies can be applied to these sorts of languages, PME's as my buddy Orion calls them...Properties, Methods, Events based languages, not truly OOP). I think I've settled on a language/methodology to dive headfirst into...Smalltalk/Squeak (and to some extent Lisp), though I'm also considering Eiffel. I've started some initial reading on Smalltalk and am amazed thusfar, it's definitely a different beast...everything is indeed an object (always wondered about that one), the notion of types simply doesn't exist...the language takes care of all of that behind the scenes. Everything is accomplished by sending messages to these objects, yet there are only 3 types of messages: Unary, Binary, and Keyword. Interesting indeed. I will definitely be posting more info as I come across it. If anyone has any language recommendations (Smalltalk or other), please let me know. Now get back to work!