Sure, glad to. You can also ping me off HN if you want.

For me, the realization started at my last job. We were a really small, but matured startup from the dot com boom. I joined, and stayed a single year. I left because we had no purpose, or rather I didn't know where we were going or why. The CTO made goals for me, and basically they equated to building new products and features into our existing offerings. The only problem was, no one knew what those should be. So I spent the better part of a year just building things, throwing them away, and building them again.

We went to a company meeting, a once a year affair, and I finally met our CEO. He told all of IT to stop building new things. I figured, okay, we're going to stop and do some bug fixes. I got back to the office, and absolutely nothing changed. One layoff, a few server outages, and countless prototypes being thrown out I'd had enough. So I did what I thought would be my out, I applied for a new position at a huge company. One that would have to have a forward vision to survive, and a budget to keep me up to date and well paid.

I ended up where I am now, and at first everything was clear. Our objectives were laid out in requirements, the requirements made sense (mostly), and when we met them everyone was happy. Until the customer got ahold of it. Which was fine, until the customer completely changed their mind.

Everything started to sound familiar at that point. We would promise the impossible, deliver what we could, and almost never push back. We started to develop things before they were fully spec'd even while keeping a waterfall development model. It was just... messy.

The only difference between this and my first position was that the goal was clear, but the true question of "Why are we building this?" was still not answered. I've built or helped build about 4-5 systems for the Fortune 50 company I work for over the past two years. Of those, I would never use any of them. Ever. The total audience for our usual application is maybe 50 people, and they have to use it to do their job.

So I learned that even having a purpose can mean nothing when that purpose is futile. I've been rewriting legacy applications in an already legacy framework. Of those applications, most of them could have been covered by building one standard application that handled a more generic use case. Instead we built each one, individually, on top of archaic tools and frameworks.

I'm ashamed to admit that I've gotten used to being less than optimally productive. I've learned to put things off, and to manage expectations. I used to burn through line items, and get things done, but all that seems meaningless when you have no idea where you're going or why.

So now, in an effort to fix it all, I've joined the leadership program at my division of our company. Unfortunately, I can't move on to my next assignment until June. The program promises to give me more visibility, experience and an accellerated career path. The best part, though, is that I get to change positions every 6-9 months.

Sounds like it is just what the doctor ordered, but only time will tell. For now though, I remain incredibly burnt out. They want spell check implemented for everything on their 50+ field form, using a vendor supplied input field. Meanwhile, the viewstate is hovering around 1.5mb and we still don't have a session database.