Friday, January 24, 2025

2024 - Life could be so hard sometimes

Takuji Ichikawa wrote something along the lines that writing a novel is like crying. Putting words down is akin to when tears are visible. By then it is a done deal. The heavy lifting is the process leading to the first drop. Tidal waves of emotion, kicks in the stomach, and even punches in the face, hopefully figuratively, are at work for that moment. It is magical and it is despair. All that time, the manifestation is invisible. I didn't talk much about it, nor write, yet more than half of January has gone through and I am still figuring out what to make of the last year. In the recent couple of years, I have felt attuned to the rhythm of the world, from a faraway war to the rise of temperature to a drop in interest rate. 2024 is so personal.

Photos were taken

In my younger years, I used to be a vivid amateur photographer. I liked it quite a lot. The hobby made me look at life through a different lens ;) Time flew slower. Locations were canvas. The next subject would be just around the next turn. Really, as a bachelor, that was the best reason to drag myself out of the house and to all the weird corners. Yet one thing and another, the lockdown flipped everything off, the joy faded, the places turned dull. Then the camera died 2 years ago. Well not exactly, only LCD died turning the thing into a decade-old Kodak. I would know what photos I took if I could find a computer. I obviously didn't sign up for the film camp.

At some point, Vy had this wild idea: let's take our own pre-wedding photos. It sorta made sense, we travel relatively regularly, and we don't think the wedding is the biggest thing in life, it just has to be fun, as long as the photos are in focus we can make them work. Little did we know, taking any couple photos that were not selfies was such a pain in the ass. We were out of frame, out of focus, and out of place. That lasted for exactly one trip, to Kota Kinabalu.

After the ordeal though, I netted a massive win: a new camera. How I took photos had changed. I was no longer the guy wandering the street, I commuted and I picked up my fiance from... places. I am horrible at taking portraits, which are the majority of my photos now. My everyday life is not scenic, it is mundane. It only takes a spider to make my morning excited these days. That sounds bad, I swear I am not that boring. Anyway, a new toy is never a bad idea amirite?










Trees were murdered in mass

Ok it is not that bad. I absolutely positively killed more trees than I grew though. What started as a way to put a breath of life into the new place eventually grew on me ;) Checking on the green minions is how my day starts and ends. I have growth lights in my place, does that mean I live in a greenhouse? I am impatient by nature, my favorite moment of getting things done is the day before. Naturally, I poked around too much, fertilized too generously, and pruned too often. I am glad I didn't get a dog or a cat. Trees don't scream bwahaha. 

Through a process of forceful natural selection, the ones I have left are quite robust. I can leave a week or two without them missing me much. It took two years to settle in, I am done with modifying the look of the apartment. Technically, the murphy bed doesn't see much use and I can totally easily make it a splendid aquarium... Perhaps another time.

    

GenAI is taking over the world

2024 could have been just another year of the post-COVID world with all of the usual trivialities. We had some good hires, made a bad promotion, and got ghosted by interview candidates quite often. We put Parcel Perform on a multi-cluster architecture, fear of scalability is a thing of the past. That was a big win for us, but all of that was quickly outshined by the presence of GenAI in every corner of the industry. Many have written about the seemingly sudden rise of the AI overlord, I know you know mine is not that kind of blog post.

At the beginning of the year, we made a modest investment by providing each developer with a GitHub Copilot account. However, this initiative didn't truly pick up steam until the latter half of the year. The GenAI wave has two main facets: utilizing it in daily tasks and integrating generative features into our software.

First we got everyone drunk with the AI Kool-Aid. We ditched GitHub Copilot with Cursor and one of those design-to-code tools. I am not trying to be cryptic here, design-to-code is just all over the place at the moment with a good tool turning into garbage after a single version upgrade. Still waiting for a good Figma plugin to stop this madness. Next, we paired everyone with one of the GenAI chatbots of their choice. Everyone then was asked to automate an aspect of their work with the new pet. Heck one tried to get suggestion for k8s deployment's allocated resources. Finally, to put things on hyperdrive, we made concentrated investments that involved the whole team and made a major change: code-to-doc so our doc stops getting out of date the moment it is released, end-to-end automation of partner integration (finger cross the API doc is readable), code review companion built right in Gitlab, and some more. Once the ball rolled, it kept rolling.

