Back in high school and undergrad, I was an excellent student: high marks, attended every class, and generally did what a model student ought to do.1 I was also pretty cocky — at least in the narrow domain of academic related things. Although I didn’t think myself as being smarter than others (just having a better system for school), I was pretty confident in my abilities to do well and wasn’t afraid to let others know about it.2

When others were complaining about the workload, I assiduously did all the required work. Other times they would complain about the poor teaching skills of the professors (especially in math-heavy courses), where I usually didn’t have too much trouble following along (and where I did have trouble, I wrote everything down, went home to review the notes as required, which usually resolved things). I once scored a perfect grade on a mid-term where the average was close to failing (and also had a perfect grade for a calculus course due to a 100% weighting of the final exam as an option). It’s not too difficult to see a young man who otherwise isn’t very exemplary in other respects, cling onto the one thing that he excels at: academic excellence. Cockiness aside, I’m pretty sure I wasn’t a jerk about it (I hope), I just didn’t hide the fact that I didn’t find things difficult as others, and in many cases thought it was easy. If I had stayed along this path, I’m pretty sure things would have not turned out as well as they did for me. School is an incredibly artificial construct that rarely resembles the real world. And if I kept up with that attitude, I was probably in for a rude awakening, or worse yet, be in denial about it. Luckily some smart people (literally) helped me along the way.

Graduate school was a formative time in this respect. I was simultaneously studying for my Master’s (and PhD later on) while working at a startup my advisor founded trying to commercialize his research. The lucky break I had with this opportunity is that I met a couple of folks, one of my advisor’s students and one at the startup, who set me straight. But they didn’t do it directly, in fact, I’m pretty sure they didn’t even know or mean to do it. All they really did was be great colleagues and give me the opportunity to work alongside them, except for one very important detail: they were obviously smarter than me.

Now smart can be defined in many ways, but however you define it, occasionally you meet someone who is just on a different level than you. It’s not that they just have more experience or work harder (sometimes it’s both or neither), their brains just work faster than yours. They’re quicker, get to the conclusion faster, frame the problem in ways that you hadn’t imagined, and all around are just clearly better than you at solving precisely the types of problems you think you’re good at. And for me, meeting not one but two of these fellows, gave me the great privilege of being greatly humbled.

Here I was this hotshot who did so well in school, but felt completely dwarfed by these two folks. I soon realized that I wasn’t the smartest in the room, and I had to adjust accordingly. And it was probably done in the best way possible where these two folks would actually mentor me and help me learn. What better environment can there be than to have super smart nice people help you learn and grow? This is one of the reasons why I look back so fondly on my graduate school days even though it was (at times) tortuous work being on the paper publishing treadmill while simultaneously working for a struggling startup.

Since then I’ve had the opportunity to work with a few others who were on another level and it’s been one of the great joys of my career. And it’s not only been on an intellectual level. I met others who were just on some higher plane of thinking in other areas such as emotional intelligence, leadership or salesmanship. It’s been so rewarding learning from them, often times just by working alongside them. Growing alongside smart folks who are nice enough to have me along for the ride has been one of the great privileges I’ve had in my career.

Nowadays, I’m a lot less cocky about most things (but I think others would agree that I’m still not quite modest). If I were to guess, some of it ironically stems from the confidence I’ve gained in my abilities that has allowed me to eschew that unnecessary crutch. However, I know at least a big part of it is due to all the amazingly smart folks that I’ve met and worked with along the way. Without the opportunity to work alongside them, learn from them, and grow with them, I would be in a very different place in my career. If you haven’t had a similar experience yet, I highly recommend it, because it’s probably one of the most impactful things that can happen in your career.

  1. This is kind of an ironic statement in a post about humility but I quantitatively was a very good student. I had the highest graduating grade point average in my high school and second in my region. In my undergrad, I actually had the highest average in my graduating class and got an award to that effect. Although for my undergrad it’s a bit misleading because I believe someone in my program-year had a higher average than me but that year they had two computer engineering classes so technically I was first in my class but second in my year. []
  2. In other matters though, I was a complete novice, dating being a good example, but that’s a story for another post. []

2020 Year-In-Review

Phew, what a crazy year! So many things have happened this year, and I’m not talking just about the global pandemic. It hasn’t been easy but with some luck, lots of support from my loved ones, and a new shining star in my life, 2020 has been a surprisingly good year for me!

If I had to put a theme to 2020, it would’ve been change. So many aspects of my life have changed that I’m squarely in a “new chapter” of my life. I’ll get into the details below but definitely lots of new priorities for me, new challenges, and making more time for what’s important. I think you’ll be able to see the shift looking back at my previous reviews (2019, 2018, 2017).

I’m really looking forward to 2021, mostly for the same reasons everyone else — a return to pre-pandemic normalcy. Thus far, I haven’t been able to really share my good fortune with my friends and family (at least in person), which I’m just itching to do. 2021, you can’t come fast enough! Alright, let’s get to it.


Family: The biggest event to happen to me has been on the personal front: my daughter was born this past summer! She’s been the center of my life since she was born, and has now become my primary motivation for practically everything. More money, more time, more knowledge? It’s all so I can give and teach her the best that I can provide.

This is obviously a big shift in mentality from before. I was discussing this with a friend and he remarked: “Isn’t it a bit depressing that your life now just revolves around your baby?” In my pre-baby mindset, I probably would’ve agreed. Post-baby though, it’s different. It’s almost feels like any motivations I had earlier were either selfish or hollow. Not to be too dramatic about it, but my daughter has given me a new sense of meaning in my life. It’s a weird feeling but from what I gather, many other parents have had similar experiences.

