<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Lessons-Learned on Vinh-Phuoc Tran</title>
    <link>https://vinhphuoc.dev/en/tags/lessons-learned/</link>
    <description>Recent content in Lessons-Learned on Vinh-Phuoc Tran</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <lastBuildDate>Fri, 24 Apr 2026 01:34:00 +0700</lastBuildDate><atom:link href="https://vinhphuoc.dev/en/tags/lessons-learned/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>The Problem Problem</title>
      <link>https://vinhphuoc.dev/en/posts/the-problem-problem/</link>
      <pubDate>Fri, 24 Apr 2026 01:34:00 +0700</pubDate>
      
      <guid>https://vinhphuoc.dev/en/posts/the-problem-problem/</guid>
      <description>&lt;p&gt;A while back, I was working on building a tax engine system, one that connects accountants and household businesses to help them declare taxes. Near the end of the development cycle, we received feedback from our own accountants&amp;rsquo; team. We hadn&amp;rsquo;t rolled out to external accountants yet; the project was still in its testing-the-waters phase. The request came from the Business Analyst at the time:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;The users cannot export data from our system, so we will need to build an export feature for them.&amp;rdquo;&lt;/p&gt;</description>
      <content>&lt;p&gt;A while back, I was working on building a tax engine system, one that connects accountants and household businesses to help them declare taxes. Near the end of the development cycle, we received feedback from our own accountants&amp;rsquo; team. We hadn&amp;rsquo;t rolled out to external accountants yet; the project was still in its testing-the-waters phase. The request came from the Business Analyst at the time:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;The users cannot export data from our system, so we will need to build an export feature for them.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Sounds simple? It did, until he requested an export of an entire dataset that had nothing to do with the project domain.&lt;/p&gt;
&lt;p&gt;Picture it like this: Project E-Commerce helps users sell. Those sales generate invoices and receipts, which get synced to our Tax-man project. Tax-man only cares about invoices and warehouse movement records. The rest is optional: products? Just the raw data on the invoice is fine; we don&amp;rsquo;t need attributes or last-7-days sales figures.&lt;/p&gt;
&lt;p&gt;But the accountants wanted exactly the same export feature, with the same sheets and the same columns, as the one in Project E-Commerce, implemented in Tax-man. Things were starting to smell off. In his defense, the business analyst was an intern, so it is understandable that his response whenever I pushed back was: &lt;em&gt;&amp;ldquo;The users want it! It&amp;rsquo;s a real need; I talked to them directly.&amp;rdquo;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I might have let that slide. But just a few years of experience had already taught me one thing: &lt;strong&gt;users know their pain, not the solution.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;After countless back-and-forths: pending tickets, meetings, chats, escalations, near-arguments. The answer came down to one simple question: &lt;em&gt;&amp;ldquo;Why do they need to export?&amp;rdquo;&lt;/em&gt; The wall cracked. Turns out, the users didn&amp;rsquo;t trust the data in Tax-man. They saw a number with no breakdown, no context, no way to verify it was even correct. So they fell back on the thing they trusted: Excel.&lt;/p&gt;
&lt;p&gt;By that point, we had spent months building for&amp;hellip; nothing. We built the system hoping to replace Excel, to push digitalization forward. Instead, it became a glorified data sheet. Users would glance at the calculated numbers, decide they couldn&amp;rsquo;t trust them, and fall back to doing it themselves.&lt;/p&gt;
&lt;p&gt;We had ideas to fix this. But the system was built on the corpse of a previous project, which was itself built on another before it. Each time: temporary, just to save time, we&amp;rsquo;ll build it properly later. Nothing is more permanent than a temporary solution. With a growing user base and mounting expectations, the rotting foundation couldn&amp;rsquo;t hold. Would we ever be given time to rebuild, or would we stay stuck forever; firefighting bugs, never moving forward?&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s a shame I didn&amp;rsquo;t get the chance to finish that project. It was a good idea serving a real need, but the execution was lacking, and not just in the way I described here. I&amp;rsquo;m not here to badmouth a former employer. But one lesson stuck: &lt;em&gt;&amp;ldquo;An idea is just a grain of salt in the sea. Execution is the true whale.&amp;rdquo;&lt;/em&gt; But that&amp;rsquo;s a story for another day.&lt;/p&gt;
</content>
    </item>
    
  </channel>
</rss>
