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?

Sunday, November 19, 2023

Taipei - 13 years later

The HSR train is cruising through the south of Taiwan at 200km an hour. I have been on the island this last week and now heading to Kaohsiung for the way back. Inside the car, the stability is excellent, there is nothing but an eerie sound reminding me of the neck-breaking speed a few cm outside. Through the window, a constant flow of paddy fields scrolls by. Unlike in the US where machine power beats nature into submission, the horizon is perfectly flat, and all the fields are endless rectangular shapes. In this part of the world, agriculture forms around the ancient landscape. The rice fields are small and entangled in a net of canals even smaller. Embracing the late summer sun, the fields are green and the stems are round, juicy, and straight as there are no grains to bear yet. It is like looking at the skin of a cantaloupe. My mind though has stayed in Taipei for the last few days, where autumn was hard at work, putting her gentle touch on everything. The sun painted everything with the color of honey, the air was clear, and the breeze was crispy. In that crystal clarity, my younger years came back to life.

The metropolis of Taipei is a conglomerate combination of three cities - it is usual for an Asia country to have one big city overshadowing everything else in the land. In that concrete jungle, I lived abroad for the first time, got my first full-time job - an internship, and learned to juggle between that and a Chinese language degree. Because of course, Taiwan was strict on immigrant workers and they had better things to do than issuing visas for low-level interns. The only way I could stay on the island for more than a month in that situation was to become a uni student. Or married to a Taiwanese sugar mommy. It was tough, exciting, and mesmerizing in the following years, the internship, not the marriage.

Taipei is 2229km away from Saigon. It is not far from the length of Vietnam, 1650km from the tip of the north to the southernmost peninsula. The distance seems much further than that though. There have always been other places to be, work to do, and COVID put everything on ice for a while. This is my first time coming back to Taiwan after 13 years.

I made exactly 15000NT a month back then. I never for once asked if it was a fair income. For what it's worth, I also didn't stop to think if I had the right clothes for Taipei weather or if people there spoke English till I was on the airplane. The 20-year-old me ran on adrenaline rush much more than rationality if it hasn't been clear to you yet. By the way, no, I didn't have the right clothes, it got to -2 Celsius during Winter, and yes you could survive with only English if you only stayed near the city center. I made my financial plan (or rather the lack of it) around this precious number. The office was a converted studio and after dark it actually became my studio. I had a pull-out mattress. There was a cracked XBox in the office and a 7-11 on the ground floor. The boss, Jake, lent me his daughter's old bicycle. I never owned a game console and 7-11 didn't come to Vietnam some 6-7 years later. For what I cared, I was the richest kid in the world. Life was bliss.

A few days ago, I had a reality check. A Uniqlo storefront entry-level staff makes around 36000-42000NT. I was not rich. Actually, if poverty was a horizontal bar, I was killing it in a limbo dance. That explains why I had a vague memory of the MRT system, I was on the bicycle most of the time. I went to many museums and historical sites because the student discount was high. I rarely made it out of the city and the fine dining scene of Taipei was as foreign to me as I was to this country. Yeah I was pretty broke, wasn't I?

I didn't mind it then, and I still don't mind it now, post-reality check. When I think about the whole deal now, I don't feel like I was given the short end of the stick. I had a reasonably comfortable place to sleep whose rent I didn't have to pay. Besides my compensation and the old bicycle, Jake also paid for my tuition fee and often took me out for lunch. I was just low on disposable income. But to be frank, that was an afterthought. The 20-year-old me was blessed with the exposure I never experienced. Every day was a new situation I hadn't faced before. Every weekend was an adventure away. Every project was a stark contrast to the unrealistic school assignments that by then were all that I knew. Luxury and consumerism were not only out of my reach, they were also out of my mind. Without even being conscious about it, I was able to experience a learner mindset in its purest form. I managed to carry these starry eyes, and a dash of stupidity if I must admit, throughout my 20s. I am glad I got my first step right.

On another note, if Taipei had a face, it would be probably the face of a man in his 50s. A man who still maintains all the best qualities from his younger years, but subtly through the cracked skin around the eyes or the way he stands up, it feels like his best years were slipping away. Singapore would be in his late 30s, a force of nature with so many ideas and the energy to see it through. Saigon a kid in his early 20s, all talks, so few deeds.

The pace in Taipei is slower, and people know how to enjoy themselves. It is quite easy to find a park in a random neighborhood and both banks of the Keelung are reserved for outdoor activities. You don't see the elderly working, you are more likely to find them doing taichi in parks. The nightlife is vibrant with night markets. Alcohol and recreational drugs, for better or worse, are more accessible. And the entertainment industry punches above its weight. But I can't help to think of Taiwan as a country trapped in the past. The country was founded on a false hope that one day the Republic of China would be whole again. And today people long for the Taiwan Miracle that probably wouldn't happen for the second time. East meets West, future hope fuses with nostalgia, the more I learn about Taipei, the more elusive the words I want to find to describe my fondness.

During this trip, the one thing I thought a lot about yet still failed to fulfill was to see Jake for what could have been the last time. Jake was my boss at Cogini. He gave me first an internship and second a chance to run Cogini's office in Saigon. I wouldn't be who I am to be without the opportunities Jake presented and I eagerly grasped. Jake however was also an embodiment of the story a great engineer and a greater friend doesn't always make a great manager. That's the story for another time. I wanted to meet Jake because really how many friends of 13 years one can have. My excitement was met with an unfortunate event, Jake went back to the US last year to look after his mom. It makes sense though, his daughters went there for universities a few years ago and now he can be closer to his family. I would miss him though, now that the harsh reality has set in, I probably wouldn't be able to see him again.

I don't know when would be the next time I will be in Taipei, the world is so big and there are so many things to see. I sure hope it won't take another 13 years in the making. And that next time, I will just stay in Taipei for weeks. To find my younger self. To soak in all that nostalgia that by now has become the city's identity in me. To see that I am one more time its citizen.

The flight back to Vietnam is in a few hours.