I’ll spare everyone the details about sleep deprivation, overwhelming joys of being a father, and usual struggles of first time parents. Instead, I’ll just list a few tips that I’ve found really useful so far (all of them advice I’ve received from friends and family):

  • Whenever someone offers you help, accept it! It’s no time for modesty or being polite. Newborns are a tremendous amount of work, you need all the help you can get! (Fortunately, I’ve been so blessed to have a lot of support from my family, even with the pandemic looming over our heads.)
  • Keep a written journal of your babies development (I just use the notes program on my phone to keep track of notable things every week). My friend gave me this advice lamenting that he has terabytes of photos and video of his kids but couldn’t remember when certain things happened (like their first words). I’ve documented the day when we were at the hospital (because I was worried I would forget), and began documenting important developments starting at around 4 weeks of age when I got this advice. It’s useful for posterity but even more useful to really cherish the moments. When you’re in a sleep deprived state, you usually aren’t in the mindset to try to remember all the notable details — writing it down really helps.
  • Use some system to automatically tag your photos. It helps when you want to find something later on, and it allows you to put together “albums” from that time period. It also allows you to put together those “cheesy” automatically generated slide show videos (something I’ve discovered: it’s only cheesy when it’s not your kid). Luckily, the iPhone system does most of this automatically. It recognizes people, places, and time and will add the appropriate tag. The only caveat is that my daughter’s face is changing so fast that the iPhone can’t recognize it after a few weeks so I have to just tag one of the newer photos periodically. It’s a small amount of manual effort for a reasonably indexed system of photos. (Bonus: make sure to back it up too)

There are a bunch of other baby related tips that I’ve picked up too but I’m not too confident that they are universally applicable, so I’ll leave those to the experts. I’m sure I’ll have much more to add to this next year, and I’m really looking forward to every moment!

Property Ownership: This year also marks the first time I actually own property! Last year with the baby on the way, we were casually browsing what is on the market but didn’t find anything in our price range that met our aesthetic. Luckily in the middle of the pandemic we were able to swoop up a great place that had just come on the market with no competition in sight! It is (and was) a pretty rare thing in Toronto except for a few month stretch in the middle of the pandemic, so we’re counting our blessings. Of course with property ownership comes huge debt in the form of a mortgage. We got a great rate, again due to record low interest rates, so I’m not complaining but it does feel like a heavier burden with a big mortgage looming over your head versus our carefree renter attitude of yesteryear.

In any case, we’re super thrilled with the house, especially with the baby and the need for more space. Lots of small little projects and some big ticket items we need to spend on to get the house in good shape, but we’re still very happy with the purchase and look forward to building many special memories here.


Acquisition: Speaking of big changes, the past six years of my life at Rubikloud have culminated in an acquisition by Kinaxis. I posted a retrospective on the whole experience. There was obviously a lot that I didn’t write about and a whole wealth of learnings that I will get to some day when it’s not so raw.

The one thing that I will mention is that it was a pretty stressful time! The COVID lockdown had just started and I was involved in all the usual due diligence activities in addition to my regular duties, which probably amounted to roughly a 60 hour workweek plus it consuming my thoughts for the rest of my waking hours.

There was a lot of preparation, I probably ended up writing more than 50 pages of technical documents over a month or so (including the retrospective). And after that, there were numerous presentations to explain the documents and walk them through all of the various activities. I will say that it wasn’t an unpleasant experience (and pretty good as far as DDs go as I hear, pandemic notwithstanding), just stressful because of the usual high stakes uncertainty of it all. Luckily, things worked out pretty well and, as usual, my wife was incredibly supportive of me during this time of stress.

As for life at Kinaxis, I’m starting to settle in. It’s a slightly different industry (supply chain in general vs. retail/CPG), but I’m glad that our team is still working on the same types of problems but at a bigger scale. It’s also nice to have the resources of a bigger company behind you to really tackle some of the ambitious things that we were never able to do as a smaller company. I’m sure I’ll have a lot more to write about next year when I’ve had more time to work with the team and integrate with the company.

Rotman: Not much has changed at Rotman for me. I’m still teaching, and helping out with various functions at the Management and Data Analytics lab. This year I was teaching a full half-year course on deep learning (with applications to marketing). I really like my offering of the course, which is a departure from the typical CS treatment. It’s much more focused on the intuition rather than the theory (at least that’s my approach). Luckily due to scheduling, we jam packed the teaching within 5 weeks in January and February, right before the pandemic hit hard so I wasn’t forced to move to online teaching. I will be teaching online in 2021 though, which is going to be an interesting experience that I’m sure I’ll write more about next year.


Books: Pre-pandemic, I was reading a few books but with the confluence of the pandemic and the acquisition (and the associated stress), I wasn’t able to read much. The main “trick” that I find with reading is that you have to find a consistent, ideally daily, time for it. In other words, make it a habit. I had a decent routine pre-pandemic of reading before bed. I continued this for a bit during the beginning but eventually reverted to watching TV instead, which felt a bit more relaxing. After the baby came along, my schedule got turned upside down and I’m just beginning to find some time again to read.

The key to finding time to read is making it a daily habit. And to start a habit, you want to have an easy “one foot hurdle” to jump over until it becomes a habit. In the case of reading (which I got the idea from this video about how to read more), you want to set some super low bar such as reading one page per day. That’s it, just one. Of course, it’ll rarely be one, maybe three, maybe 10, but as long as you can keep it up every day, it’ll start to stick.

With that goal in mind, the next thing to do is to find a time during the day. For me, it’s usually during my morning routine (embarrassingly often on the toilet) that I make sure I get my “one page” in. Previously, this time was filled with news and social media, which I’m happy to spend less time on. The other place I’ve found that works is when I’m holding the baby for a nap. It’s almost the ideal situation, I’m usually in a quiet room with only myself (and a sleeping baby) for almost an hour. The only problem is that it’s usually dark and my arms are mostly occupied. The solution has been the Kindle app on my phone. I’m not a huge fan of e-books but I’ve got to make compromises somewhere.

The last thing to keep me on track are daily reminders. I’ll probably write a post on it later, but the Due App is amazing! You can set reminder like you usually wont to, but the great thing about it is that it keeps bugging you with notifications until you either snooze or mark as done. For example, I set a reminder daily at 8 am in the morning to read one page. If I don’t end up reading one page by 8:30am, I’ll get a reminder. If I didn’t snooze it, come 9:30am, I’ll have another few reminders. Seeing that you have dozens of notifications (when I’ve turned off most other notifications) really gets my attention. It’s really great at making sure I don’t just ignore it and carry on with my day. I used it for a couple of other things mentioned below as well to form habits (in addition to the usual purposes for one-off reminders).

