levelling up

So much has changed since my last post… all my free time is now gone and I’ve only exercised once in the last 3 weeks :'(

My dept has been working on a rather big project that is related to covid since the start of May, and wow it’s been 1.5 months already! Every week has been a mad rush to get everything up “ASAP”. Annoyingly, NOBODY even knows what the timeline and key dates are and they keep being delayed T__T

It’s weird cos I’ve been doing very little actual programming work over the whole project. I’m just in charge of this 1 small web app which is now done! But I’ve been super busy liaising with the people working on different software “modules” to eg. spec out the API between services, ensuring that the API that’s developed conforms to the spec, communicating changes in requirements to the relevant people, supporting my reportee who’s working on one major part (it’s a mobile app, so stuff like getting our PM to buy phones for testing, getting people to help test with different phones), sorta managing 2 interns, communicating with vendor, liaising with people in other departments cos we need to integrate with their services, handling in-between-modules stuff like authentication, getting our software modules tested and deployed, and trying to think of what else we have not thought of that needs to be done. GG lol thinking about all this already makes me tired. So ok la hahaha although it often doesn’t feel like I’m being productive (in the sense of writing code), I think I’m still doing significant work so yay that makes me feel better.

After the first few weeks of this, I felt like I “levelled up” in my perspective on software development cos normally I just need to work on my frontend app and at most poke the backend guy to help me add/modify stuff on the backend service. Working on PAB introduced me to the microservices architecture, but we inherited the whole project and just had to build on top of it. But this project had multiple frontend & backend apps, to be built all from scratch, and I was/am one of the main people overseeing and coordinating everything! So I pretty much know quite specifically what each of the modules are doing and how it interfaces with the other modules, but without directly doing the implementation.

Some takeaways from this project so far:

Continue reading

weekly thoughts #3 – workplace culture

One thing I’ve been enjoying and feeling very grateful for is the chill culture at my office.

Just yesterday, we had a steamboat for lunch for almost 20 people at the level 10 open area. It started from one guy who was like “let’s have a steamboat in office!” and tbh most of us didn’t take him seriously at first, but he convinced another guy to bring his pot and they went to ntuc to buy ingredients so a bunch of us joined in last week for the first “trial run”. Our boss was like “yall serious ah?? Ok go ahead, but if anyone tells you off I’ll just pretend I didn’t know this was happening” hahahaha. But everyone who saw us was v amused and nobody told us off so the trial run was a success! We bought another pot from ntuc to expand it to more people for this round xD

I think my boss is totally the opposite of what you’d think as a typical boss stereotype. He’s an engineer and a teenager at heart LOL and he’s damn good at table soccer so every other day when he’s free he’ll jio us for a challenge. At first even our 2 best guys playing together lost to him playing alone! But they improved a lot and so he decided he needed a partner and recruited me for a few times HAHA.

We also recently got this AGV (autonomous ground vehicle), basically it’s a robot that can move around on its own and is supposed to be part of our smart office. It was named Elsa through a poll πŸ˜‚ which everyone now regrets because our boss got very into programming the robot….. to go around making frozen jokes. Eg. it’ll move around to beside someone and go “hello *name*, do you find the aircon cold? *pause* I think it’s fine, the cold never bothered me anyway” and “hey *name*, how is work going? stressed? sometimes, you just gotta let it go” followed by….

etc etc and it’ll play the entire song so loudly that the whole dept can hear. Then after the song ends, he’ll make it go up to the next person and repeat the whole routine.

