Journal #248 – It can get frustrating

Work can be frustrating when things don’t go your way.

Life can be frustrating when things don’t go your way.

Even play can be frustrating when things don’t go your way.

Being a programmer, a software engineer, is especially frustrating. Sometimes you got stuck on solving a problem and you got a deadline approaching you. Then you got your team lead pushing for stuff to be done faster.

Right now, I’m struggling to even deliver any decent quality in my work. The existing code base is such a mess that it is starting to lose its form and I can see it could create potential problems in terms of maintainability in the future. But do we have the time to fix it?

Nope.

There is never time because once the software is delivered by the end of this year, it will be tested briefly, then a quick two weeks UAT, and then go straight into productions. After that, it will be second phase of development.

At the same time, my colleague who is responsible for the frontend mostly implements stuff that are requested and don’t think further about how the user would use the application. She approached it based on how she would use the application.

I hate that approach because it leads to applications that scream “I suck. Don’t use me.” Well, that’s how I see it anyway because I do use quite a number of apps and subconsciously, I’m judging all of them by a lot of metrics. Ease of use, minimalistic, and how it look are some of the metrics, if you want to know.

So what my colleague is doing does feel like going against my desire for quality application for user to use but I also recognize what I could do is work within that constraint and do quality. I can’t change another person but I can change myself.

Another reason why I get upset about building an application without caring how user would use it is about my legacy. I know for a fact that people or users tend to harp on problems and issues rather than the good things. I just can’t help but feel like this is a drag on the overall quality. I admit that a part of me is wondering if I should continue to be part of this development work. I don’t want people to think that I was part of a team that deliver a basically functional software but lack the thought or empathy for the user.

But I will note that I’m not yet depressed though I catch myself just taking whatever it is my colleague decide to implement and starting to not care anymore. As long as it works, right?

Whatever my feelings are, it doesn’t mean that I lost sight of the big picture. The customer only want a functional product delivered on time that also perform well so that the users can do their jobs. My company is concern with the Profit and Loss. I have to work within that too and it’s frustrating.

If only we got unlimited budget…