Blog: As you can see from my blogs, I didn’t do much this year. On the personal blog front, I only had a couple of posts on the pandemic and acquisition. On the technical front, I also only had two posts on SHAP and ANS. The last two I’m most surprised with because technical posts are way more involved. I’m still trying to figure out how I can get time to do more writing. Writing is a bit harder than reading in that I can’t just write one sentence at a time (or at least I think I can’t), and I can’t do it in a dark room while I’m holding the baby. The only time I seem to get to write now is when I have a vacation or break (like this post over the Christmas break). I’m hoping that as the baby gets older with a regular sleep pattern, I can go back to a routine I had before of waking up early and doing 30-60 mins of writing. Right now, it’s not quite feasible because I’m struggling to get enough sleep as it is with the baby. I guess you’ll see how I do next year!

Chinese: 2020 hasn’t been a great year for learning Chinese either (with one exception). After lockdown, I stopped going to in-person Chinese lessons and had almost no time (or mind space) to learn Chinese. The one exception was that I had been spending more time with my wife’s family who are native speakers, so I did improve a bit on that front. After the baby came, I tried to do virtual Chinese lessons in the evenings but that was unmanageable with the baby whose bed time was around the same time.

My new strategy is two fold: the first strategy is that I bought some Chinese books on my Kindle app that I also throw into the reading mix, and in conjunction I’m also using the Pleco flashcard app to help remember new words. The other strategy that I’m planning is to start virtual Chinese classes (or tutoring) on the weekends where it’s easier to schedule an hour. Let’s see how it goes.

Music: The theme continues where I haven’t really done much music wise. I haven’t taken in-person lessons since the beginning of the year, and I’m not too fond of doing them virtually because I’m really annoyed by video lag. One bright spot is that I’m singing and playing guitar for my daughter. That’s a lot of fun (even though she pretty much likes all music, no matter how poorly played), and it really makes me a bit proud of the work I’ve put in over the years to improve. Hopefully I can go back to in-person lessons when this is all over.

Fitness: With all the stress above, fitness has been tough. Luckily, post-pandemic my wife convinced me to do virtual training with my personal trainer. That’s worked out well because I almost never feel like exercising but having a scheduled time really gives me the “kick in the butt” I need to do some good for myself. After the fact, I’m almost always happy that I had worked out.

The other thing that I’ve been doing recently in the last month is walking. The previous owner of my house had a treadmill that I bought, and I’ve been aiming to do exactly 21 minutes of walking everyday on it while slowly ratcheting up the distance every time. Let’s me explain it a bit.

Why 21 minutes? Because that’s pretty much exactly the time a regular sitcom episode takes (I have a TV setup in front of my treadmill). The everyday part (or more realistically 4 out of 7 days a week) is about trying to keep a habit going. The ideal time I found to do it is right after the baby goes to sleep where I have roughly an hour of personal time (30 mins walking, 30 min getting ready for bed) when my wife is watching the baby (my wife and I swap after my hour is done, and I reserve the baby watching time for additional TV).

My real goal is not actually walking but running, and this is a “trick” to get me into the habit. Initially, I just walked at a slow pace for an episode of a sitcom (started re-watching Parks and Recreation), and the next day I just tried to beat my distance by 0.01 miles (treadmill uses the imperial system). So far so good, I’ve increased my distance in 21 minutes by roughly 0.15 miles. At this point, I’m starting to have to run near the end of the 21 minutes in order to beat the time, which is exactly what I want. The best part is that it’s not too much of a burden: I get to watch TV and each day is basically just as easy as the day before. So far so good, let’s see how it goes.

Looking to 2021

Others have put it more eloquently but I can’t wait until 2021 gets here. 2020 has been a crazy year (in almost all respects), and I’m glad if 2021 is a bit more boring. I could use a boring year to settle into things and adjust to my new life as a father and at a new company. Most of all, I’m looking forward to being able to meet with my friends and family, especially introducing them to my daughter in-person. We’re almost there so make sure you and your loved ones are staying happy and healthy, and have a happy new year!

Rubikloud Retrospective

Note to Reader: Rubikloud Technologies Inc. was acquired by Kinaxis Inc. in July 2020 for $60M USD. I was part of the founding team being there (almost) from the beginning where I led all our AI efforts as the Chief Data Scientist. This post is an adaption of a retrospective memo I sent out before the acquisition closed.

Six years ago I decided to take a leap of faith and join a diverse group of intellectually curious individuals on their journey to building the future of enterprise AI.  Of course none of us knew that at the time, we were just a bunch of wide eyed dreamers hoping for the best, desperately trying to find a product-market fit.  It seems like a lifetime ago when I was sitting in that cold, poorly lit room surrounded by cheap Ikea desks, stained carpets, and a large refrigerator box-turned-cubicle at 95 King Street.  The contrast to where we ended up could not be more stark: being acquired by one of the fastest growing supply chain management companies in the world for our technology, people and products.  The combination of these three reasons is a testament to everything that we built here.

While Rubikloud’s success might look modest, underneath it hides a mountain of mistakes, miscalculations, and misfortune.  Those who have not been through the entire lifecycle of a venture backed startup may not understand the seemingly insurmountable odds that a young company faces.  The stars really aligned for us to get to this point.  I can probably name at least a dozen things that, if it didn’t go just right, we would have easily failed.  If that one key hire didn’t join, if that one key customer didn’t take a leap of faith, or if that one key technology wasn’t available, then we would have been dead in the water.  There’s a reason why most startups fail.

And that’s why it’s so interesting to look back and see what made us successful.  There will always be a component of luck in any venture but luck isn’t just a (fair) coin flip.  There are some key things that tilted the balance in our favor and gave us the best chance of “taking off”.  In this retrospective, I want to reflect upon the most important things that made us successful.


