It’s quiet in the office: 24.01 is a public holiday in Romania and many people here took a day off on 23.01, so they can have a longer weekend. Some of them will come to work on 24.01, most of them will not (they’ll come to work some Saturday to compensate).

Our wonderful QA came to work today and we had a discussion about an issue she had recorded; she has this special way of allowing you to really think when talking to her, so I’ve quickly realized she was right – the currently implemented user experience was bad and we needed to find a solution.

As there were no e-mails to process, developers to manage, mentor, coach and so on, I have been able to take my time and really think of a good solution.

And I’ve found it. While implementing it I’ve stumbled across some code sequences that needed improvement. And I did improve them, while managing to finally extract large chunks of code from some classes that grew in time to have multiple responsibilities (more precisely, a controller that ended up controlling multiple use cases and an Office ribbon class that ended up with business logic code in its UI handlers).

In the end, everything was good and I’ve felt good. And I want to continue developing code; I’ve learned so many new things lately and I can finally say I know what SOLID and TDD are.

I need to make the call: give up my position as PM and move full time into a software architect position? If I do so, I risk having somebody else managing me, which I’ll only accept if that person is really competent and also sees us as creative people, not coding monkeys; I may also risk a pay-cut, and I do not afford it right now. So, what should I do?