Making a comeback from burn out.

It’s been almost 8 years since my last post. It was supposed to be a two part mini-series on how to write better asp.net web forms templates. I never finished that mini-series, and won’t.

You see, around that time, I became pretty burnt out software development. I was fighting back against the movement of everything to web apps. Cloud was on the horizon, the web was becoming king, and everyone wanted some kind of web based application. Compound that with being on a development team for the same company for 9 years and the same application for a little over 4 years. I was done.

I traveled around, hoping to move to better places, with more opportunities. I interviewed at many awesome (and some not so awesome) companies and met many pretty cool people. In the end, I quit developing. My heart just wasn’t in it anymore. I felt like I had stagnated because of where I was and it was an insurmountable problem trying to get back to where I needed to be.

I had also started to develop a new passion. I loved hardware and networking. I was dabbling in server administration and deployment. I decided to change careers. Unfortunately, this usually means starting over, which is what I did.

I took a position as customer support (help desk) for a small software company. I was going to dual role there. Customer support with a dabbling in maintaining their network and infrastructure… Best laid plans…

I ended up managing the customer support team and then migrated to IT Manager. I started doing more devops as well. Software deployments and customer provisioning was all scripted using a mix of powershell and mostly C# code. The more devops I became involved in, the more the passion started to come back. I realized that part of being burned out is just being bored. Had I pushed myself into more web tech, I probably would have never left.

A few months ago, the company I work for lost their entire development staff. Between retirements and leaving for greener pastures, we were left with no one. So I did what any good employee would do, is volunteer to help out. My only role: create a new greenfield project that’s entirely web based.

After a few weeks, I knew I was back and wanted to stay. The thing that had me absolutely convinced of that, was the learning new things. When I started to learn new technologies, new frameworks, new languages (hello my new best friend, TypeScript), I was excited. The flame is burning strong.

As developers, we can’t quit learning. Once we get bored, we lose focus. We lose that passion. Stay thirsty.

Why excellent vendor support matters.

We have been having some strange problems on production installs. Things like screens clearing when they shouldn’t, applications slowing down when they didn’t before, and people’s computers running slower and slower until they close our application. When I was finally informed of this, I knew it had to be memory leaks.

So I fired up the excellent MemProfiler, I started digging into the issues. Aside from some of the other stupidity I was doing, I found a problem with a vendor’s component. We use Developers Express controls for EVERYTHING and we love them, not just the controls, but the company. When I found this issue with XtraReports not being GC’d after a dispose, I immediately created a small sample for them and submitted a ticket.

Less than 2 days later, they already have it fixed and ready to rock in the latest version. Not only am I impressed, but I am put at ease knowing that if a problem comes up, they are there to not only fix it, but fix it quickly and get it out to people.

This also happened a few months ago when their ASPxThemeDeployer wouldn’t work on my x64 Vista machine. I peeked at their code and saw why. Reported it and the VERY NEXT DAY they had a solution to the problem and pushed out an update.

I don’t have to worry. I know I am taken care of.

Thanks guys!

Overcoming Adversity

One of the biggest problems with being a software developer is the constant adversity. It can be anything from dealing with co-workers, customers, or manager, to something worse — problems in the environment you rely on every day.

Visual Studio 2005 just rocks. It does everything I need it to do and more. So far, it is the most efficient IDE I have used to date. There is just one issue I have. It’s the most buggy piece of software I have ever had to use every day. I can put up with small errors or little quirks. I can even put up with a once a day crash, as long as I can see it coming… However, when you have just restarted the IDE, opened a form, changed some code, and then gotten a OutOfMemory Exception almost immediately, it gets a little annoying.

At first I thought maybe it was something screwed up in the project. Then I thought maybe it was some sloppy code or a badly formed DataSet or Form… Now, I just think it’s the IDE. I write in VB.Net, so if you are a C# developer, you may not know what I’m talking about. Why might that be? You see, I also write code in C# whenever I can. Not once have I ever had weird errors, crashes, or strange slow downs while working with C# code. Most of the time, I am writing C# code on my laptop and VB.Net on the desktop. The laptop has less memory (only 512MB versus the 1.5 Gig on the desktop) and the laptop has a slower processor (2.5 Ghz versus the 3 Ghz of the desktop). While I am probably over reacting to it, it still sucks. I’ll get these stupid errors once in the morning and guaranteed to get it at least twice in the afternoon. It doesn’t matter what project it is either. It can be a large project, or just a simple class library that I keep maintained in it’s own assembly. The best part is it’s total random. I can never see it coming…

I know it’s the background compiler for VB.Net. You can just tell because the error always happens when you’ve added new code and switched to the designer…

I hate it when I have adversity on the job… I just wish it wasn’t my tools that were causing it. Visual Studio 2005: A Love/Hate Relationship.