There was one day that I was rly damn annoyed cos I was already stuck trying to figure out something in my code, then this robot keeps playing the stupid song and boss was just sitting there amusing himself with everyone’s reactions πŸ˜‘πŸ˜‘πŸ˜‘ other colleagues were not amused also and one of them said that once he hears the robot start talking/singing he’ll just wear his noise-cancelling headphones LOL. Which also has the added advantage that boss won’t make the robot target him. I was complaining to Joe about it, but he pointed out that it was kind of nice, to have a boss who’s so friendly and human, rather than one who’s v distant from the people below him. Which is also true! I do appreciate that we can just talk to him normally and he will joke around with us. It helps that he’s an engineer also so he’s quite in touch with the work we do, and he likes to ask us questions to really understand what we’re doing and get involved if he can. From what I can see he also gives people a lot of trust and hence freedom in their daily work and how they manage their teams. Although he does sometimes make decisions that not everyone agrees with, and is a bit over-optimistic on how many projects we can take on haha. I haven’t been feeling the consequences of this directly but there are a few people in the dept who got pretty stressed from decisions he made. On the other hand, he has been spending the last week programming the robot to do a “dance” in sync with some opera music and then making everyone watch it and give a score…. LOL. Much waste of time but well, I guess it’s a happy problem.

Another person who’s been v significant for me at work is my reporting officer (aka my direct boss)! He’s a much more experienced software engineer than me but he pretty much treats everyone in our team as equals when we’re working. I feel like I have a lot of freedom for the projects I’m running (including freedom to work from home which is awesome, idk why nobody else seems to do it but I’ve been wfh-ing once a week and I’m v productive at home), but he somehow stays on top of all the projects and he’ll review the progress once in a while. Oh yeah both of us actually started work on the same day and sat next to each other! But I reached earlier and choped the window seat hahahaha. We went to shanghai for some training also and I had fun laughing at him at the theme park xD sadly he moved to another table now and he seems to be perpetually v stressed cos of the amount of projects that are coming up… and he still likes doing actual programming but as the boss of our team, he has to go attend external meetings every other day also plus sometimes there’s internal project meetings or stuff he helps us with individually, so he’s always working until damn late :( feels bad man. But it’s cool to know that you can progress in your career but still do actual programming. Normally it seems like developers are only at the lower level but to progress you basically have to go into management, not v sure if I would want to do that…

My office is “open concept” ie. no individual rooms or cubicles, I think most companies’ offices are like that nowadays? Don’t really know if I like it though, there’s both good (easy access to other people to ask them stuff) and bad (when people come and talk to your neighbour which makes it super hard to focus). Some people also like to walk around and loiter behind my area for some reason… so once I notice their presence there I’ll think “should I talk to them them..?” and even if I don’t, my focus is already disrupted D:< I guess one advantage of headphones is that it’s a clear signal to tell people not to disturb you haha

(Wow this post is on just one topic and it’s already 1k words)

thoughts on 2018

2018 has been an exciting year with many firsts for me. First trips to US and Europe, working on cool stuff plus learning about entrepreneurship through my capstone project, and of course graduating and working and earning my own money!

Uni now feels so long ago hahaha and it feels strange being the first to graduate among my non-SUTD friends. I kind of miss uni life where company is just a “dinner tonight?” message away rather than having to plan and coordinate in advance like now. On hindsight I think I made the right choice in going to SUTD because I learnt a lot from all the projects I’ve done. Was helping Benji with his resume for applying for internships and I was pretty shocked when he said he didn’t have any projects from any mods to include, after 3 semesters doing computing.

Adulting has been interesting LOL there’s so much personal finance stuff to know that nobody really teaches you. Like the 1039842 different credit cards and savings accounts and types of insurance you should have. And how to invest your money. The whole concept of credit cards is quite weird to me… people who really need credit cards to pay for things they don’t have cash for shouldn’t be using them because the interest rate is 25% per month which is crazy high. And so people who are able to pay their bills on time and get cashback/miles seem to be benefitting at the expense of those people? Cos the banks can’t earn money from giving everyone 5% cashback when their transaction fee is only 2% right o__o Anyway I’ve done the research and DBS multiplier account is the simplest and best for fresh grads so just get that hahaha. And I’m still mostly using my DBS Visa debit card though I have the Live Fresh credit card too.

Umm what else. Work has been good, I don’t know how I was so lucky to get a job that pretty much ticks all of my ‘ideal job’ checklist that I came up with when I was researching jobs to apply for:

Continue reading


Recently realized that after all this time, I still haven’t posted anything about my internship! It doesn’t feel like 2.5 months since I stepped into the office on the first day, but strangely it feels like forever since I last went to school (lol doesn’t make sense, I know).

Anyway, I’m interning at a startup called gametize. Every time I tell someone that, the next question is “oh cool, do you make games?” but no! It’s a tech and gamification consulting(?) company which basically has a mobile+web platform for creating and playing games; each game is made of individual tasks which are called ‘challenges’, like mcq quizzes and fixed-answer questions and upload-a-photo tasks. Most games on the ^ website are free but the company earns money through licensing the platform to other companies and customizing stuff for them.

My main internship project (with Vivek) is developing a web app to replace the current gametize.com website, cos it’s built with Java currently and is very complicated and slower. The new web app is also supposed to be more streamlined with the mobile apps in terms of both UI and how it gets data- through API calls like the mobile apps, instead of accessing the database and processing the data directly (which is why it’s complicated and slow).

We were deciding between react (js library) and angular (js framework) initially, and decided to go with react. Vivek and I used ionic for our sutd app previously, which uses angular, so it was interesting to see the differences between the 2. Angular, being a framework, is much more prescriptive and rigid, but using react means we have to make more decisions on how to do stuff. One article I read summed it up as “angular = putting js into html, while react = putting html into js” which is really apt haha.

When we started on the web app in week 2 we thought we could get it done in like 3 weeks, but we were so wrong LOL. We got most of the main functionality up within the first few weeks but there’s forever still lots of “small stuff” remaining. So we’re still working on it now, and somehow as we code we keep finding even more small stuff so our “to-do” board on trello is never empty D: sigh

Summary of the main things we’ve been doing:

  • (first 2 weeks) familiarize ourselves with the main gametize codebase, research on react, decide on using react
  • decide on file organization and app routing
  • make all the pages
  • styling + making the pages responsive
  • writing tests (mostly done by vivek while I was on holiday heh)
  • implement redux
  • navigation (sidebar + topbar)

We wanted to keep the app components as simple as possible so we wrote our own router instead of using react-router and refused to use bootstrap hahaha. I think it’s good cos we get to learn how things work rather than just plug in unnecessarily big modules!

The best part of internship is that my official working hours is 11am-7pm!! And actually nobody cares so if I wake up late I just go and leave later, or if I’m going out for dinner I start work earlier. This makes a lot of sense cos I don’t think I’ll be productive if I have to start work at like 9am, and the flexibility is v nice! The office is tiny (smaller than my house) and feels kinda cramped sometimes but overall it’s still great cos 1. we take off our shoes outside (also, work attire is tshirt and jeans) 2. there’s a pantry+snacks shelf and we get to go company-sponsored grocery shopping once in a while, and 3. there’s a “play room” with beanbags where we can chill anytime and play mario kart/ limpeh says/ other random games :D

5 more weeks of internship to go!

explore s u t d

(this post was started last wed but never finished until now)

[29 March] I’ve been ridiculously free the past few days, from sunday when I was home alone for most of the day and was so bored I went to try playing piano, to today where I spent the whole day chilling with istd friends: wanted to go out and watch a movie but it was raining so we ended up watching shows in the recre room, then went out for dinner + walked around daiso + sat at starbucks until we were all freezing, then played darts + sherlock holmes game (where we concluded that we’re not cut out to be detectives).

Part of it is because school is somehow very un-challenging and ESC has no more homework, but the main reason why I’m suddenly so free is because the app I’ve been working on is finally done!!! It’s called exploreSUTD and is available on both app store and play store now :D Vivek and I have been working on it since Sept last year so to finally set the version number to 1.0.0 for first release feels good. This is my first major project and I’ve definitely learnt a lot, so just wanted to record some thoughts about it!

Continue reading