[Product Story #1] : The Story of A Button
Sometimes, it's not the salary or the promotion, but rather this kind of solution, one that makes you disappear, is what put a smile on your face when doing this job.
Dear my beloved readers everyone,
I am quite flattered that my previous article got huge attention from people, it got the most amount of views despite that i was quite lazy to promote. There are many stories in doing product, and i am glad the grim reality of it was reflected and agreed by many readers looking at the end of the poll.

However, in avoiding to paint a too dark image of this profession, I decided to switch the theme to a more up-lifting one. Before continuing some of our more "half-empty" topics, let's look at this cup in a more "half full" attitude. The following story comes from my product portfolios, and is one that kept a smile on my face.
Background:
In 2023, I joined Esoft Vietnam and then later spent more than a year there. Esoft is a global company based in Vietnam, with a quite interesting need: provide to real estate business around the world the photo quality they need using the local photo editors/artists in Vietnam. The company had clients all over the world (Europe, Australia, USA,.. ), with large order of photo editing 24/7, all done by AI and the photo editors in Vietnam.
Before Esoft, I had no idea this business exists, and even grows so well. One of the perks of my job is to serve such business, because they must grow to a certain size to involve technology, and then, a senior product owner is needed to drive innovations among their business.
What did I do over there?
That's a quite ridiculously serious question i asked myself everywhere i go 😂. The terms Product Management is still loosely defined in Vietnam, and different people had their own understanding of it. I usually were the one who showed up as the first product guy they see, and it was up to me to help them re-define the roles as I work, and adjust it from their imagination.
In terms of compensation, working at Esoft is a step-up for me in salary. They paid me well as they needed a senior in order to understand their unique business and solve the gap. However, in terms of role, the job here required me to be more hands-on in executions and thus smaller in scope. At my previous work (Vuiapp), I have grown to own product metric level, and work on strategy and roadmapping to solve business challenges using products. After a while, I had built a team to take care of the dirty and day-to-day tasks so i can focus more on the thinking, stakeholder management and big picture.
In here, I am all alone. I felt like i am upgraded in salary but down-graded in product role, which is a strange feelings.
I felt like I'm Maximus - fighting off in the Colosseum as gladiator instead of being a general in the battlefields.
My role is to serve as a single point of contacts for all Departments (there are 10 of them, for a company of >1500 people) to present their challenges in daily Operations, and deliver solutions with a tech team of my own.
I listened to user's stories, decided which ones to prioritize, then aligned them with important stakeholders. I'll skip you the part of the various feature prioritization conversations and frameworks, to save time for an interesting case i met during my work here.
The situation
What's the most important thing to do when you first join the company? Building trust.
And how you do that? To prove yourself in one of the quick-wins.
This is one of such stories.
So I was dragging in a room with my tester acting as trainer for a new release feature, and various complaints from our colleagues.
I am in charge of Lychee - a job-distribution system developed by Esoft, which controls 24/7 of all the photo orders from clients and distributes to workers. After a worker is done, the system will transfer the photo to the next worker in the process, before submitting final photos back to clients.
That's the general introduction i got told. And each day since the launch of the new features, more than 40 workers could not get their job assigned as normal. They each had to get their job offline - meaning not able to receive it on the system, and had to rely on manual assignments from their team leads. This brought delay in production speed, added overload to the work of Team Lead, and also caused more administrative work for finance as the system calculates all work hours to in each worker's monthly payments.
The team leaders and quality inspectors (around 15 people) gather up to propose new change in design to fix the issue soon. They even draw up a design with pop-up screens to allow their workers to bypass the current system with some new features to be done quickly.
Our tester seems to be onboard with the new changes, it is up to me how to implement it. Looking at the pressure and the seriousness in their faces, i felt the pain adding up daily, and understand I need to do it quick.
The problem space
It's always easier said than done when you say focus on the problem space rather than the solution. There are couple reasons:
- Everyone thinks the problem is easily understood. They felt it.
- Someone gotta do something fast, otherwise costs were adding up
- People want to hear quick answers, not questions.
And it's a rookie mistake if you go for the easy answer someone gave to you.
Most people all are very passionate about their answer, and think they understand the problem better than you - a newbie staff. And to make it worse, they can judge you for not listening to them (a lot people put their effort and ago into those answers).
If you don't listen to them, you better get a much better answer than them. Or you'll be judged.
To survive these pressure, there were 2 skills that help me: product thinking and communication.
The right thinking we give you the right questions, and communications help you ask them right.
The right thinking
Honestly, i love cases like this: it's basically classic problem solving.
I looked at people solutions, and i was very confused. Removing out the unorganized design, the solution failed to explain to me what exact problems they were trying to fix.
They were trying to revise the on hold features where their team leaders can have a maximum of 03 jobs being on-hold, to be used in product emergencies. It seems like they want to add new threshold to the 3 jobs on-hold maximum. Number of people who cannot proceed by the system have surpassed the limit of job on holds for each team.
The on-hold feature allow a team leader to re-assign the case to another available editor on the team manually.
Without too much details on their design, it wasn't clear at all what they want to achieve. Increasing the limits is a short-term fix, the system will break down again if there are more people did not get the job than the number of on-hold jobs. And no one wants team leader to do this manually
I will start by writing the problem statement for what i want to solve, and try to find the root cause.
In here, i wrote: production people need a way to receive their jobs on the system.
And it sounds strange, why didn't they receive the job like they suppose to? What changes?
So i asked them: What is the new release? And why it stops production?
And our conversation brought many interesting insights.
It turned out that the Head of Production, who is also the proxy-PO of the platform, created a new quiz making system. This feature allows team lead to give out new quizzes for each worker every time there's an update from client about a new photo design instruction. Given over 4000 types of photo (they call it product id and have code name for each), and each product_id might have 10 updates/week, the new worker must answer the quiz and pass it in order to receive the order to work on it.
Those who failed the quiz will be stripped away from their right to receive work orders, have to re-educate, or might lose their chance to get that product. The intention is to prevent worker to work without understanding the updates, which causes clients to have bad remarks and affect brand images.
But why do they do that?
Esoft has over 1500 employees, involving both part-timers and full-timers. It's an impossible challenge to update everyone minor job details every week.
So by stopping the workers and giving quizzes to them during their work, the system limited the risks of the worker's ignorance of the new updates, but caused delays in the worker's ability to get jobs done in time.
Basically, Esoft design its own feature to stop the system from moving, to protect their product quality.
It's like a snake biting its own tail, but expecting itself not to get hurt.
The right communication
To tell you the truth, there are so many wrong things in design from the start. If it were up to me, I would have been aware of these delays in production. They were absolute trade-offs, and the UX of it is quite annoying to the workers.
There were 03 major design issues that i mapped out here:
- Timing: The worker should have learnt of the new product updates when there's new updates, not when he's assigned the job with deadlines. The time he spent on quizzes is counted in his billable time as well to the clients.
- There weren't any errors showing that the worker lost the right to get job because of not passing the quiz. He just logged in and received no new jobs.
- The quizzes can be tricky for users to test them. They were under pressure to complete them quick so they can get the jobs done in time. This not only defeated the education purposes, but also triggered more reckless attempts to pass it. And since they did not warn users that there were only 03 attempts, most users abuse the submit attempts and then got locked out.
So with these problems, there were lots of work to change in the UX side, and perhaps a total overhaul of current UX are needed. The design of this system was the Head of Production, whom are one of the key stakeholders who hired me here and could decide if i can do this job.
If i presented the flaws in design to him, would he be so receptive to listen to its problem? It's a big IF.
I heard this feature is done in a year to accomplish, and he was very proud of it. From his view, it has helped reduced many workload and headaches for mistakes made by workers for not being able to follow the constant updates.
And also, many people in the firm considered him a great leader, whom could do everything from coding to production to specialized photo editing. He was in charge of over 1000 workers.
How do I communicate these things safely without being fired?
The solution space
Before submitting myself to the difficult conversation, I asked:
Is there a better way to solve this? Why did he design it this way?
And then I realize that for internal product tool, it is NOT a MUST to keep user delight like consumer products. People are paid to work here, and use the tool being provided. There are no competitors, so almost no way to switch.
Therefore, the cost of making a user-friendlier product is measured against the cost of delay in production.
Anything simpler is more appreciated.
So i drew the map of the entire flow and stared at it. This process helps me learn any missing part, just like how detectives often map their suspects on the wall in movies.
And in that i realize one key finding:
It's not the 03 attempts on-hold, but the problems come from the 03 attempts to try the quiz.
So if instead of having team leader to manually re-assign job on-hold, what if we only allow them to manually reset the ability to take the quiz.
And from this finding, our path to the final answer appear: we display a delete button in the answer submission, so team leaders can delete it and bring the attempt down as they want.
The final result
We made the button in a day, and production went smoothly.
To ensure its effectiveness, I later place a log on the button, to display how many clicks from it per day to make sure they're useful.
There was no difficult conversation, everything went smooth sailing like nothing ever happened.
All the team leads went quick from pushing me daily to never bothering me anymore.
I was quite happy and proud, and that quick-win also earned my trust there among my new colleagues. They later came find me for advice and solutions to all other productions problem among the year.
However, if you think this button impressed everybody, you must be new to the profession.
Once you solved too many things like this, the solution became part of your jobs, and within the expectations.
Some might even think it's too simple, all i do is to place a button to make it work. How can it make a case to impress people?
But it's not about a fancy solution of the button or a workflow, but rather the journey of why use the button and where to place it.
These kind of things bring you the joy for the job, regardless whether or not people will forget who brought that button there and why.
After leaving Esoft, I encountered this quote while visiting another client, and it said
Sometimes, it's not the salary or the promotion, but rather this kind of solution that makes you disappear, is what put a smile on your face when doing this job.
And a battle you won it best is the one you don't have to fight.
The end.
Did you understand the story? Let me know in the survey and the comment section.
Bài viết mở mang quá ạ, deal với stakeholder và con người cũng là một nghệ thuật cần chú trọng. Hi vọng anh có thể viết nhiều bài có chủ đề này ạ
Hóng bài tiếp theo 😆