Tuesday, February 25, 2025

The Book Series - Management 3.0



* Management 1.0 is traditional top-down decision-making.
* Management 2.0 improves upon traditional management with agile principles adoption and continuous improvement.

That, ladies and gentlemen, is the summary I never remember when I think of this book. 

I love this book. Jurgen Appelo is a great speaker and a greater writer. He is characteristically blunt. One of the chapters goes along the lines of: a manager delegates to his team members is not an art of altruism, he does it so that he has the time to do things he wants to - and proceed to retreat to his ivory tower. , Though he probably would prefer "Dutch frankness" instead. He tells jokes with an emotionless straight face. My kind of joke.

Management 3.0 laid out a complete framework to revamp leadership. There were 5-6 principles built around some other theories, like complexity, game, and network. There is more to that half-ass summary, the details are just a Google away if you are interested. What makes this book unique to me is actually the discussion of management theories before diving into good/bad practices. Each principle is split into two chapters, one on the theory and the other on the execution. Other works in this genre tend to be more dogmatic if I could say so.
 
I am no expert in complexity science. There is a non-zero chance all this theory inclusion is pseudo-science. But I like the attempt and pseudo or not, there is a framework to cling to when in doubt. And there will be a lot of doubts. Management-books-praise-human-ability-to-self-organize-but-that-doesn't-seem-to-cover-my-staff-inertia-to-stay-put kind of doubt. To be frank, the stark contrast between fiction and non-fiction typically comes with management literature exists here as well. There is no unicorn.

Management 3.0 since its debut a decade ago has exploded in popularity though. There are training courses, consultant programs, and god damned certifications. It is going down the dark commercial beaten path all so well-known Agile has trodden before. And that dented my heart a bit. But hey one can only retreat to his ivory tower with a fat bank account.

I still think you should give it a try though.

Sunday, February 23, 2025

The sun has set on MultiUni

Facebook will shut down the MultiUni page in a few days due to inactivity. That is generous because I don't think anything of value was posted to the page in the last decade. MultiUni ceased to exist long before this day, like my social life.

MultiUni was founded in 2009 by Huy Zing. Huy was my lecturer at RMIT. He understood the hurdles one had to jump through to open a course in an institute like a university because he had never succeeded in doing so. And he understood that formal education was not suitable for everyone because he was more of a software engineer than a lecturer. I assisted in a couple of courses. Though I have never seen a mission statement of MultiUni but if there was, it probably read like this: to bring the latest and most important technology courses to as many people in the local community as possible. We did exclusively in-person classes. We also did it for free. Pretty sure that was why I ended up writing this sunset post.

Free in-person tech courses. That might sound like a strange idea today but the world was also stranger back then. Open courses from the likes of MIT, Stanford, or Harvard were still in the infant stage. Coursera was not founded until 3 years later in 2012. English was a bigger barrier than it is today. Not everyone was social media native, I remember we had to discuss whether MultiUni on Facebook, yeah the one being shut down, should be a page or a group.

The first course was #iphonedev. The app store debuted the year before and mobile app development was all the rage. There was no iOS, only iPhone. There was no Swift, only ObjectiveC. There were few Macs, but plenty of hackintosh wannabes. Huy taught this class himself. Phu and I were his assistants. We would read the material the week before, do the exercise, internalize it, and bring it to the class the week after. Well, at least ideally. There were times we started reading the material in the morning of the evening class. I met Kien in that class who eventually ended up becoming a mobile developer for no less than Google Singapore.

The second course was probably an Android one. It felt like a compulsory follow-up to the iPhone course. The Yin and the Yang. Probably, because I didn't stand that class. Huy met Binh online, whom I was told was among the first self-taught Android developers in Saigon those days, and convinced Binh a community course was the next best thing he could do. Binh went on and hit many high notes in his career, Huy was probably right.

Then my memory got blurry. School got crazier. I ran my own club. Huy returned to the US at some point. Between here and there there might be a couple more courses but I couldn't really tell. In 2012, Phu and I (and many others) graduated and both worked at Cogini Inc. We thought it would be cool to bring the course back, so we made Web Tech 141. It was a 5-week course where each week we went through one web framework in a different programming language. PHP. Java. Roby. Python. I couldn't recall the last one for the sake of my life. Must be something not great. Erlang perhaps? I met An in that class, he is in the US now. And that was the last of it. 2012 was the year of Coursera, Khan Academy, and many more. Virtually every university worth its salt published its courses' recordings and material online. MultiUni sits in a corner of my profile to this day though I don't know how many still remember it.

The timing of this sunset is uncanny. Mobile development took the world by storm. It indeed changed the world in many ways better than Blockchain would ever do. Today GenAI is making a storm 10x the size. Vietnam in the late 2000s had a shortage of training materials and exposure. People shared what they knew more... primitively, for lack of a better word. What I meant was the organization was stretchy, and the presentation was dull even by the standard back then. Yet there was no hidden agenda, there were definitely personal interests but rarely a monetary one, and attempts to spread knowledge seemed genuine. Today, if someone puts a tutorial or a course online for free, you better check if it is to hype up a particular technology, an attempt to demonstrate the influence of a person in his/her little bubble of the Internet, or a demo version of consultancy or paid courses. Speaking of paid courses, MOOCs enable training on virtually any topic one can think of, good or bad. In fact, because it is easier to make bad content rather than good one, MOOCs are diamonds mixed in land mines. There are more hidden agendas. Or it could be that the world has always been like that, the people have always been like that, I was just naive. I wouldn't disagree, I was technically a teenager in the first MultiUni class, what did I know. And I would never know. No one baths in the same river twice. MultiUni is an obsolete invention, a stepping stone no longer needed by its environment, and a cache of fond memories in my coming-of-age journey.

I dug this logo up from a slide. That is everything I have left. 

P/S introducing Huy as one of my lecturers doesn't do him justice. Huy taught me a mere course out of 24 or so courses at RMIT. But he gave me my first job, exposed me and a bunch of others in my generation to the infectious Silicon Valley startup mindset, and started MultiUni and Barcamp Saigon both of which I ran for a while. Who I am today is the realization of the vision given by Huy in those early days. For this, I am forever grateful.

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 bad 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.