Making GenAI features started later, and it was more of a full-body experience. I found making agents a practice of chaos and order. On one hand, there were so many know-how questions at the beginning. Is a knowledge base better than long context? When is a function a tool and what is it a node on a graph? Are real estate agents human or AI? On the other hand, it is still writing code, it is still software engineering. Although the learning curve is steep, it is somewhat defined (and padded with deprecated doc, looking at you LangChain). What can be learned will be learned and when the dust settles, the ones who lose are those with bad ideas. Bad ideas are gimmicks, forcing people into a conversational nondeterministic interface where traditional text and button work just as well if not better. Bad ideas focus on only making the tools but neglect the importance of data quality. Bad ideas fail to tap into the protective moat, the unfair advantages companies accommodated in their lifetime - they got reduced to beginners and beaten by other younger and faster beginners. I found a combination of everything-go hackathons and iterative agile processes worked pretty well. The space needs to be explored (hackathon), and the adventurers need to be questioned if they are heading in a desirable direction (iterations).

The thought of GenAI beyond the work at Parcel Perform though is where I found and still find myself in a predicament. GenAI is pushing an overloaded workforce into yet another fever. You probably have heard AI won't replace humans but humans with AI will replace those without. In Vietnam, for the first time in forever, the salary of junior dipped but that of managers increased. I am not convinced 2025 would be better. People haven't had the time to ask can my biology brain keep up, Big tech CEOs have already voiced about the replacement of human in the workforce with non-real-estate agents. I don't know if the comparison to the industry evolution makes sense. The machines then needed human to operate, the machines now need human to stay out of their way. We as a species have never showed a good track record of massively upskilling all of its members, let alone doing it continuously because do you think AI would stop learning? The US shifted manufacturing work overseas and failed to upskill its people is why we have Donald Trump as the supreme leader. Other than Bhutan, no country is at the luxury of constraining AI growth because countries with AI will replace those without. The UN has miserably failed at the one reason of its existence: uniting countries. If we can't agree on climate change (of which 2024 was extreme), what is the odd we share the same view on AI? Man, it's hard to sleep sometimes.


Then things go south.

A lost cousin

I am not a big fan of the word "cousin". Growing up with other kids of the same generation in the family, I have always seen them as "siblings". When I was in elementary, it took effort to internalize the difference. I was closer to a particular cousin than I could ever be with my brother. He was only a year older than me. He is no more.

Growing up, we were inseparable yet in our teens our paths diverted. I was a timid obedient nerd, he was a charming energetic cool kid. Things outside of school were more appealing to him, things that were more mature than our ages then. He dropped out, then got back in school a couple of times till high school was over. To my knowledge, he didn't have jobs but many temporary gigs. He got full-body tattoos, divorced, and was an alcoholic. To be frank, I don't know in which order, I was busy figuring out my life. We met from time to time and felt an unbridgeable gap between us.

One day, after watching a midnight football match, he went to sleep and had a stroke in the wee hours. The family rushed him to hospital but by then there was blood all over his brain. I flew in a couple of hours later, enough time to witness the doctors giving up on my cousin. We took him home on an ambulance ride. I was in the back squeezing a manual resuscitator. At home, we worked in shifts, trying to keep him comfortable, at least to the best of our knowledge, he was never conscious. It was hard to sleep though, so the 8-hour shifts morphed into an endless streak of time till the sleep took over. It still took 3 more days till his light went out. Then there was a funeral, as usual.

Our lives were different only by a few coin tosses of life that I felt as if I watched my life pass by through a mirror. It was the kind of reflection that rocked my core. He passed away in June and my memory of July was just the color of black. My cousin left Earth a memento, a tween boy who is smart, timid, and might as well be on a spectrum of autism. He is in so many ways different from both his late father and myself yet so full of potential for greatness, the kind of potential that could wither in the wrong environment. I wanted to stop that vicious circle of life. I am trying. At the same time, I am only in my 30s. I am ready for work. I never feel ready for life.


The burnt-out is here

For many years, I was the embodiment of gung ho at work. I was the first man to come in the time of trouble, and the last man out. I was a one-man on-call team for years before I was blessed with a talented team of DevOps. I made it a point that I never asked anyone to do anything I couldn't do myself. I have been like that for the last 10 years.