It’s probably the biggest cliche but people are really what made Rubikloud special.  Coming to work and getting to work alongside bright, hard working and dedicated folks who are all working towards an audacious goal — against all odds — has been one of the highlights of my career.  Regardless of anything else, one thing I can guarantee is that current and former Rubikrew will all agree that the people are what made Rubikloud special.

The interesting thing about working so closely on these, sometimes insurmountable, challenges is that you build a special kind of shared experience with your colleagues.  This experience is more than just “that’s some person I work with” and extends to a “brother/sister in arms”-like relationship.  These experiences and connections that I’ve built with so many of the Rubikrew I will treasure forever, many of which have already translated into lifelong friendships filled with admiration and respect.

Learning (and Failing)

The other cliche about startups, if there ever was one, is the amount of learning that you can do.  There were so many things from product market fit to technology to leadership that we were learning how to do on the fly (and regrettably, sometimes to the detriment of our people and customers).  This is part and parcel of the startup game.  The one constant that accompanies learning is failing.  Failing to predict where the market is going, failing to predict what architecture would suit us in the future, and failing to anticipate all of the thousands of other bumps along the way.  The interesting part about failing though is that it leads to learning.

I’ve made an order of magnitude more mistakes at Rubikloud than at any other job in my career, and by the same token, I’ve grown many orders of magnitude more than anywhere else I could have gone.  Startups are not for the faint of heart.  But somehow at Rubikloud, we’ve accumulated the right people, culture and ethos to keep persisting, surviving and enduring through the constant onslaught of unknowns while climbing towards that audacious goal.  This is not normal.  Most people don’t react well to failure, most people don’t have that drive to learn, and most people don’t push themselves to become more than they were yesterday.  Somehow at Rubikloud we’ve managed to do that.  And I know, at least for me and I hope for everyone else, that it has shaped you in some significant way that will pay dividends in whatever future jobs you have in your career.

Timing and Compressed Timelines

As you might already expect, the last point I want to discuss is another cliche: timing.  Timing is everything in a startup.  Too early, and no customers are there; too late, and other players have already saturated the market.  By some stroke of luck, we were at the right place at the right time with the convergence of cloud and ML technologies, retailers transitioning to those technologies, and a generous funding environment for startups.  Of course, this just sets the stage for success but the above two points (people and learning) are equally important to run a successful show.  

Although timing is key, there is another strange phenomenon that happens in startups: time dilation.  It’s almost as if a lifetime’s worth of experiences gets compressed into a tiny slice of time.  In this tiny slice of time, you get to experience so many things that would take years to achieve: accelerated professional growth, meaningful lifelong friendships, and an emotional roller coaster of ups and downs.  We’re fortunate to have gone through this experience for this long along with a positive outcome; most startups fail and most outcomes are poor.  To have gotten all the benefits of this startup time dilation phenomenon, and to continue to be able to build out the amazing technology that we have, I’m counting my blessings that I got to participate in this awesome journey.

Looking To The Future

The acquisition by Kinaxis brings a new chapter for all of us at Rubikloud.  We’ll still be focusing on the same goal of “Intelligent Decision Automation” but with a new company, new context, and new customers.  I’m truly excited about fulfilling our mission of bringing AI to the enterprise and fulfilling the promise of AI.  It’s not every job where you can work on leading-edge tech that has a meaningful impact on a critical component of the global economy.  The industry we’re in may not be saving lives but it is definitely saving waste (a less often considered virtue but an important one nonetheless).

What made Rubikloud special is going to be different than what is going to make Kinaxis so special.  The people will still be here, just with more of them (i.e. 800 vs. 80).  The learning will be there, just with different problems (i.e. scaling up instead of product market fit).  The timing is one thing that will feel very different though.  Things might start to feel slower compared to Rubikloud (no startup time dilation effect) with more communication overhead and more processes, but that comes with some benefits too.  There will be significantly fewer “heroic overtime” hours needed, more space to build out thoughtfully designed systems, and more time to focus on our respective areas instead of just trying to plug the latest hole in our leaky boat.  Most importantly, it will allow us to have more time outside of work instead of being all-consumed by it.

I truly believe that there is a bright future for all the Rubikrew at Kinaxis.  While I’m under no impression that everyone is going to stay here forever (just like no one expected to retire at Rubikloud), I do hope that everyone will find a place at Kinaxis where they feel they can grow their career alongside amazing people with work that they find meaningful.  And while things may seem a bit uncertain now with many questions still to be answered, I would suggest slowing down and taking stock of the massive achievement we’ve made as a startup.  Only a small fraction of startups get to where we did, and even fewer get acquired to continue on their original mission.  Pause and enjoy this moment because moments like this are few and far between.  As a wise turtle once said: Yesterday is history, tomorrow is a mystery, but today is a gift. That is why it is called a present.

Lessons From A Pandemic

At this point in 2020, there’s a global pandemic. It’s a surreal experience because everyone is going through the same restrictions but all in such a personal way. It’s only been around a couple of months under lock down but for me it’s already been quite a journey. I wanted to write down my thoughts and experiences so I wouldn’t forget some of the lessons that I’ve been learning along the way (that’s what most of this site is about after all). It’s not really anything novel, it’s probably the most standard advice you could get but there is something to be said about mastering the fundamentals. At the same time, things seem to be moving so quickly that I wanted a record of what I was thinking and experiencing. I hope it helps you in some way.


It took a bit of time for me to adjust. In fact, it actually took a bit of time for me to figure out that I had to adjust! In the first 3-4 weeks of the pandemic, I felt a bit lost. My motivation at work was low, I wandered from Zoom meeting to Zoom meeting, and I was struggling to figure out how to be productive while cooped up in my home. Energy was at a low point, physically my body felt weak, and I had some anxiety, not about the pandemic, but about how I was feeling. If you’re reading this at another period in time it might sound a bit dire, but in retrospect I think it was perfectly normal.

What I’ve observed is that whenever I enter a vastly different situation or setting, whether on vacation, moving, or some other significant change in my life, it takes time to adjust. Seems obvious but only when you can remove yourself from the situation. When you’re in the situation, it’s so hard to see it because it’s clouded by your mental state at that point in time. Now that I’m pass the hump, it’s obvious to me that I was in a rut.

