Thursday, April 18, 2013

Highs and Lows of being a Developer

As happens at any job, things change and quite unexpectedly at times.

For most of the last year I've enjoyed working with a great group of developers on a project I enjoy.
It was the best I could ask for.
A complete rewrite of an aged and troubled application. It was a frankenstein mix of technologies and libraries from partial rewrites over the years, being handed down among devs.
Finally, it was being given the time needed to move in the right direction. To cut out the sections of code that were unused or little understood or simply caused problems.
To dig inside it and understand it all, to be able to rewrite almost every line of code.
In the process, fixing tons of bugs just by doing things right.
Sure there were hacks needed here and there, but at least it was maintainable and consistent. It was a foundation for the future, using new technologies.
And we had worked through almost every issue (some were grueling) to finally get within a month of our release.
It felt good, it was fun, it was exciting.

But then about a month ago, the edict comes down from high in the chain.
The current work is on hold indefinitely, the team is moving to a different department, and we are losing team members who are staying behind.
This was the result of merging two teams who were working on the same website but managed separately for the last year (and hoping to align goals/schedules and avoid wasted work).
It hurt. I understand the goal and it may be the right decision, but that was hard, really hard.
And at the time I didn't understand it technically (I may not still either).
It has taken me a while to cope with the loss, I probably still am.
But it's how the pieces had to fall, with politics and all.
Decisions are easy to make from that high level, ignoring the details.
In this case, that's the only way to correct a mistake from the start.
The teams never should have been separate, so one of them had to move.
Really it all comes down to marketing and the power involved. That can give a new project with potential possibilities more power than an existing in-heavy-use aged system (even if the existing system was about to be reconstructed as a new foundation for everything, which doesn't matter, that's too technical).

So quite a fall.
From being so close to releasing a proud achievement. No, it was no perfect and it would have been months of bug fixes, but I would have been happy to work on those. And happy to work on any new features to follow.
To now being in a limbo state, a code purgatory at the moment. Unsure what is to come.
For now, back working on the legacy system, fixing defects that were already fixed in the newer code.
And trying not to think of the dream that drifted away. Letting go.

No comments:

Post a Comment