I tried to build capacity for the team in numerous topics, but in a startup, things you need to do crop up way faster than things you have figured out. Many times it came down to personal effort and self-sacrifice. One of my favorite sayings goes like this, running a business is like being an octopus, you juggle many things in parallel, or else you get crushed by competition. But you can't pay an equal amount of attention to those many things, or else you get crushed by mental pressure. The trick is to pay attention to one thing till it has a clear chance of success, keep a light touch on it, and move on to the next priority. Well I guess even the most mighty octopus only has 8 arms. 

For a while, there seemed to be so many things happening at once for my little trick to work. People come and go, leaving behind gaping holes for the ones behind. There was organizational restructuring done with the best intentions but butchered by unskilled execution or unpredictable future. We were practicing disaster recovery one day and rushed to put together a new product cluster the next. We were fixing carrier integrations for days just to have them broken down in a few hours. It's like being punched in the face, falling down, and before you can properly stand up, get another blow in the liver. I understand nobody wants to sign up for hardship, but at times, it feels incredibly lonely. 

With my stress high and my health in decline, I turned to computer games. I longed for a win to make up for the loss out there. But I always remember my loss more than my win and I keep coming back for more. This is not the way. I understand that much. I need the strength to get myself out of the swamp. The strength that vanishes before the end of a work day. There were meetings I sat through without my brain working.

I burned out before, big time, so bad that there wasn't anything left. I built everything again from scratch. I was out of job for 6 months and didn't regain my confidence for the next 2 years. Those 6 months were the best time of my life. I don't know if I can afford it this time. It is such a crucial moment in the life of Parcel Perform and I don't want to see everyone's effort in a decade turn into smoke. Past a certain point, life doesn't usually get harder, things just happen a lot faster. Like Tetris. This time though, getting myself out of a swamp while keeping on juggling might be the hardest challenge for me yet.


Oh and I am getting married next year. I am so happy that I have Vy in my life, through the high notes and the not-so-great ones. Seems to be a lot of work though. Heck, perhaps life does get harder and faster!




Monday, July 29, 2024

The Book Series - An Elegant Puzzle


Great books are rare in an age where everyone and their dog can publish. An elegant puzzle is such a gem. The book is a collection of blog posts from Will Larson about the career of an engineering manager. The engineering manager position is the first-level manager-of-managers in a tech organization. And from my personal experience, it was also the level where all the skills that got me there became useless. I was left to my own intuition and good old trials and errors in my first few years on the job, with little mentorship because it was a startup. In Vietnamese, there is a saying that "Failure is the mother of Success". And though I have had some limited successes over the years, I didn't, and still don't, want to meet many of their mothers. No joke intended obviously.

The book was out in 2019 and I only learned about its existence this year, 2024. Halfway through the book, it had already won my acclaim. Had I known some of the topics in it back when it was published, I would have avoided mistakes that still haunt me to this day.

Without delving into specific examples, some knowledge I find particularly inspiring in this book includes:

  • The two most important managerial for an engineer are: making technical migrations cheap, and running clean reorganizations.
  • In the event of a reorganization, changing the scope of a team is easier than changing the team members.
  • People easily and understandably mistake growth in size for growth in impact and mastery. Growth in size has more to do with a company's growth than individual level.
  • Drafting policy is important. Once done, it is crucial to avoid undermining your work, and yourself, with exceptions.

That is to name only a few. Some might sound silly to you. And that's good, you are already better than I was when I started my path. I am still pretty at my craft, to be frank. Books like this, they help.

Saturday, May 18, 2024

Just because

It was a fine Friday afternoon. I was one comment on my neat technical design from a getaway weekend. And the comment read "Why Firebase?". My mind answered with questions. What answer is expected from me? Is it about cost because Firebase is a managed service? Is it about the latency between data update and data retrieval? Is it about alternatives such as self-hosted web sockets? I tried to read between the lines so I could be helpful but with 2 words and a question mark, there wasn't a lot of space to work with. I let out a sigh and attempted a carpet-bombing of an answer - a remark for every reason crossing my mind. And from the pit of my stomach, an irritation was growing.