I actually think 3-4 weeks is a pretty good recovery period given that this is a once in a lifetime situation. I’ll chalk it up to the amazing people I have around me, especially my wife, who have supported me during this time. If you’re taking longer to adapt — it’s okay! Try to find what works for you to get back to a new normal and hopefully we’ll all be out of this soon.


One of the key things that seem to correlate with my rut is losing my routine. For the first month or so, I would literally roll out of bed in my PJs and start jumping on Zoom for my first meeting. I’m a bit ashamed to admit, I even forgot to brush my teeth on a few occasions. That’s just an example of my lack of routine. Others include: not showering every day, not shaving regularly, inconsistent sleep/wake times, poor diet, not cutting my hair, inconsistent work times, and the list goes on. It takes time to establish a productive routine, and if there’s one thing to throw it off, it’s a global pandemic!

It’s a bit obvious but get a routine going! Wake up every morning around the same time, go through your morning routine (showering, brushing teeth, grooming, changing into work clothes etc.), have lunch around the same time, start and end work around the same time. These are all very basic recommendations, which I’m sure everyone has heard but probably didn’t follow when this whole thing started! These hidden things shape our mental state more than we think, and we tend to underestimate their effect. So get a productive routine going!


Sleep is important, I think almost everyone can agree with that. Getting good sleep is another story though. When stress is high, anxiety is high, physical activity is low, and inconsistent bed times are abound, getting good sleep is hard. Truthfully, I haven’t fully figured this out yet. There are times when I have trouble sleeping due to stress from work, which often correlates with me working through the evening. However, other things like consistent bed times, physical activity and low caffeine have helped. After some reflection, stress at work is probably the main cause of my intermittent poor night’s sleep. If you’re having issues with getting good sleep, I would suggest you to experiment with a few different things. Not all of them will work but I’m sure some combination of them will.

Limiting News

As with many others, I was constantly checking the news for new information about this novel coronovirus: watching hours of news clips, browsing every article on Apple News, and checking the growth in numbers several times a day. This is not a healthy way to go about things. The best analogy I can come up with is the stock market. It’s a terrible idea to look at stock prices daily. It’ll just give you anxiety, and the truth is that there is very little that you absolutely need to know on a minute by minute basis (or hour to hour for that matter).

So the caveat was that at the beginning of the pandemic, there were a lot of policy changes that were coming our rapidly, so you could argue frequent checking was justified. But as the days went on, the incremental information that was derived from news dropped dramatically. At this point in time, reading the news once or twice a week is probably sufficient.

I haven’t fully got myself off of the news cycle. I check the numbers once daily after work, and I still browse my regular news feeds when on a break, which are dominated by COVID-19 news. However, I’m much more selective on which articles I select since most headlines are sensationalized, politicized or have no consequential information for me. My recommendation is to consciously cut back on news. It’s one of those things that give you a short burst of dopamine akin to social media, but in the long term has a negative effect for your psyche.

Work Setup

One of the obvious things (but took me a while) was getting my work setup productive. I have an office at home where I usually do my work. It’s a nice setup with a 27″ monitor, and an ergonomic keyboard, mouse and chair. It was working well at first but my wife also started working from home and kicked me out (she has more calls than me usually). At that point I was relegated to the kitchen table where I had none of those things.

It took me a week or two of working there with an uncomfortable setup to realize that I should convert it into something more manageable. I pulled out an extra monitor (with a stack of books to raise the height), brought over my ergonomic mouse, keyboard and chair, and also got a box as a foot rest because the height of the table was much higher than my desk. The setup works pretty well but one of the biggest realizations was that I shouldn’t be in the same position all the time (even with an ergonomic chair). This means taking breaks, switching to a bench seat (for variety) or standing up (with wireless headphones). It’s working well enough that I don’t have any obvious pain from the setup.


A few weeks after the start of the pandemic, I started getting incredibly tight muscles (to the point that they would randomly ache). It was obvious that it was due to the work from home situation but I couldn’t quite isolate why. I fixed my work setup, which helped a bit. I also started doing some yoga a few times a week, that also helped a bit. But the big factor I think was the sudden drop in physical activity.

Before the pandemic, I was working out at least once a week with my personal trainer and had some light physical activity commuting to and from work. After the pandemic, all of this basically stopped with almost no physical activity. It turns out no physical activity combined with the majority of your time in a single position is bad for your body, who knew? My wife finally convinced me that we should do Zoom training and it’s been great! I’ve upped the sessions to roughly twice a week with a more HIT-style workout (since we don’t have many weights). Most of the pain is gone (so long as I keep moving). I think one of the key factors for me was the increase in heart rate (and the associated muscle activation I guess). That’s one of the reasons why I think Yoga alone wasn’t working (admittedly it was only beginner Yoga).

The moral of the story is exercise! It also has other added benefits like increased energy for a couple of days after and better sleep. Sometimes just getting the basics right is all you need.


Besides the physical issues with being sedentary, it also has a mental component. Being in the same physical space 24/7 for weeks on end is not healthy. We can’t congregate in close physical spaces but we can very easily physical distance when outside. Something that I would highly recommend is more walking (or running if you can). Being able to physically change locations is healthy. It’s definitely had a calming effect on me, especially in the beginning days when anxiety was high.

Human Contact

We may take it for granted but having contact with other humans is important! Again part of this mental health that we often take for granted when things are going smoothly. I live with my wife so the stress on me is less but I still find it very helpful to chat with my family, play games with my friends, and even spend a bit of time doing “water cooler” talk with co-workers. I wouldn’t discount the value in adding back some of the human contact where you can (virtually). If you can do a physically-distanced in-person meetings that also works well. I’ve visited my family with masks and a good few metres of distance several times and it feels really good.

Find Time to Unwind

