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!