After spending the last half an hour struggling to narrow down a decent thought to start writing from, I decided to give up. Documenting my day shall be the default mode rather than wasting any more time trying to find a perfect topic to talk about. And part of my decision process included me writing something on Facebook that got me settled down.
So what’s my day like?
I went to work slightly earlier today because there is a company-hosted dialogue session for new employees. The best part of my morning was I was melting as I made my way to office from the MRT station. In other words, I was basically sweating non-stop until my shirts (I wear two layers, one to absorb sweat) got soaked through. My body for some reason felt exceeding warm and just keep sweating. Yesterday was fine actually. The worse was when I was getting my daily Starbucks and I was just standing there waiting for the barista to make my coffee.
At the dialogue session, the person conducting was one of the department manager introduced himself and got us to introduce ourselves. Then he talked about how the company is transiting to building products instead of just providing services and doing projects.
After the whole talk, I am not even convinced because I have been lied to so many times by company management about building products and Singaporeans in general always think in terms of project. It’s almost like they are incapable of thinking in terms of product development. That’s just my conclusion from what I have seen. I want that conclusion to change and in order for that to change, I need to see actual Singaporeans doing product development.
I would like someone with way more experience in product development to share what are some of the most common approaches to product development in a company. Whatever I know right now is theoretical (I think closer to be naive) and I have never got the chance to experience it. And by theoretical I mean some of it is based off this article by ThoughtWorks. I also have an idealistic view of how products should be built.
One aspect of product development, which I think is important, is the process has to be design-driven. To me, without being design-driven, it will be very hard to lay down the foundations for future growth because you don’t get the chance to ask the right questions.
The other is having a team of product developers, not just developers who think short term and simply want to get the project done and over with.
One last very important thing is funding. I believe that you need to have a delicate set of funds to support the process of product development. You can think of it as an upfront investment. I don’t know how correct I am on this part but I have experienced enough where the company simply don’t have the money to support product development because the money comes from existing projects. All the research and development, trial and error, etc. simply couldn’t be done properly. All that tend to make me doubt the company about its ability to build and sell products. Again, I could be wrong. Someone please correct me on this.
After that, I went back to my desk and continued to implement whatever features I need to do and fix any bugs found. Tomorrow is when we will be deploying a proper set of applications for the actual use by the customer over the holiday week. So we will be testing it heavily over the next few days to identify any further issues and fix them fast.
Thus far, I hadn’t been enjoying the process of working on this project. The biggest gripe that I have is with the project approach the company is taking despite their claim of wanting it to be a product. But it’s not up to me at this moment because I’m not in that position. And I have no intention of being in that position because I never want to manage people. I just want to focus on doing what I am doing to the best of my ability.
The other gripe I have is with the design side of things. Design just wasn’t done properly and every developer is just implementing stuff their way just to meet the basic use cases. Our team lead did try to ensure whatever we implemented is useable and perform well but that’s about it. It’s not his fault really because his plate is pretty much full too. At my company, one person will be responsible for more and more projects over the years. So with that kind of multitasking, I don’t think it will be possible for that one person to think of the future of a so-called product.
For me, I did try my best to think of the future—think about how the user will want to use the application and what will happen if I don’t do certain things. Within the short time frame, I did whatever I could to add certain kind of controls, ensure certain kind of interaction the user can have with the application. But I also know that I could be completely wrong with what I implemented and will need to change later. I have also tried to ensure code reusability by introducing more layering.
By around 5.45pm, I was done gathering the latest client code from source control and compiling the codes into a deployable application for tomorrow. I put the compiled files into a folder on the share folder where my other colleague was preparing the server stuff. I waited for my colleague to finish putting everything onto a thumbdrive before leaving.
So tomorrow, I will go to the customer office to do the deployment and testing the applications. I do hope it goes smoothly.
I went home to rain and then join my mom for dinner at the Legendary Hong Kong restaurant. I ordered Seafood fried rice with XO sauce, pineapple drink (basically canned pineapple with syrup), and steamed shrimp dumplings.
Nothing too fancy but then the price tag is just not worth it. The food is just too average and I could get them cheaper from elsewhere. I think I will avoid going to this restaurant in the future.