That reminded me of a psychology experiment in the 1970s. Psychologist Ellen Langer walked up to the first in a line at a photocopier and said: "Excuse me. I have five pages. May I use the machine?" Her success rate was 60 percent. When she ran the experiment again, this time providing a reason "Excuse me. I have five pages. May I use the machine because I'm in a rush?" The success rate went to 94 percent. That is understandable, after all the most common reason to cut in is to be in a hurry, or be a jerk. I believed prof Langer asked nicely. She tried yet another approach: "Excuse me. I have five pages. May I go before you, because I have to make some copies?" Even though the reason was... oxymoron because why else standing in front of a photocopier, she was allowed to pass with a similar stellar success rate (93 percent).

My situation with the comment would have improved had it come with a reason. "Why Firebase? Because Google might shut it down tomorrow." Ah, the classic Google move when things don't work out.

The human mind craves causal effects for it wants to make sense of the world. When we justify our behavior (or, in my case, question), we will encounter more tolerance and helpfulness. The level of reason is in direct proportion to the stake of the situation. It seems to matter very little if the excuse is good or not in daily ordinaries. Using a simple validation "because" is sufficient. But if someone's direction is in the blast zone, the reasons provide the course of navigation and they better be sound. Regardless, the knowledge of a justification reassures and calms our minds. After all, nothing is more frustrating than being kept in the dark.

"Because" is an unassuming little word that dutifully greases the wheels of human interaction. Don't be a narcissistic asshole. Use it to your heart's content, because it provides reasons ;)

---

I was introduced to the "because justification" by Rolf Dobelli's The Art of Thinking Clearly. It is a good book. The illustration was from Google Image and I wouldn't recommend saying so.

Tuesday, April 30, 2024

The Book Series - Peopleware


Peopleware is simply an amazing piece of writing that despite its age (published in 1987) still rings true to this date. The message of the book is crystal. When a tech team is put together, it is common to believe they will face and solve primarily technical problems. But before they are developers, architects, or managers, they are people and they will have people problems more often than process or technical ones. The work of a manager is to first and foremost understand these sociological challenges. Agile methodologies, cutting-edge technologies, and whatnot are built on the foundation of people enjoying working with each other. Thinking any differently is akin to building a castle on sand.

Building a team is not a great analogy because building implies a strong level of control over the shape and form of the final delivery. Whereas how a team goes through its formation stages depends much more on its goals, the environment, and the team itself than what any manager gets to say. Creating a team in that sense is much closer to growing a tree. One can be diligent in choosing the right tree for his spot of land, controlling the soil pH, and watering adequately without spoiling the root but much of the actual growing is done by the tree. Similarly, one cannot make a team perform, he can only remove all malicious elements that harm the development of the team, and give the team the time it needs to form its identity and culture. This is essentially the thought model DeMarco and Lister came up with and spent the rest of the book to propagate.

The Mythical Man-Month established that a software project was fundamentally different from a typical manufacturing - "9 women cannot deliver a baby in 1 month". Peopleware laid out the elements that made a team great and a project successful. Management 3.0 explained how these elements work with the modern understanding of complex systems. There are certainly more profound books that I haven't known, but I think these three books make a great example of standing on the shoulders of giants in management methodology. Over 35 years, management has gone from a myth to a well-studied field.

I came across Peopleware when I was an intern. I was too junior to make any immediate use of the book, but it gave me thoughts. The thoughts made me see that every project was more than just an application of technologies and it took more than professionalism to make people work well together. Thoughts and experiences then became opinions. Today I am quite opinionated when it comes to running a tech company. All because of a little book I picked up in the office some 15 years ago.


The Book Series is a collection of books that in one way or another affects the person I am today. The books are not necessarily good or popular, though some of them certainly are, they simply came to my life at the right time and left a dent. The books are listed in the order I skim through my bookshelves, which is completely and utterly whimsical.

Tuesday, April 16, 2024

The Book Series - Ý tưởng này là của chúng mình

 


"Ý Tưởng Này Là Của Chúng Mình" is a Vietnamese book. As far as I can tell, there is no English translation. It's a collection of blog posts from a renowned copywriter about his career. It conveys stories of one who is dedicated to his career. It could have been a heavy topic but in contrast, the book is devoid of all formal language and academic knowledge. It's funny, casual, and vulgar, like listening to a close friend ranting over weekend coffee. That makes it very entertaining and a great testimonial to the author and his craft - you wouldn't want to see a moody ad, would you.