Again, maybe an obvious thing but find some time to relax! Whatever that means to you, whether that’s binging TV or playing some online games with friends. Of course, you can’t go to the movie theater or out for dinner but that doesn’t mean there aren’t other things you can do to relax. I’ve mostly used TV and computer games, although I do very much miss going to a nice restaurant to eat. If those aren’t satisfying enough, keep searching! It’s important to find an activity where you can unplug from work and the whole situation.

Work Productivity: Write it Down!

One of the obvious downsides when working from home is that communication is much harder. Where we could easily turn our chair to the next seat to ask a question, we now have to Slack them, wait for a response, and be blocked more often than before. However, the bigger issue that I’m finding is that it’s so much harder to make sure I’m on the same page with others. I think there are two main issues. The first is that we no longer have a high-bandwidth communication method (in-person meeting with a white board). This is definitely a big drawback. The latency over video chat slows the conversation and inhibits real-time feedback, and the lack of a whiteboard really hurts our ability to express ourselves in an easy way. I’ve found alternate ways to do this like a shared doc with annotations but it’s no panacea.

The other big issue (related to the first one) is that it’s much harder to be aligned with others. Whereas we had multiple ways to be in sync with others before (in-person, whiteboard, shared doc, etc.). Now we’re limited to virtual tools only. I find the natural inclination is to be much more reliant on verbal communication in roughly the same proportion as in-person. However as mentioned above, it’s much lower bandwidth. That means, it takes much longer to get to the same point of alignment compared to in-person.

My big realization (again pretty obvious for those who have done this for a while) is to use more efficient methods of synchronization and rely less on verbal communication. That is, do more asynchronous writing! One of the great things about writing is that is focuses your thinking. Whereas it’s easy to have verbal diarrhea when speaking in real-time, it’s much harder to do that in writing because you get to look back at what you wrote. It’s also much easier to be precise when writing, where precision is not easy, nor natural with verbal communication.

I’ve been doing much more writing since working from home and I’ve been encouraging others to do more of it. In fact, it probably would’ve been a good thing if we were doing more of it before the pandemic as well. Anecdotally, it’s having a good response in that more people are disagreeing with me right away. Before, we could discuss a topic for 30 minutes and everyone would feel like they were aligned (when in fact they were not). We would go off and do work only to find out much later that there was a misunderstanding. Contrast that with having written down the details before the 30 minute sync where others can see precisely where they disagree with you. It’s much more productive to catch these things earlier in the process.

Writing may not come natural to many people though. My best advice: practice, practice, practice! You’ll get better at it, it’ll come more naturally, and it’s a key skill for your career, so why wouldn’t you do more of it? If you have a similar experience to me, then you might even start to like it as well. So start writing!


There’s no universal solution to what’s happening right now. We’re all experiencing it in our own way and we have to find out what will work for each us in our own situation. I’m writing this down in hopes of sharing some of the things that worked for me but also for posterity to record what I was thinking and experience during this truly unprecedented event. Stay healthy and safe!

2019 Year-In-Review

Another year, another review! This is the third year (past reviews: 2018, 2017) that I’ve done this review and I think it’s an extremely useful exercise. The past year has gone by in a flash (although at times, it didn’t seem that way) and it’s always a good idea to take stock of things and reflect on the year.

If I had to give a theme for the year it would be perspective. While there have been many ups and downs this year, I’m starting to be able to “see the forest for the trees”. This is particularly true for my work at Rubikloud. Things that I would’ve in the past seen as “crises” are just another one of the regular challenges of a fast growing startup. Perhaps it’s because I’m clearly in my mid-30s or the fact that I’ve seen my fair share of “crises” at this point, but most problems aren’t as big as they initially seem in the moment. This is perhaps one of the most important realizations I’ve had this year that has been extremely beneficial to my sanity and lower stress levels.

With this new found perspective, I’m really optimistic about next year. There are so many great opportunities on the horizon, and I’m so grateful for all the amazing people — across all the areas of my life — that I get to work with. Here’s to 2020 with hopes of becoming a little bit wiser and a little less ignorant!


Instead of doing an “Accomplishments” section, I decided to just reflect on my major areas of focus for 2019 — good and bad. I’ll still include the “Failures” section below to call out specific issues that deserve special attention or that don’t quite fit here.


Colleagues: As with most years at a fast growing startup, Rubikloud has been quite the rollercoaster ride in 2019. It’s been one of our best years to date but it’s also been a bit of an emotional one too. Several long-time team members with whom I was very close with have left the business. It was definitely the right decision given their circumstances and career trajectory but it’s always hard to see close friends or colleagues leave. This is probably one of the most important lessons: business’ needs change, people’s needs change, and people enter and exit a business — I shouldn’t take it personally, this is the normal course of things. Obviously, just because someone isn’t working with you anymore doesn’t mean they are gone forever (you can and should keep in touch) but practically, it means you will see less of them.

The obvious flip side to this is that new people enter the business too! And I’m actually quite excited to work with many of the new team members who have joined recently. They bring fresh new perspectives and ideas which I’m excited to learn about. And, of course, it also brings a chance to deepen my working relationships with many of the existing team members who are also given new opportunities to shine.

Building Data Science Teams: On a separate organizational note, I think we’re really starting to hit our groove in building a good cross-functional data science practice. In last year’s review, I mentioned that I had some ideas about how to improve the data science work with cross-functional teams. It turns out most of these ideas didn’t quite work out exactly as planned. I think I correctly identified many of the challenges (such as cross-functional teams require a lot of work and specifying requirements for data science projects) but found out several other ones that I didn’t expect. Two big ideas that we’ve implemented:

  • Data science lead role: This is essential especially for cross functional projects. The lead’s main purpose is to align the project goals with the data science work. A larger portion of their time is spent doing non-technical work such as meeting with other stakeholders and translating that into work that individual contributors can do. I don’t think this is specifically a data science problem, but a problem with any function that is deeply technical. Others who are not specialists in the field will not be able to understand the technical subject matter and, more importantly, translate the overall project requirements into technical work. The opposite problem also happens too: a technical specialist builds something that doesn’t solve the underlying problem because they don’t get the right feedback. Sometimes you may get a “unicorn” data scientist who can do all of this but it’s more rare than you would think.
  • Data science research meetings: This second idea that is extremely important is to make sure your data scientists have an avenue to discuss and review their technical work. This is harder than it sounds. Code reviews that are common in software don’t accomplish the same thing. It requires deep discussion, often including white boarding to clarify the often abstract ideas of the solution. My best attempt at this is to mimic the research meetings that you find in graduate school: a senior researcher holds the meeting where team members are given time to present their results to date. The senior researcher’s job is not to tell the other members what to do but to facilitate the meeting by asking probing questions, clarifying the explanation of other team members, and occasionally suggesting new ideas. The big benefit besides helping the particular project along is that it also serves as a place for other team members to learn. Finding ways to grow the research ability of our team has also been something on my mind lately, and this is definitely a good passive way to do it.

