I hate many aspects of my job however there is one thing that I enjoy doing was paying attention to the usability and the overall experience of the user interface I’m working on. In fact, I was so focus on that today for most of my morning as I went about tweaking the user interface to support new functionalities while also making sure the previously done parts present correct information to the user.
As it got closer to 12pm, my stomach started growling and I had to take some antacid to reduce the acidity in my stomach. By then, I had already stop doing work and focus on just browsing the web.
After lunch, there was a quick meeting where the team lead, another colleague and I reviewed what needs to be done because on July 1, there is a planned trial run. In another words, UAT. With that in mind, there were also issues raised regarding the performance of one the core functionality. In part, it was reveal by the sheer amount of data that I had provisioned into the database of the identity access module.
So my colleague and I got down to discussing what to fix. Somehow during the process, I got pretty annoyed because of my perfectionism. To me, it was like how come I didn’t foresee this problem. Another reason was because of the potential changes that would have resulted in destroying the so call “expressiveness” of the pre-existing code, make it harder to debug and maintain, which in turn would have violated my personal value on convenience and quality. Normally, I won’t sacrifice those two for the sake of performance.
Of course, I also know that no one wants to use a slow system. Performance is also a key metric and very important to the overall experience. This is why I love Apple over any other brand. They fulfill all three attributes I use to judge.
It took a while before I manage to calm down but in the meantime, I focus on throwing in timing codes to see which section was causing the problem. After throwing a couple of timing codes, I already knew what’s going on and asked me colleague to come over to my desk. The slow part was the code she wrote. However, she kept telling me to add more timing codes everywhere. Naturally, I got annoyed also.
Now, unlike my colleague, I heavily rely on my intuition about how things should be and will be. This is why I am able to draw conclusion early that would subsequently be validated by empirical data. Thus to me, when the conclusion is already there, why add waste more time and energy on something? That’s one pet peeve of mine.
However, since programming and software development is primarily about actual data, numbers and proofs, it’s really on me to learn to go through the process of proving to somebody else that what my gut is telling me is correct. And honestly, it’s something I don’t do consciously because the end result of what I do is proof enough. And I also acknowledge that I’m only human and my intuition could be wrong. So I will just keep that in mind and treat it as a way to update the so-call intuition database that I have. After all, intuition only works best when there is sufficient experience. And experience is gained through trial and error.
Work and life experiences aside, after I got home, I decided to watch Penny Dreadful because there’s nothing else that I find interesting on Netflix. Three episode in of the first season and I got to say I quite enjoy it. And before that I was actually contemplating if I want to play video games tonight.