But dude, you are a software engineer, the worst kind of engineer, why do you have anything to do with stories from ad agencies, you ask. Firstly, it is just a really good piece of writing and thoroughly enjoyable. Turn out, there is nothing special about software engineering. Copywriters and the rest of the ad industry seem to have the exact same concerns: you are in because you love what you do, or because it is a trendy career choice; you need both dedication and passion if you want to go far; you have to be conscious of keeping your job from eroding your personal life; etc.

However, those alone would not cut it for this series, because you likely find those empty sayings in just about every self-help book available. But the author makes a good case of show-don't-tell. Paired with his humor, the book, to me, is a giant reminder of the joy of doing the thing you love. Yes, the work you do every day is supposed to be fun. In return, you are supposed to invest in knowledge, health, and time so you can continue doing what you love in the long run. Work can be fun if it is what you love, and you do it right.

P/S I re-read this book from time to time for the sheer entertainment element. I wasn't good enough to write this vividly about the tech scene. I tried. I hope someone better than me will do some day. You should give "Ý Tưởng Này Là Của Chúng Mình" a try. Provided that you know Vietnamese, I don't think you will regret it.


The Book Series is a collection of books that in one way or another affects the person I am today. The books are not necessarily good or popular, though some of them certainly are, they simply came to my life at the right time and left a dent. The books are listed in the order I skim through my bookshelves, which is completely and utterly whimsical.

Monday, April 1, 2024

The Book Series - The Unwritten Laws Of Business



The book is small, tiny even. You can call it a booklet and still be technically correct. I mean, it is the size of my hand and composed of less than a hundred pages. The title is oxymoron. Now that the book has been published, the laws are no longer unwritten, aren't they? The title should have been just The Laws Of Business. Yet that wouldn't be very faithful to its content.

See, the book is not about doing business. I don't mean it in a rhetorical sense like "Animal Farm is not about either animal or husbandry". No, the book literally didn't bother to state which field of business law it was. For a law book, it is pretty shitty if I am being honest.

Alright alright, I am not fooling around anymore. These unwritten laws are actually a code of workplace conduct that remains as concise, timeless, and practical today as it was 80 years ago. In a calm and refreshingly free of modern business jargon and abbreviations manner, the author described how one should carry himself at work, the importance of a can-do attitude and the ability to get things done, what a professional working relationship with his boss looks like, and in the occasion he becomes a manager, what his duty is.

To the well-adjusted among us, the book could have been just a collection of reasonable common sense rules. But I wasn't one of those. I came across the book when I was finding my way back on track after a total meltdown and being a professional couch potato for 6 months. Something about the book, its language from another age, its no-bullshit precision, its uncanny ability to shed light on my unknown unknown, or perhaps all of them, gave me the mentorship I didn't know I needed in a trying time.

The book's original title back in 1944 was actually The Unwritten Laws Of Engineering. Despite being yet another shitty title - again, not about engineering at all - it is a strong reminder that regardless of our job, the business we're in is more sociological than technological, more dependent on workers' abilities to communicate with each other than their abilities to communicate with machines. That, probably, is the unwritten part.


The Book Series is a collection of books that in one way or another affects the person I am today. The books are not necessarily good or popular, though some of them certainly are, they simply came to my life at the right time and left a dent. The books are listed in the order I skim through my bookshelves, which is completely and utterly whimsical.

Sunday, December 31, 2023

2023 - A lemonade stand

Achoo!!!

I had been under the weather the last couple of days as a sneeze echoed across the apartment the moment my nose met the smell of fresh ink of crispy paper. I had had this thick notebook for over a year, perhaps two. Skimming through the pages, I found interview notes I had long forgotten, sketches of the apartment that had not been built then, and outlines of essays long and short I might never publish. It was the perfect amount of nostalgia to start a usual year-end retrospective.

What kind of year was 2023, you asked future readers? 2022 was a straight-up dumpster fire. 2023 was harder to describe. It was a mixed bag. The earth had its hottest summer since the Anthropocene - the era of man. The war in Ukraine progressed to a stalemate. And another one started in Jerusalem (or had it ever ended?). In Vietnam, car registration took more than a week, and hospitals ran out of medicines and equipment as a result of attempts to address corruption in these fields, thus proving the corruption in this country was systematic and superficial reactions wouldn't make anything better. The domestic bank interest increased, but housing prices remained high, if not higher, so the real estate market was broken. But it was also the year OpenAI became the world's sweetheart. India landed on the moon while SpaceX made important progress on its prep for Mars. Vietnam FDI continued hanging on to the tailwind of manufacturing moving out of China. 2023 was a year that life kept a steady intake flow of lemons but some had already started adding soda into their lemonade.