Work-life Balance: And on a final note, I want to talk about work-life balance. I was able to maintain some decent balance throughout most of the year except for a period in the fall. During that time I was working evenings and weekends for about a month or so in order to try to get a project delivered. This was a pretty stressful time for me causing me to approach burning out. There were also a few knock-on effects on other parts of the company that I won’t get into. Luckily, I had pretty good support from my manager, the people team and my wife. We also have an unlimited vacation policy at Rubikloud, which has helped me decompress after the fact.

I will say that burnout is a pretty real phenomenon, and when you’re in a fast growing startup for five years, you’re going to brush up against it at one point or another. Reflecting back on my time at Rubikloud so far, I think many (but not all) of the times where I was pushing myself to meet a deadline were, in fact, necessary (given the situation). That is, I think we would have a dramatically worse outcome if we had not pushed through. Many will say that it if you planned properly then that would not have happened — I whole heartedly agree! But hindsight is 20/20. If I had my current experience, I probably could avoided some (but not all) of these cases. I suspect part of the reason why burnout is so common at startups is because of inexperience planning for the unknown situations that lay ahead (the other big reason is that you have terrible managers who just want to exploit their employees). I’ve made a lot of mistakes in my career but I’m learning from each one of them so I hope that there will be fewer and fewer of these situations.

However, the important point about these types of situations is that they need to be managed carefully. You can’t do it all the time and you need to give the affected team members time to recover. With a bit more experience under my belt, I’m a bit more aware of when I myself am starting to get burnt out. I’m also much more careful with my team to ensure that they don’t get put into that situation. Sometimes it’s easy to forget that we’re all just humans.

Adjunct Professor at Rotman School of Management

This past (calendar) year at Rotman my main accomplishments were around teaching, helping organize a couple small events and providing advice and guidance to a bunch of people. One thing that I’ve forgotten is how much fun teaching can be. The position I have of teaching AI at a business school (but to analytics professionals) is quite unique. Business school is much more focused on practical applications of things and less on theory. I really enjoyed trying to distill some of the fundamental concepts in deep learning down to their most intuitive points and eschewing most of the cruft that is usually taught in those types of courses (similar to my technical blog). Since it was a bit of a greenfield course, I was able to design it how I saw fit. In the coming year, I’ll be teaching a longer AI course with applications in marketing. I very much enjoy putting together the material and teaching but I must say that it’s a lot of work! Distilling complex ideas into its core components and then putting together informative material is hard! I’m enjoying my time at Rotman and a couple of potential opportunities are opening up for me to potentially teach in the other professional programs. It’s definitely an exciting opportunity with the only downside being that it does put a lot of additional strain on my free time. No rest for the wicked I guess.

Hobbies (Reading, Music and Learning Chinese)

Reading: On the reading front, I’ve definitely got into a good habit of reading a few books each quarter and blogging about them (Q1, Q2, Q3, Q4). I’ve finally got over my bad habit of reading everything the same way, and instead just (a) read what interests me at that point in time, and (b) read it in the way that I feel like reading it. When I write it out like that it seems obvious but for me it wasn’t so easy.

The first point is really about putting books down that I’m not in the mood for (a couple of which I mention in the blog posts above). Sometimes I feel “obligated” to read a book because it’s an important subject or because I bought it already. That’s a pretty big fallacy. You won’t get much out of a book that you are “forcing” yourself to read. You should especially follow this rule if you’re part-way through a book. My important takeaway was that I should stop as soon as possible so I don’t “lose momentum” reading, getting to that point where it becomes a chore. Reading is really about getting what you want to get out of the book.

On that note, the second point is really about reading it in a way that allows you to get what you want out of the book. For me that means two things (i) marking up the book with a pencil or pen to highlight and take notes on things that I want to remember and (ii) to skim or skip over parts that I don’t find interesting or necessary. Ever since elementary school, I’ve had an aversion to marking up books because the teacher said not to, but in fact it’s probably one of the most important things you can do to retain knowledge! The other bad idea I had was that all the words in the book are created equal — they’re not! I now freely skim over paragraphs, or even whole chapters which I don’t think are very important. It’s really helped me “keep momentum” and my interest up in the books that I’m reading. It also allows me to focus in and read more carefully the parts that I’m actually interested in. Sounds simple but it took me a while to get here and I’m loving it!

Music: I’ve been doing a pretty good job of having regular lessons with my guitar/vocal teacher (every other week or so) but I haven’t been doing a great job of diligently practicing between lessons. My progress has been slower than ideal but I think that’s okay since there are a bunch of other higher priority things that I’ve been focusing on. The aspect that I am the most proud of now is that, through my music lessons, I’ve really started appreciating music much more (because I understand a lot more of the fundamentals) and it’s become a regular part of my life. I regularly pick up the guitar to sing and play for fun and enjoyment. It really feels like my life is somehow richer because of it and isn’t that the best measure of a good hobby?

Learning Chinese: Learning fluent Chinese has been one of my on-and-off long term goals for a while now. This year (especially in the last quarter), I’ve skipped a lot of Chinese classes. My excuse (as always) is that there were higher priority things going on, which is true to some extent. However, I’ve made some incremental progress. I’m a bit more comfortable speaking now, a combination of being a bit more confident and having a slightly larger vocabulary. One realization that I came to is that I was doing too much indirect practice for my ultimate goal: conversing in Chinese. Examples of indirect practice were primarily around reading and writing. Next year, I’m going to try to get more practice speaking to family members, but also potentially experimenting with native speakers online to get some more convenient directed practice. Hopefully in next year’s update I can tell you all about the success I’ve had using this method.

