AI "gánh build", nhưng "launch" có dễ hơn?
13/08/2026
3,130
views
5
#1 on leaderboard of challenge:
“Cuối cùng tôi đã về nhà. Ithaca.”
Câu đó tôi giữ trong đầu như một lời thề, giống Odysseus trong bản kể của Christopher Nolan. Không phải vì tôi tính trước được từng bước đi. Mà vì khi đã có đủ thông tin, tôi bỏ mặc. Cứ kệ đi. Để chiếc bè trôi theo số phận của nó. Không bàn thêm. Không đợi ai gật đầu. Và sau rất nhiều năm, tôi về đến nhà.
Lần đầu tiên nhìn thấy hồ bơi, tôi đã mang sẵn tinh thần đó, dù lúc ấy chưa biết gọi tên nó là gì. Tôi nhảy xuống ngay. Không hỏi ai. Không đo độ sâu. Máu liều trong tôi luôn vậy, nhưng liều không có nghĩa là không tính toán. Tôi biết mình chưa bơi được. Tôi cũng biết có những người anh đứng gần đó, sẵn sàng nhảy xuống kéo tôi lên nếu tôi đuối. Tôi nhảy vì tin vào phần tính toán đó, không phải vì liều mạng thuần túy.
Lúc lao vào vibe code, tôi mang cái máu đó thêm một lần nữa. Có người bảo tôi không làm được đâu. Có người hỏi thẳng tôi biết gì mà làm. Tôi không đôi co. Tôi chỉ đáp lại bằng một câu hỏi ngược, rồi im lặng làm phần còn lại. Có lẽ chính vì lúc đó tôi không biết đủ để sợ, tôi mới dám nhảy xuống. Về sau, khi sản phẩm ra đời thật, có khách hàng thật, có tiền thật, chính những người từng hoài nghi lại nói với tôi một câu khác: hoá ra làm vậy cũng kiếm được tiền. Tôi vẫn không nói nhiều.
Nhảy xuống một mình thì dễ. Bơi vào bờ mới là chuyện khác. Và cái bờ đó, tôi chưa bao giờ tự bơi vào một mình.
Giờ đây chỉ cần một người là đủ để tạo ra một sản phẩm hoàn chỉnh. Như tôi bây giờ. Nhưng để sản phẩm đó sống được ngoài kia, tôi vẫn phải đứng trên vai người khổng lồ, tức là kinh nghiệm của những người đi trước, những bài học họ đã trả giá bằng dự án thật, không phải bằng lý thuyết. Đó là những người anh từng đứng cạnh hồ bơi năm nào. Chỉ khác, bây giờ họ mang hình hài khác. Một cộng đồng. Một tài liệu kỹ thuật. Một lần trao đổi đúng lúc.
Trước khi lao hẳn vào build sản phẩm bằng AI, tôi từng nhìn sang ngành design, và thấy trước một phần câu chuyện của chính mình. Có một giai đoạn tôi ray rứt khi nhìn hình ảnh do AI tạo ra tràn vào những chỗ trước giờ chỉ có con người làm. Tôi nhận ra đâu là sản phẩm của AI gần như ngay từ cái nhìn đầu tiên. Điều đau hơn cả, khách hàng bắt đầu chủ động đòi dùng AI, thay vì tin vào tay nghề người thật. Ai cũng ra được một bản thiết kế trong vài phút. Nhưng thị trường không vì thế mà dễ thở hơn cho người làm design. Ra nhanh hơn. Nhiều hơn. Cạnh tranh khốc liệt hơn. Còn chuyện có ai dùng, có ai trả tiền, có đứng vững được không, vẫn là bài toán cũ chưa ai giải hộ.
Rồi có một khoảnh khắc loé sáng. Tôi nhận ra chính mình đang sống nhờ những khách hàng không dùng AI, không muốn dùng AI, ngay trong lòng cái hồ bơi AI mà ai cũng đang nhảy vào. Cái họ trả tiền không phải cho tốc độ. Mà cho việc có một con người thật đứng sau, hiểu chuyện, chịu trách nhiệm. Đó là lúc tôi hiểu, máu liều nhảy xuống hồ bơi năm xưa, và cái nghịch lý sống được nhờ từ chối trào lưu bây giờ, là cùng một bản năng. Dám khác đi, miễn là có tính toán phía sau.
Tôi làm trong mảng build sản phẩm bằng AI. Và tôi thấy ngành mình đang đi đúng vòng lặp mà design đã đi qua, chỉ chậm hơn một nhịp. Nhiều người tin AI giúp launch dễ hơn, vì build đã nhanh hơn rồi. Sau hơn một chục dự án thực tế trong gần một năm, tôi nhận ra điều ngược lại. Launch không hề dễ hơn. Nó chỉ đổi loại bài toán liên tục. Và người biết đặt đúng câu hỏi cho AI ở từng giai đoạn mới là người kiểm soát được rủi ro, chứ không phải người gõ prompt nhanh nhất.
Câu đó tôi giữ trong đầu như một lời thề, giống Odysseus trong bản kể của Christopher Nolan. Không phải vì tôi tính trước được từng bước đi. Mà vì khi đã có đủ thông tin, tôi bỏ mặc. Cứ kệ đi. Để chiếc bè trôi theo số phận của nó. Không bàn thêm. Không đợi ai gật đầu. Và sau rất nhiều năm, tôi về đến nhà.
Lần đầu tiên nhìn thấy hồ bơi, tôi đã mang sẵn tinh thần đó, dù lúc ấy chưa biết gọi tên nó là gì. Tôi nhảy xuống ngay. Không hỏi ai. Không đo độ sâu. Máu liều trong tôi luôn vậy, nhưng liều không có nghĩa là không tính toán. Tôi biết mình chưa bơi được. Tôi cũng biết có những người anh đứng gần đó, sẵn sàng nhảy xuống kéo tôi lên nếu tôi đuối. Tôi nhảy vì tin vào phần tính toán đó, không phải vì liều mạng thuần túy.
Lúc lao vào vibe code, tôi mang cái máu đó thêm một lần nữa. Có người bảo tôi không làm được đâu. Có người hỏi thẳng tôi biết gì mà làm. Tôi không đôi co. Tôi chỉ đáp lại bằng một câu hỏi ngược, rồi im lặng làm phần còn lại. Có lẽ chính vì lúc đó tôi không biết đủ để sợ, tôi mới dám nhảy xuống. Về sau, khi sản phẩm ra đời thật, có khách hàng thật, có tiền thật, chính những người từng hoài nghi lại nói với tôi một câu khác: hoá ra làm vậy cũng kiếm được tiền. Tôi vẫn không nói nhiều.
Nhảy xuống một mình thì dễ. Bơi vào bờ mới là chuyện khác. Và cái bờ đó, tôi chưa bao giờ tự bơi vào một mình.
Giờ đây chỉ cần một người là đủ để tạo ra một sản phẩm hoàn chỉnh. Như tôi bây giờ. Nhưng để sản phẩm đó sống được ngoài kia, tôi vẫn phải đứng trên vai người khổng lồ, tức là kinh nghiệm của những người đi trước, những bài học họ đã trả giá bằng dự án thật, không phải bằng lý thuyết. Đó là những người anh từng đứng cạnh hồ bơi năm nào. Chỉ khác, bây giờ họ mang hình hài khác. Một cộng đồng. Một tài liệu kỹ thuật. Một lần trao đổi đúng lúc.
Trước khi lao hẳn vào build sản phẩm bằng AI, tôi từng nhìn sang ngành design, và thấy trước một phần câu chuyện của chính mình. Có một giai đoạn tôi ray rứt khi nhìn hình ảnh do AI tạo ra tràn vào những chỗ trước giờ chỉ có con người làm. Tôi nhận ra đâu là sản phẩm của AI gần như ngay từ cái nhìn đầu tiên. Điều đau hơn cả, khách hàng bắt đầu chủ động đòi dùng AI, thay vì tin vào tay nghề người thật. Ai cũng ra được một bản thiết kế trong vài phút. Nhưng thị trường không vì thế mà dễ thở hơn cho người làm design. Ra nhanh hơn. Nhiều hơn. Cạnh tranh khốc liệt hơn. Còn chuyện có ai dùng, có ai trả tiền, có đứng vững được không, vẫn là bài toán cũ chưa ai giải hộ.
Rồi có một khoảnh khắc loé sáng. Tôi nhận ra chính mình đang sống nhờ những khách hàng không dùng AI, không muốn dùng AI, ngay trong lòng cái hồ bơi AI mà ai cũng đang nhảy vào. Cái họ trả tiền không phải cho tốc độ. Mà cho việc có một con người thật đứng sau, hiểu chuyện, chịu trách nhiệm. Đó là lúc tôi hiểu, máu liều nhảy xuống hồ bơi năm xưa, và cái nghịch lý sống được nhờ từ chối trào lưu bây giờ, là cùng một bản năng. Dám khác đi, miễn là có tính toán phía sau.
Tôi làm trong mảng build sản phẩm bằng AI. Và tôi thấy ngành mình đang đi đúng vòng lặp mà design đã đi qua, chỉ chậm hơn một nhịp. Nhiều người tin AI giúp launch dễ hơn, vì build đã nhanh hơn rồi. Sau hơn một chục dự án thực tế trong gần một năm, tôi nhận ra điều ngược lại. Launch không hề dễ hơn. Nó chỉ đổi loại bài toán liên tục. Và người biết đặt đúng câu hỏi cho AI ở từng giai đoạn mới là người kiểm soát được rủi ro, chứ không phải người gõ prompt nhanh nhất.
Giai đoạn đầu: dựa vào cái có sẵn vì chưa đủ tự tin
Những dự án đầu tiên, tôi không build từ đầu. Có dự án tôi tận dụng nền tảng thương mại điện tử có sẵn, rồi sau đó gỡ ra để tự dựng database riêng khi nhu cầu tùy biến vượt quá giới hạn của nền tảng. Có dự án khác, tôi lấy cấu trúc HTML từ một website WordPress đang chạy, dịch và thích nghi lại, thay vì dựng mới hoàn toàn.
Cả hai cách đều hợp lý ở thời điểm đó, khi tôi chưa đủ tự tin để tự dựng mọi thứ từ số không. Nhưng càng làm nhiều, tôi càng thấy một nghịch lý nhỏ: dựa vào cái có sẵn tưởng là đường tắt, thực ra tốn thời gian hơn về sau. Gỡ một nền tảng đã tích hợp sâu, hay thích nghi lại cấu trúc của người khác, đều là công việc dọn dẹp trước khi làm được điều mình thực sự muốn.
Càng về sau, tôi build từ đầu nhiều hơn. Và nhanh hơn hẳn. Không phải vì AI giỏi hơn theo thời gian. Mà vì khi không bị ràng buộc bởi cấu trúc của người khác, AI mới hỗ trợ hiệu quả nhất. Kiểm soát toàn bộ kiến trúc ngay từ đầu, hoá ra lại là con đường ngắn hơn.
Tự tin, hoá ra, cũng là một dạng hạ tầng.
Ba lần “launch” cho cùng một sản phẩm
Bài học rõ nhất về khoảng cách giữa build và launch, đến từ một dự án cho một đơn vị sân khấu có tên tuổi. Dự án này không launch một lần. Nó launch ba lần, cho ba đợt ra mắt khác nhau. Mỗi lần là một bài toán hoàn toàn khác. Mỗi lần tôi lại phải học lại từ đầu, dù đã đi qua lần trước.
Lần đầu, chưa có database, sản phẩm gần như tĩnh. Nhưng đó lại là lần áp lực nhất về hạ tầng. Có đồng hồ đếm ngược cần chống việc người dùng chỉnh giờ máy để lách. Có nghệ sĩ nổi tiếng liên quan đến dự án được báo chí đưa tin, kéo lượng người truy cập ập vào cùng lúc. Có video trên trang càng làm nặng băng thông. Bài toán ở đây không phải “code có chạy không”. Mà là “hệ thống có sống nổi khi cả nghìn người vào cùng một giây không”.
Có một quyết định trong lần đó tôi nhớ rất rõ. Dữ liệu cho thấy khoảng 0,05% người dùng có thể gặp trải nghiệm không tối ưu ở một luồng phụ nào đó. Tôi có đủ thông tin để biết, cố vá cho bằng hết phần nhỏ đó sẽ ngốn thời gian đáng lẽ nên dồn cho việc quan trọng hơn. Nên tôi kệ đi phần 0,05% ấy. Dồn toàn lực còn lại cho performance. Vì tôi biết chắc, quyết định thắng thua thật sự của ngày ra mắt không nằm ở một trải nghiệm hoàn hảo tuyệt đối. Mà ở việc hệ thống có đứng vững được không, khi cả nghìn người ập vào cùng lúc.
Đủ thông tin rồi thì không cần bàn thêm. Cứ vậy mà đi.
Lần sau, khi thêm database vào hệ thống, trọng tâm chuyển hẳn sang bảo mật. Có dữ liệu thật cần bảo vệ, nghĩa là có thứ đáng để ai đó cố truy cập trái phép. Tôi phải prompt AI kỹ hơn hẳn về cấu hình phân quyền ở tầng database, để đảm bảo mỗi request chỉ lấy đúng dữ liệu được phép lấy, không hơn. Đây là loại rủi ro mà nếu không chủ động hỏi, AI sẽ không bao giờ tự cảnh báo cho bạn.
Ba lần launch, ba loại câu hỏi cần đặt đúng trọng tâm. Nếu tôi mang tư duy của lần đầu áp dụng cho lần cuối, chỉ lo tải và hiệu năng mà quên bảo mật dữ liệu, hệ thống vẫn có thể sập. Chỉ là sập theo một cách khác.
Trước khi tự đi một mình
Có một giai đoạn tôi bị đẩy dần ra khỏi những dự án mình đang làm. Không phải bằng một lời sa thải thẳng thắn. Nó đến từ những phản hồi tiêu cực rải rác. Những lượt thả icon phẫn nộ dưới tin nhắn công việc. Rồi chốt lại bằng một câu, đại loại như ở vai trò đó mà không làm được thì cứ ra khỏi dự án. Có lần khác, câu nhận xét là tôi làm được nhiều thứ, nhưng cái giá trị công ty cần ở tôi thì không có. Có lần HR viết sai tên tôi ngay trong đợt review của chính mình, như thể tôi chưa từng thật sự có mặt ở đó. Và có một giai đoạn, tôi ngồi trong chính bộ phận quản lý dự án, nhận một câu review rằng tôi được đưa vào đó chỉ vì đó là điều họ muốn. Không hơn.
Tôi kể lại không phải để than. Tôi kể vì đó chính là giai đoạn dạy tôi hiểu, năng lực làm được việc và việc được công nhận là hai chuyện khác nhau. Giống hệt cái khoảng cách giữa build và launch. Làm ra sản phẩm tốt không tự động khiến người khác thấy giá trị của mình. Cũng như build nhanh không tự động khiến launch dễ dàng. Có một khoảng cách ở giữa mà không ai nói cho bạn biết trước. Bạn chỉ hiểu được khi đã tự đi qua nó, đôi khi bằng những buổi tối ngồi lại một mình, tự hỏi mình đã sai ở đâu.
Sau giai đoạn đó, tôi chọn một hướng khác. Tự đứng ra làm. Tự chịu trách nhiệm từ đầu đến cuối. Không phải vì tôi giỏi hơn tất cả những người từng ngồi review tôi. Mà vì tôi muốn giá trị của mình được đo bằng sản phẩm tôi thực sự đưa ra thị trường, được khách hàng thật trả tiền cho nó. Không phải bằng một câu nhận xét trong phòng họp.
Vì sao tôi làm được
Có một điều tôi luôn cố tình làm, không phải tình cờ: tôi lôi khách hàng vào ngay giữa quá trình của mình. Tôi chiếm thời gian của họ. Hỏi liên tục. Kéo họ ngồi suy nghĩ cùng, test cùng. Thay vì âm thầm làm rồi đợi đến ngày launch mới cho họ xem lần đầu. Cách này tốn thời gian của cả hai hơn hẳn so với việc làm một mình rồi giao. Nhưng đổi lại, đến lúc launch, không còn bất ngờ nào cả. Vì khách hàng đã đi cùng tôi suốt hành trình. Đã hiểu vì sao một quyết định như bỏ 0,05% trải nghiệm để ưu tiên performance lại hợp lý, thay vì nghe tôi giải thích sau khi mọi chuyện đã rồi.
Cái khác nữa, tôi nghĩ, đến từ việc tôi chưa bao giờ chỉ đứng ở một vị trí. Tôi từng làm end to end trong lập trình. Từng làm BA. Từng đứng ngoài mảng IT ở design và marketing, trực tiếp chạy ads. Tôi đi qua nhiều cấp bậc trong doanh nghiệp, từ thành viên, lên lead, đến quản lý. Tôi cũng từng làm mentor, trainer, đứng ở cương vị diễn giả đại diện cho doanh nghiệp, và trực tiếp đứng lớp chia sẻ dạng workshop.
Khi một người đã đi qua từng ấy vị trí, họ không còn nhìn một dự án chỉ bằng con mắt của người viết code. Họ thấy được cả phần khách hàng đang lo lắng. Phần vận hành sẽ vướng ở đâu. Phần con số mà người quản lý sẽ hỏi đến.
Đó là lý do tôi build nhanh mà vẫn launch được. Không phải vì tôi build giỏi hơn người khác. Mà vì tôi biết đứng ở những vị trí sẽ dùng, sẽ vận hành, sẽ chịu trách nhiệm cho sản phẩm đó, sau khi nó ra mắt.
Launch không có nghĩa là “web đã lên mạng”
Từ những trải nghiệm này, tôi hiểu launch theo một nghĩa rộng hơn nhiều so với việc bấm nút deploy. Launch là giai đoạn sản phẩm gặp thế giới thật. Traffic thật. Người dùng thật. Rủi ro bảo mật thật. Áp lực vận hành thật. Build là tạo ra sản phẩm chạy được. Launch là đảm bảo sản phẩm đó sống sót và tạo ra giá trị, khi mọi thứ không còn nằm trong tầm kiểm soát của riêng mình nữa.
AI rút ngắn đáng kể thời gian build. Nhưng launch đòi hỏi một loại năng lực khác: khả năng lường trước bài toán sẽ xảy ra tiếp theo, và biết hỏi đúng câu hỏi ở đúng thời điểm. AI không tự nhắc bạn về countdown bị cheat. AI cũng không tự nhắc bạn kiểm tra phân quyền dữ liệu. Trừ khi bạn biết đó là điều cần hỏi.
Một góc nhìn khác về câu hỏi
Đến đây, tôi muốn chia sẻ thêm một góc nhìn. Không phải để phủ nhận câu hỏi ban đầu, mà để mời mọi người nhìn xa hơn một chút.
Những gì tôi vừa kể, việc lôi khách hàng vào cùng làm, việc đi qua nhiều vị trí khác nhau, việc biết đặt đúng câu hỏi ở từng giai đoạn, tất cả đều thật sự giúp các dự án của tôi launch ổn hơn. Nhưng càng thấy rõ điều đó, tôi càng nghĩ build và launch vốn là hai ngôn ngữ khác nhau. Không nằm trên cùng một trục để so sánh nhanh hay chậm, dễ hay khó. Build là công việc của người tạo ra sản phẩm. Launch là công việc của người đưa sản phẩm ra thế giới thật, vận hành nó, chịu trách nhiệm với những gì xảy ra sau đó. Một người có thể làm cả hai, như tôi vẫn làm. Nhưng làm cả hai không có nghĩa là gộp chúng thành một.
Và nếu chỉ dừng launch lại ở việc đẩy dự án lên, ở việc web chạy được và có vài con số doanh thu, thì vẫn chưa phải điểm đến cuối cùng.
Odysseus không dừng lại khi nhìn thấy bờ biển Ithaca từ xa. Ông còn phải bước lên bờ. Giương cây cung mà chỉ mình mình kéo nổi. Giành lại ngôi nhà. Ôm lấy vợ con. Và không kém phần quan trọng, thu phục lại lòng người dân đã từng nghi ngờ mình suốt hai mươi năm vắng mặt.
Với tôi, launch một sản phẩm cũng vậy. Đẩy dự án lên chỉ mới là nhìn thấy bờ biển. Điểm đến thật sự là khi sản phẩm được người dùng tin, được thị trường chấp nhận, và được chính những người từng hoài nghi quay lại công nhận. Đó mới là về đến nhà.
Tôi viết những dòng này không phải để bắt bẻ ai. Tôi viết vì tôi thật sự trăn trở cho ngành IT, cho rất nhiều sinh viên đang ngồi trong giảng đường, tin rằng cứ học giỏi code, cứ build nhanh, mọi thứ phía sau sẽ tự khắc trôi chảy. Build là một môn học. Launch, theo nghĩa trọn vẹn nhất, đòi hỏi những năng lực hoàn toàn khác: hiểu vận hành, hiểu bảo mật, hiểu con người sẽ dùng sản phẩm, và biết kiên nhẫn đi cho đến khi thu phục được lòng tin. Chứ không dừng lại ở khoảnh khắc nhìn thấy bờ.
Ba lớp của một lần launch
Nhìn lại các dự án đã làm, tôi thấy launch thường đi qua ba lớp câu hỏi. Không nhất thiết theo thứ tự cố định, nhưng luôn cần được trả lời trước khi sản phẩm thực sự sẵn sàng cho người dùng thật.
Hệ thống có chịu được tải đột biến không, khi lượng người dùng tăng vọt ngoài dự kiến. Dữ liệu có được bảo vệ đúng cách không, khi hệ thống bắt đầu lưu trữ thông tin thật của người dùng thật. Và sau khi đã sống sót qua hai lớp trên, sản phẩm có thực sự tạo ra kết quả kinh doanh không, hay chỉ đang chạy mà không ai dùng.
Build nhanh giúp bạn đến lớp câu hỏi đầu tiên sớm hơn. Nhưng cả ba lớp đều phải tự mình đối mặt. Không có phím tắt nào cho việc đó.
AI build ổn. Điều đó không cần bàn cãi. Nhưng launch có ổn hay không, câu trả lời chưa bao giờ nằm ở AI. Nó nằm ở người đứng sau. Ở việc người đó có chịu ở lại đủ lâu, đủ tỉnh táo, đủ can đảm để đi hết ba lớp câu hỏi đó hay không.
Giống như lần đứng trước hồ bơi năm nào, nhảy xuống chưa bao giờ là phần khó nhất. Phần khó là biết ai đứng cạnh mình lúc cần. Biết khi nào nên kệ đi, để dồn sức cho điều quan trọng hơn. Và biết bơi, cho đến khi thật sự về đến nhà, không chỉ nhìn thấy bờ, mà còn giành lại được lòng tin của những người đang chờ mình ở đó.
Vương Sĩ Nguyên
PMO - BDM