An engagement ring

I was down on my knee and proposed to Vy by the bank of Sun Moon Lake, Taiwan. Taiwan has always been a special spot in my heart as my adult life started there. I hope Vy would appreciate that ceremonial meaning. I first planned to propose in a fine morning at Taiwan National University which was my hood the entire time I was living here. That fine morning a system incident broke out and I was stuck in the hotel room till it was time for a train.

The main plan was out of the window, I played by ear. That day we went on for a bicycle tour around the lake, 30-something km. If I proposed at a random spot in the middle of the ride, we wouldn't be able to revisit the exact spot later. I bid my time. Later in the afternoon, toward the end of the ride, we reached a patio area waving around the bank, I thought this must be the place they put a giant pin saying "Sun Moon Lake" on any map. There was no chance in hell I couldn't miss that spot even with my faulty memory.

I think I did well across superficial social criteria for a proposal. Meaningful location. Surprise. Ring. All checked. Vy kept complaining that of all the days we were in Taiwan, I picked the day she dressed worse and was sweaty... Could have been worse, darling. She also said she didn't see this coming. Didn't see it coming? We poured our life savings into an apartment over the last couple of years. What was that woman thinking!?

Still, this was a big move. Conceptually I understood that it would set the course of my life but that didn't necessarily mean I got it intuitively. Like when you are signing up for a 50-year life insurance contract without a single clue where your life is going next year. You know what you are doing, doesn't mean you can fathom the impact it has on your life for better or worse. But I have been compatible with Vy the whole time and more often than not we managed to come up with a solution for what life gave us. Doesn't mean I am looking forward to troubles though, can certainly do better without some of those. Hope this will fare better than life insurance. My office is next to a Manulife building and oh boy there is something like a weekly rally there.

So yeah I think I am getting married at some point.

Health

The last quarter of this year was not a great time for me. I had mild pain where my backbone and my hip meet. It wasn't too bad that it brought agony to my life - my work has already done that - but was enough to let me know its existence. I haven't played badminton for the last 4 months. I missed a mountain marathon to which I made a public commitment to my colleagues. Heavy lifting would intensify my pain 5-10 minutes after the act. My running routine is now down to 5-6 km a week and I usually tip-toe the whole run as I am afraid a bad move is all what it takes to make the matter worse. Oh and everyone is telling me to do more swimming. I do, I try, oh gosh I hate swimming in a (small) pool. Before I can get tired, I will realize I am moving back and forth in a pool of water literally not getting anywhere. Once that feeling kicks in, I get 5min before the exercise becomes terminally boring!

As of this writing, I haven't experienced constant pain in the last 2 weeks. I am exercising more often. I start to play badminton again in January. I hope I will get better and can do serious running again. I am watching my diet. 5 days a week my supposedly healthy food comes in plastic containers. I hope they are biodegradable but knowing Vietnam that is a best-effort commitment only. At a ripe old age of 34, I have had enough signals from the universe that I am far from invincible and if I am not careful, I won't live to see my 100th birthday or I might not like how I get there. 

The apartment, again

Urggg no, I am not moving to a new place. Last month marked the first full year of Vy and I living in that apartment. I absolutely adore the place. It was designed to the tee so naturally it met all our needs and made living there a bliss. It is also visually pleasing, we got compliments from our friends and family. It showed up in a magazine at some point.

There was one problem though. We wanted a polished concrete floor. Our architect suggested a microtopping floor. I looked it up, and it seemed to be a nano layer to protect the floor... so a construction technique I guessed. I was fine with that as I assumed it was just one of the methods a concrete floor could be polished. Opposed to my best intention, the first iteration of the floor seemed soft. Like wax. Dragging a heavy chair on it left a dent. You probably picked up from the previous sentence that there was more than one iteration of it. The second was an absolute disaster, it looked like a painting of a 3-year-old, patches of color didn't blend together and the floor was uneven, worse yet, it peeled. Like my skin after a day of sunburn, except no one expected that from a frigging floor.. The third iteration fixed most of the problem, except that it still peeled in small freckles when in contact with wheels which my coffee table and office chair happen to possess in plenty.