Health and Fitness

I’ve been keeping up with weekly sessions with my personal trainer. Strength wise, I’m progressing at a slow pace but I’m fine with it. I’m at around 5 pull-ups which is a personal best. However, I’ve really dropped off in the back half of the year for my goal of going to the gym at least twice a week (including my training session). My excuse again here has been how busy I’ve been with my other jobs. However, in this case, it’s a pretty poor excuse because my health is way more important than any job that I have. The other side effect that I’ve been experiencing is dramatic tightness of my muscles. I’ve gathered that this is a combination of (a) working my muscles hard with my trainer, (b) ignoring rolling out or stretching before/after workout sessions and during the week, and (c) little or no dynamic physical activity during the week. This is really new territory for me where in the last five years or so, I’m the least active I’ve ever been. Of course, I’m trying to change that but making new habits takes time.

Recently, I’ve started to try to do at least a bit of stretching, rolling out or yoga every day. This is really to prevent the extremely unpleasant feeling of tight muscles. The other thing that I’m trying to do is engage my core all the time. My realization is that a lot of lower back pain is caused by a weak core. So it’s not so much as having good posture, but rather engaging your core so you don’t hurt your back. The side effect is good posture. At first, your core gets tired easily but the more you do it, the easier it should get. So far so good.


This section is going to be reserved for specific failures that I hope to learn from. It’s a natural tendency to hide your own failures but if you do you’re missing a great opportunity to learn from them. Worse yet, you may keep making the same mistake! Hopefully this section will help me with the ignorance removal process.

Goal Setting: This year I attempted to actually do a bit of goal setting for my personal goals (such as learning, health, and social relationships), using the OKR (objectives and key results) framework. It’s something we’ve been doing at the company since last year and I think it’s a very reasonable goal setting tool. For a couple of quarters, I was actually doing okay with it. However, when things got really busy in the fall, it basically dropped off the map and I stopped using it all together.

My big takeaway from it is that you really need to get into the habit of using it (like most things). It’s a useful tool, as long as you’re using it right. When I was using it, I checked it every week to update it, which was a good frequency. It didn’t magically make me do things that I wouldn’t have done otherwise, but rather reminded me to do things that I often forget about (like hanging out with friends) when things get busy. The other nice thing about it is that the act of creating goals makes you think hard about your priorities, which is always a useful thing. I might experiment with it again in the new year if things don’t get too crazy.

Health, Stress and Sleep: This is one area where I would rate myself poorly this year. Thankfully, I didn’t have any major problems or injuries this year but I definitely did a poor job staying healthy (at least for the back half of the year). As mentioned above, I haven’t been keeping up with my non-trainer workout sessions, and combined with the stress from the busy times at work, it has definitely put my body in worse shape.

The biggest fail in my mind though is really around sleep. At times, I’ve been having trouble sleeping through the entire night. I can usually fall asleep very fast but wake up after 4 or 5 hours in the middle of the night and have trouble going back to sleep. I’ve been experimenting with a lot of hypotheses as to why I’m waking up. They’re the usual things make the list: work, sedentary lifestyle, screens and caffeine. It’s clear that the main cause is work, however, it’s usually not just stress from crises (although at times that happens), it’s more the fact that I’m thinking about issues all the time (as you do when you’re at a startup). This is definitely one of the reasons why I find it hard to go back to sleep at night: my mind is still thinking through and trying to solve problems at 4 am. Part of the problem is that I actually enjoy thinking about these problems! Obviously, I do not enjoy getting very little sleep and feeling tired the next day though.

The thing that I did notice was that this sleep issue was a relatively new phenomenon in the past year or so, and I think it’s directly related to my lower fitness levels (and perhaps my age). So I’ve been telling myself to try to exercise more, which has been pretty unsuccessful. It’s a bit of a negative feedback loop because the most stressed you are, the more you want to relax on the couch, not run 5 km, but counter-intuitively, that’s the opposite of what you should be doing! Additionally, I’ve been cutting back my caffeine intake a bit, which I think is probably a bit of a secondary benefit. The mind and body are very much connected, and I’m pretty convinced that more exercise will really make a big difference to solving this sleep issue (I almost never have trouble sleeping through the night after a session with my trainer). I just have to find ways to make it stick.

Keeping in good health is very much about experimenting with techniques that work for you in the sense that you can get into the habit of doing it (most common techniques work pretty well if you can keep it up). The hard part is that often once you have something that sort of works, life throws a few wrenches your way like a new job, an injury, or just plain getting old. You just got to keep trying to find ways to stay healthy and stick to it.

Blogging: I’ve done a pretty poor job at blogging this year. On the personal side, I’ve been mainly writing about books I’ve read, which keeps this site up to date with at least quarterly posts. I’ve been satisfied with this frequency; I have less to write about nowadays on my personal blog. However, on my technical blog, I only put up 3 posts this past year. This is well below my goal of 2-3 a quarter (quite ambitious actually). I actually really enjoy learning and writing about things on my technical blog but my free time has mainly been filled up with an increased load at Rubikloud combined with preparation for teaching the AI marketing course at Rotman. The latter actually is in a similar vein to my technical blog: learning about AI and putting together material (slides instead of a post). However, the material isn’t state of the art techniques, but more common-place fundamentals. In retrospect, I’m not too disappointed with my lack of work on the technical blog, my prioritization of things this year has been about right. However, I do want to call it out because I sure don’t want to make it a habit of brushing it off.

The Coming Year

Looking forward to 2020, I’m quite optimistic. There are several exciting things going on in my personal life, my professional work at Rubikloud and Rotman look very promising, and my friends, my family and myself are in (relatively) good health. It’s hard to ask for more than this. I hope you have an amazing 2020 filled with laughing, learning, and good fortune!