Last week was my 6 year 'anniversary' as a professional software developer. I like to look back on the past occasionally so i figured this is a good occasion to do so. I started working for Item Solutions (which we all refer to as Item) on October 2, 2002. At that time, it was hard to find a job as a software developer unless you had a few years of experience under your belt. I actually wanted to find a job in the Java world, or C++. After a few months of searching, i still hadn't found a job and then an opportunity at Item kinda presented itself.
Everything seemed alright, except for the fact that i would immediately have to go work at a client's location and i'd be developing in Visual Basic 6. I really didn't want to work with VB6, but hey, i needed a job and it wasn't like anyone else was interested in hiring me. I figured it would only be a temporary thing so i accepted the job thinking i could always find something better later on. About a week later i started at the client's office, which was a rather large financial institution. A fellow Item-coworker who was also working there took me under his wings and we did 4 medium-to-large projects there.
Despite the fact that it was VB6, we were using it in a pretty clean manner. Well, as far as you can keep VB6 clean anyway. I quickly worked my way up the technical ladder and was able to provide more technical input and i would quickly get more responsibilities on the technical level. For a while, it was actually a pretty good situation to be in. But after about 2.5 years there, i really got sick and tired of VB6, and was desperate to get out of there. Especially since the people at Item's home office were starting to do all these cool things with .NET. I started bugging my superiors to allow me to get a .NET certificate thinking that they'd be stupid to leave me at a client to do VB6 while i was in possession of a .NET certificate.
Shortly after i got the certificate, the client started making plans to switch to .NET as well. So i stayed there a while longer, but i was motivated again to work hard because i'd finally be able to work with a cool development platform. They involved me in the development of their custom framework that all of their new applications would have to use. Initially, i wasn't allowed to actually write code for the framework, because they brought in some high-priced Microsoft consultants and they needed to write the whole thing. But i had to stay involved because i would be the one who'd have to maintain and extend the framework later on. I learned a lot during that time, but i eventually got very frustrated with the lack of quality in the work of these consultants. Yeah, i probably shouldn't be so open about that, but they both know i thought their code and architecture sucked, so this shouldn't be a surprise to them if they're actually reading this.
After a while, the consultants left, and i had to start maintaining the framework. I've seen some of the worst coding mistakes you could make in that code, which is probably one of the biggest reasons why i'm such a proponent of writing clean, clear and testable code these days. But at least i had the chance to slowly start cleaning up some of the code. I was again in a pretty good situation and actually enjoyed working there. After a while though, various management mistakes, i mean decisions, again made it quite a frustrating place to work. I eventually left there on pretty bad terms, and in a manner that i'm not really proud of. But then again, respect and honesty is a two-way street. I'll just leave it at that.
So then Item placed me at another client's office. This time for a company in the energy sector. It wasn't the best place to work, since it was somewhat hard to find motivated people over there. Luckily, i wasn't really affected by that since i did my 2 projects there on my own. I had to follow a few architectural guidelines, but i did have enough freedom to experiment with some cool technical stuff. After about 7 months, i would finally get the chance to work at Item's home office.
So all in all, i spent about 5 years and 9 months in the enterprise world. I did learn a lot of interesting things on various levels, but all in all, i couldn't be happier to be out of that world. It's just so hard to find motivated and talented people to work with in the enterprise world. A lot of them are just there for the money and the job security, and if you do find people who share a passion for software development, it is often quickly sucked out of them because of all the inefficiency that comes along with software development in an enterprise environment.
So anyways, i started working at our home office about 3 months ago and it was an eye-opening experience. Everybody there is talented and motivated to do a great job. I did have some issues with some technical decisions that were made before i was there, but we're using better ways to develop our software now. So now, i spend my days working on interesting stuff, while also coaching our developers and i get to stick my nose into pretty much any technical issue that comes up. We're also working on some tremendously cool stuff that i can't talk about, but i'm sure those things will raise quite a few eyebrows (in the good way) in the next couple of years. And on top of that, Item is very supportive of our Dutch ALT.NET group. We've already hosted one meeting at our office, with more to follow in the future. All in all, I couldn't imagine a better job for me ![]()
Pingback: 7 Years As A Professional Software Developer | The Inquisitive Coder – Davy Brion’s Blog