This was the point where I threw in the tower. Redoing the floor was a major operation, we had to leave the apartment empty for at least a week, vacant our belongings, and spend the following couple of weeks dusting the whole place. We are letting go of the hu-tieu cart and getting a carpet for my home office. I had always been fond of the cart and the only time a carpet is clean is when it comes out of the wrapper. But my idea of a house is more of a utility than a work of art. I might like the place a bit less (hardly) but if I can cruise through my day stress-free of wrinkly peeling floor, that seems fair.

Vehicles

In 2023, I seem to have more vehicle-related stories than average.

I was left strangled in the highland of Vietnam when my rental - a docile Honda XR150 - ran out of oil, literally. There was no black smoke from the exhaust nor any leak on the engine case, I must have gotten a unit whose maintenance schedule was neglected. Because we started the trip with 2 bikes, we managed to ship the broken one back and continued the rest of the trip 2-up. Still, this has never happened to me before so it left a distinct mark in my memory. So much so I could cite the precise behavior of the bike and the riding experience up till the point of breakdown, I won't bore you with the details though.

Hero to Zero

I bought a used bicycle from TuanAnh's wife as the maternity left her little time and it was sad to have the thing collecting dust in the basement. I used it for my commute for a while. So far so good, till I realized the security at the office building was prepared to handle motorbikes and cars, anything else threw them off. They couldn't even decide where the bike could be parked so every morning someone would tell me to park it in a different place. Things gradually got worse from there as more ad-hoc rules were introduced. I got a lot of stress in my line of work and the last thing I wanted was to have my workday ruined before it started just because an incompetent guard decided to be creative that day. Now the bike is collecting dust in my basement...

Lastly, after years of procrastination, I finally got my driver's license. I was in no rush, have you visited Saigon? I live here and everyday commute on a car is such a hassle I can't picture myself doing so. But when my father retired a few years ago, I co-financed with him to get a car. It made me feel better that my parents could travel around with comfort and safety. The car was an absolutely positive addition to their lives. I saw that given the right environment, driving could be enjoyable and I thought that Vy would appreciate some road trips where she didn't need to don half a dozen safety gears. That was enough of a nudge.

Work

I am not sure that I have done a good job this year. People tend to overestimate what can be done in an hour, but routinely massively underestimate what can be done in a year. At times, I couldn't help but feel like Parcel Perform was not moving as aggressively as we could. However, in retrospect, there is clear evidence that we have made bold strides in improving our organization and system.

We consistently invested more than 20% of our developer time into various tech investment topics. None of the incidents in 2023 were rooted in performance bottlenecks. We managed to downsize the busiest database and spend less on infrastructure than in 2022. All that while sustaining a 50% YoY increase in traffic.

We gained more and more understanding of DDD and the importance of bounded context to our squads. We have been discussing, communicating, and refactoring to make boundaries clearer and more intuitive to ensure the size and complexity of our projects don't become our weakness. We are gradually getting better at running projects across squads and departments. We learned that there are times for crystal clear interfaces between teams, and there are times when interfaces are just blockers preventing people from making progress together. The little book Team Topologies certainly helps.

We still have a long way to produce a world-class software team. Heck I don't even know what world-class means nor do I care. What I mean is that we can still do better. We need to internalize what we have learned the hard way into muscle memory of the organization - which means not just within our tech hub but across Parcel Perform as a whole. It will be hard to invest developer time at a greater ratio for tech investment, the quantity is there, it is now time for quality. Training is back on the agenda for both leadership and technical content. On average, we have one squad on the verge of collapse a year. A squad can be still recovered from that stage, but it won't be quick. It takes a lot of time and dedication, and nothing guarantees the effort will yield results. We can get better at all of those.

---

I think 2023 was an eventful year, at least for me. It was still bloody hard but the feeling of helplessness had vanished. Gone was the feeling that we were dealing with forces beyond our control, as it felt in 2021 and 2022. The world was an uncertain place, it was also a fertile ground to sow effort. The better of us human have already been back on their feet changing the world. What the hell are we waiting for?