← quay lại đọcBản inđang dàn trang…
Chương II

Bảy Năm Trong Ngành Phần Mềm

cái tốt, cái tệ, cái xấu và những bài học để lại cho bản thân mình năm 20 tuổi
maxubrq.space19 tháng 2, 2026 · 19 phút đọc
maxubrqBảy Năm Trong Ngành Phần Mềmi

mục lục

Đây không phải là một bản hướng dẫn hay định hướng nghề nghiệp, bài này chỉ đơn giản là "nhìn lại" của bản thân mình.

“Giá trị thật sự không nằm trong sản phẩm, nó nằm ở người bạn trở thành để làm ra nó.”

Còn nhớ lần đầu tiên mình chạm tay vào code là những ngày cuối năm lớp 11, lúc đó do chuẩn bị cho kì thi đại học và những năm tháng học đại học sắp tới (có lẽ cha mình tin mình chắc chắn đậu :vvv) cha mình đã mua cho mình một chiếc laptop cũ xách tay. Lúc đầu mình chưa biết phải làm gì với nó cả, mình chỉ có một thắc mắc duy nhất, làm sao mà người ta có thể tạo ra một thứ gì đó từ hư không? Ý mình là, sao người ta có thể tạo ra một thế giới của chính họ như game? Lúc đó trong trường cấp ba mình cũng có học về môn tin học, có lẽ mình khá có năng khiếu với môn này, lúc này trường dạy lập trình Pascal, lập trình về cách giải phương trình bậc hai, mình lại thắc mắc từ những dòng code này lại có thể làm ra một thế giới riêng sao? Mình bắt đầu học code, qua các khóa học online, từ lập trình web, lập trình app android, lúc đó mình cũng có thử publish app lên Google Play nữa. Vậy là gần như thời gian năm lớp 12 ngoài học trên trường, thì gần như mình danh toàn bộ thời gian cho việc học code và lập trình dù nó chỉ là sở thích lúc này.

Cuối năm 12 mình quyết định thi vào ngành liên quan đến phần mềm, có thể là Công Nghệ Thông Tin hoặc Kỹ Thuật Phần Mềm, mình đậu vào ngành Công Nghệ Thông Tin của trường Đại học Sư Phạm và Kỹ thuật Thành phố Hồ Chí Minh (HCMUTE), thật ra không phải vì lúc đó ngành này là nghành hot hay gì đâu, chỉ là mình cảm giác tự học như vầy là chưa đủ, mình muốn làm ra một thứ riêng của mình, một thế giới riêng, một đế chế riêng, mộng mơ của tuổi trẻ nói với mình là như vậy.

§ 01Công ty thứ nhất

Năm 3 đại học mình bắt đầu đi làm, có thể nói là cột mốc bước vào đời với việc chọn phần mềm sẽ là con đường theo đuổi chuyên nghiệp, nghe như thể thao ha :vvv, mình bắt đầu với vị trí lập trình app di động (mobile developer) chuyên môn là Flutter, lúc này tại Việt Nam có thể nói là hiếm người làm về Flutter, lúc này người ta ưa chuộng React Native hơn và Flutter là một cái tên mới nổi, mình chọn Flutter đơn giản vì nó dễ cài hơn React Native. Tại nơi làm việc đầu tiên này, mình được làm việc trực tiếp với một anh tech lead, có thể nói là hình mẫu cho mình lúc đó. Khi làm việc chung với anh mình có cảm giác, anh là một nghệ nhân, chứ không chỉ là một người code. Code của anh nó chăm chút, kỹ lưỡng và dễ mở rộng, phải nhấn mạnh từ "dễ mở rộng" vì với một đứa nào giờ chỉ code một mình, làm theo bản năng như mình thì "dễ mở rộng" là một cái tình chất rất xa lạ và trong trường cũng không dạy nhiều về cái tính chất này. Mình có cảm giác như code của anh lead đó viết có thể sử dụng lâu dài (có thể nói là 2-3 năm kế tiếp) mà không cần phải thay đổi một dòng nào dù cho kế hoạch kinh doanh của công ty, của sản phẩm có thay đổi ra sao, có lẽ anh có khả năng nhìn xuyên thời gian về tương lai và chuẩn bị trước cho nó. Cách anh code giống như một người thợ điêu khắc, chăm chút và tập trung tuyệt đối vào tác phẩm của mình, như cách mà Richard Sennett[02] nói trong The Craftman (2008): "The desire to do a job well for its own sake", tạm dịch là muốn làm tốt công việc bởi vì chính công việc đó đã có ý nghĩa. Anh là một nguồn cảm hứng lớn đối với mình, mình cũng bắt đầu tập trung vào làm sao có thể làm ra một sản phẩm tốt như cách của một nghệ nhân, kiên nhẫn, cần mẫn và chăm chút. Giờ nghĩ lại, có vẽ đó là khoảng thời gian khá tốt và chất lượng để nuôi dưỡng tinh thần này, vì thật sự chắc do công ty cũng nhỏ nên không có quá nhiều việc để chạy đua.

Cũng chính tại công ty này mình nhận ra một điểm xấu đầu tiên tới từ chính bản thân mình, đó là mình làm việc nhóm như hạch và giao tiếp nhóm kém hơn bản thân mình nghĩ rất nhiều. Mình không thể nói rõ suy nghĩ, giải pháp của bản thân, không thể làm rõ yêu cầu, mình ghét khi bị người khác review code, mình muốn trở về làm việc một mình. Mình biết chứ, rằng trong ngành này không thể tạo nên cái gì lớn lao khi đi một mình cả, à mà chắc ngành nào cũng vậy thôi, nên mình quyết định sửa. Mình học cách để nói rõ ràng hơn, khúc chiếc hơn, học cách nhìn nhận code review khác đi, nó không phải là để bắt lỗi mà là để nâng cao tiêu chuẩn của cả nhóm. Từ từ thì mình cũng thoải mái hơn, nó không phải là chuyện một sớm một chiều, nhưng khi chấp nhận bước đi bước đầu tiên thì sớm hay muộn cũng sẽ đến đích thôi nhỉ.

§ 02Công ty thứ hai

Sau công ty đó mình đến với công ty tiếp theo tại đây mình lại học được kha khá điều quan trọng khác. Đây là một công ty outsource, cũng nhỏ nhưng lớn hơn công ty trước một chút, tại đây mình được làm việc trực tiếp với các khách hàng, đi một quy trình xuyên suốt từ requirement, implement, validation, operation, ...etc, đó cũng là một sự may mắn, tại đây mình cũng đã lead vài dự án dù có thể nói là mình là người trẻ nhất công ty tại thời điểm đó. Tại đây mình hiểu được làm việc với khách hàng và operation trên môi trường production là một thử thách, một chân trời hoàn toàn khác với việc chỉ trong R&D. Trách nhiệm gánh trên vai phải gọi là lớn hơn rất nhiều, vì phải đối mặt với khách và phải đảm bảo quyền lợi của anh em đồng nghiệp bên dưới. Tại đây mình học về cách phân chia công việc, à không, cách phân tách công việc trước mới đúng. Mình học được lúc nào nên xin thêm nhân lực, lúc nào không, lúc nào chấp nhận trễ deadline và nghe chửi thay vì cứ bán mạng OT để cho kịp. The Mythical Man Month[01] là một trong số những quyển sách đã giúp đỡ mình rất nhiều trong giai đoạn này và mình gợi ý các bạn nào làm chuẩn bị làm lead (hay đã lead) nên đọc quyển này, dù rằng có nhiều thứ đã có thay đổi, đặc biệt trong thời đại nhanh như hiện nay, nhưng những nguyên tắc cốt lõi gần như không thay đổi.

Tại công ty thứ hai này mình biết đến một cái tốt khác, một niềm vui khác của ngành phần mềm, đó chính là "nụ cười khách hàng". Thành thật mà nói, từ lớp 11 cho đến lúc mình nhận ra điều này, mọi thứ mình làm trong ngành vì cái tôi cá nhân rằng "tôi muốn xây dựng một thứ tuyệt vời của riêng tôi" chứ không phải là "làm một cái gì đó tuyệt vời cho thế giới" hay giúp đỡ một ai đó. Trong project làm một ứng dụng quản lý giường bệnh và ca làm việc cho bệnh viện, mình có cơ hội làm việc trực tiếp và nghe những feedback trực tiếp từ những y tá, hộ lý và những quản lý ở bệnh viện, họ nói ứng dụng đã giúp công việc hàng ngày của họ trở nên nhẹ hơn một chút, họ không còn tốn quá nhiều thời gian như trước và có thể dành thời gian dư ra đó để dành cho bản thân, nghỉ ngơi một chút và điều đó làm họ khá là vui. Cảm xúc mình khi nghe được những feedback như vậy khá là lân lân, là rằng wow một tốt cũng là làm điều tốt nhỉ, nó có thể giúp đỡ người ta như vậy. Và có lẽ từ khoảng khắc đó, bên cạnh cái tôi cá nhân, mình có thêm yếu tố "nụ cười khách hàng" vào những sản phẩm mình làm, liệu sản phẩm này có thể làm họ cười không? Có thể giúp cuộc sống họ tốt hơn một chút gì đó không?

Nhưng biết tới "nụ cười khách hàng" cũng là một lời nguyền, mình nghĩ lời nguyền này sẽ ám ảnh những ai muốn làm ra được một sản phẩm có ý nghĩa, muốn thấy công sức của bản thân thực sự đến được và thay đổi cuộc đời của ai đó. Ám ảnh là vì điều này thật sự rất hiếm trong giới này, những con số theo dõi về trải nghiệm người dùng, của khách hàng hiếm khi đến được với những người chính tay làm ra sản phẩm đó, đội ngủ R&D, các developer. Những người bị ám bây giờ sẽ bị kẹt giữa một vòng lặp vô tận, "tôi muốn làm một thứ có ý nghĩa" và "nó thực sự có ý nghĩa không", đây là cái xấu tiếp theo mà mình nghĩ các bạn dev nên để ý tới, hãy cẩn thận với nó.

Mình cũng học được nhiều điều từ công ty thứ hai này, cả trong code hay không trong code, mình từ bỏ việc tập trung vào những pattern sang tập trung vào nguyên lý, bản chất. Mình học được rằng những kỹ năng không phải code cũng những kỹ năng quan trọng trong ngành phần mềm nào là giao tiếp, nào là quản lý expectation, nào là có trách nhiệm với khách hàng và người dùng. Nhiều lần phải thức thâu đêm debug, cùng anh em đồng nghiệp xử lý vấn đề trên production cũng cho mình bài học về technical debt và trải nghiệm của developer. Tiêu chuẩn code chuyển từ ready thành production-grade. Hành trình tại đây góm phần lớn giúp mình hình thành con người như mình hiện tại.

§ 03Công ty thứ ba

Sau gần ba năm làm việc tại công ty thứ hai, mình quyết định nghỉ việc, mình đến với công ty thứ ba, lần này là một công ty phần mềm lớn, đa quốc gia, chuyên về bảo mật. Đây là một hành trình đặc biệt vì ngày trước khi mình vào công ty nó đã cho mình một bài học, người ta chỉ thấy bạn qua những thứ bạn thể hiện, vì vậy hãy thể hiện nhiều vào, ý mình không phải là phô diễn mà là hãy thể hiện hết mức khả năng của bản thân có, hãy tự tin lên, chuẩn bị kỹ lưỡng đến mức gần như bạn không thể sai. Tại đây mình làm việc trong hệ thống lớn và mọi thứ rất khác biệt, khách hàng là những doanh nghiệp lớn và có tiếng tăm, tất nhiên, họ sẽ có yêu cầu rất cao. Khi làm với những khách hàng nhỏ họ đề cao sự đa nhiệm, sáng tạo và nhanh, với các khách hàng lớn họ đề cao tuyệt đối sự bền bỉ và ổn định. Những khái niệm về SLA, SLO cần được tuân thủ sát sao hơn bao giờ hết. Việc làm trong một hệ thống lớn đem lại một sự kích thích trí tuệ rất lớn và mình rất thích nó.

Có cái tốt mới thì cái xấu mới cũng sẽ đi kèm, trong một hệ thống lớn, tính "quy trình" luôn là một rào cản cho sự "tốc độ" của ngành phần mềm, việc phối hợp giữa các team, các phòng ban luôn có rào cản. Và khó chịu nhất chính là "chính trị văn phòng", mình không ghét nó, nó là điều tất yếu trong một hệ thống lớn, nhưng mình kiệt sức khi nó chiếm quá nhiều không gian trong quyết định. Tại đây mình học được một bài học quan trọng khác, hãy tập trung vào làm những việc thực sự quan trọng. Hãy can đảm để làm điều đó, tại sao lại cần can đảm ư, vì trong môi trường công ty lớn điển hình, mọi hoạt động phải gắn liền với lợi nhuận và những điều quan trọng thường tốn khá nhiều thời gian để đem lại lợi nhuận đó. Quản lý xung đột, giao việc và trainning cho team member cũng là những kỹ năng cần có thêm ở môi trường này.

§ 04Cái tốt

Trải qua bảy năm trong ngành này với tư cách từ một dev chuyên nghiệp nói riêng và hơn mười năm kể từ dòng code đầu tiên những điều đẹp đẻ mà ngành này đem lại cho mình không ít.

Thỏa mãn cái tôi sáng tạo và muốn làm cái gì đó riêng của mình

Lập trình giúp mình thỏa mãn cái tôi của bản thân, mình muốn hiểu mọi thứ, muốn thử tạo ra mọi thứ trên đời, lâp trình cho mình cái cảm giác đó, nó đem lại cho mình cảm giác có thể tạo ra một cái mới từ hư không, hiện thực hóa một ý tưởng trong suy nghĩ ra đời thực. Và có thể có cả những phép màu đem lại tiếng "WoW" cho người dùng.

Lợi ích về kinh tế

Lập trình là một ngành có lương khá cao so với mặt bằng chung có thể nói mình gia nhập vào thời đại vàng của ngành này nên lợi ích kinh tế nó đem lại cho mình khá nhiều. Mình có thể tự nuôi sống bản thân từ những ngày đầu đi làm và còn có thể phụ giúp gia đình một chút.

Liên tục học hỏi và phát triển

Công nghệ, phần mềm là luôn phải học hỏi và trau dồi không ngừng nghỉ, không có khái niệm "đủ rồi", luôn có thứ mới được sinh ra và luôn phải học. Điều này giúp bản thân mình luôn phải trau dồi và tiến lên, là động lực cũng là áp lực. Trong ngành này sẽ không ngoa nếu nói rằng "đứng yên là đi lùi". Mà thật ra trong bối cảnh hiện đại, ngành nào cũng như vầy thôi, tri thức luôn sinh ra mà.

§ 05Cái xấu

Những cái xấu mình cảm nhận trong ngành này cho đến hiện tại, gọi là xấu nhưng không có nghĩa là chúng thật sự xấu xa, chỉ là với mình những cái xấu sẽ lấy đi năng lượng của bản thân nhanh và nhiều hơn những cái bình thường.

Con người

Đặt con người vào đây không phải vì bản thân họ xấu, ý mình là việc giải quyết các vấn đề liên quan tới con người luôn khó hơn là liên quan tới hệ thống, với hệ thống bạn có thể chuẩn bị, có phương án dự phòng, có metrics để đo, có log để xem. Còn với con người, bạn không có gì cả, không biết suy nghĩ của họ và mỗi người lại là một cá nhân khác biệt và phải xử lý khác nhau. Có người kỹ năng giỏi nhưng cái tôi quá lớn, có người kỹ năng bình thường nhưng lại là trái tim tinh thần của cả team, có người, có người nói thì hay, làm thì ít, còn có người nói ít lại làm nhiều. Hãy học cách đừng "trông mặt mà bắt hình dong", hãy quan sát, "kiểm tra" một chút, hãy hòa nhã nhưng có khoảng cách, và quan trọng là hãy giữ tốt giới hạn của bản thân.

Ám ảnh tốc độ

Các công ty công nghệ luôn ám ảnh về tốc độ, nó dường như là một truyền thống của ngành này, làm nhanh, release nhanh, lead time phải ngắn,...etc. Bạn phải học cách làm quen với điều này và yeah áp lực lớn là chuyện hiển nhiên.

Môi trường

Môi trường làm việc có tác động rất lớn tới bản thân, một môi trường tốt có thể làm cho bạn thấy tôi sẽ cống hiến mọi thứ cho công ty này, ngược lại, một môi trường tệ sẽ bòn rút năng lượng của bạn và mỗi ngày đi làm sẽ giống như địa ngục trần gian. Nếu bạn hỏi mình làm sao để biết môi trường đó tốt hay tệ, well, câu trả lời tốt nhất mình có thể đưa ra là hãy tự cảm nhận, nếu bạn đi làm thấy vui vẻ thoải mái, tinh thần phấn chấn, có lẽ nó là môi trường tốt, ngược lại thì nó tệ. Và có một tin vui và một tin buồn, không có môi trường nào là tốt hay tệ mãi mãi. Và khi bạn thấy nó không còn phù hợp nữa, hãy rời đi nhanh nhất có thể.

§ 06Cái tệ

Những cái tệ được mình liệt kê ở đây vì nó tác động đến chính bản thân của mình. Ý mình là, nó không chỉ là những thứ bên ngoài, mà là trong chính thân tâm trí của bản thân.

Sức khỏe bản thân

Càng đi làm lâu, sức khỏe sẽ là thứ càng được quan tâm trong ngành này vì áp lực liên miên lên tinh thần, ngồi hoài một chỗ, ít vận động, sẽ làm cho tình hình sức khỏe ngày càng xuống cấp. Nó sẽ không xuống một cách đột ngột, nhưng sẽ từ từ và âm ỉ. Có thể là đau lưng, mở máu, stress, ...Hãy chú ý chăm sóc sức khỏe bản thân tốt hơn, một cái ghế tốt, tập thể dục thường xuyên sẽ giúp ích rất nhiều nếu bạn theo đuổi ngành này.

Burn out, stress và sức khỏe tinh thần

Người ta thường hay nghĩ "burn out" là một cái gì đó do làm quá nhiều, quá stress,...thật ra mình không nghĩ vậy, burn out sẽ xuất hiện khi không thấy được ý nghĩa trong việc làm hàng ngày của mình. Nó là một biểu hiện của lời nguyền "nụ cười khách hàng" mình đã nói ở trên. Nhiều việc có thể gây stress, cái này cũng cần quan tâm, burn-out đến từ những thứ sâu sắc hơn, mình nghĩ vậy. Mình nghĩ nếu bạn đột nhiên cảm thấy sao mọi ý nghĩa mình từng theo đuổi đột nhiên biến mất, bạn thấy trống rỗng, có lẽ bạn đang bị burn-out và tin mình đi, bạn cần một khoảng thời gian thực sự nghỉ ngơi để xem xét lại hành trình của bản thân. Ngoài sức khỏe vật lý, sức khỏe tinh thân là thứ mà ngành này tấn công mình nhiều nhất.

§ 07Tại sao mình vẫn ở lại với ngành này?

Well, chỉ vì, mình còn thích nó, vậy thôi. Mình vẫn muốn làm ra một thứ gì đó, mình vẫn muốn trải nghiệm "nụ cười khách hàng", mình vẫn muốn được kích thích trí tuệ bởi những vấn đề khó.

Mình ở trong ngành này đủ lâu và nó cũng cho mình đủ thứ cơ hội để phát triển, để tiến bộ và tiền nữa, haha. Có thể mình sẽ làm ở một ngành nghề khác sau này, nhưng phần mềm, công nghệ vẫn sẽ luôn là một phần trong cuộc sống và công việc của mình.

§ 08Lời khuyên cho bản thân tuổi 20

Nếu có thể gặp lại bản thân ở tuổi 20 và bước những bước đầu chuyên nghiệp trên con đường náy mình sẽ khuyên phiên bản trẻ đó của mình vài điều sau đây

  • Hãy học cách làm việc với con người vì đây là nguồn gốc của mọi vấn đề khó nhất cũng là kho của những cơ hội bất ngờ.
  • Hãy học cách thể hiện suy nghĩ bản thân một cách rõ ràng mạch lạc dù có là nói hay viết.
  • Tập trung vào các nguyên lý thay vì những kỹ thuật tactic, không phải là bỏ qua tactic, nhưng hãy hiểu rõ và cảm nhận những nguyên lý trước.
  • Chuẩn bị nguồn tài chính dự phòng cho bản thân, điều này siêu cấp quan trọng, nếu muốn tự do lựa chọn, hãy chuẩn bị một quỷ ít nhất sáu tháng chi tiêu cơ bản.
  • Luôn luôn học hỏi, trau dồi và phát triển.
  • Hoàn thành những gì bản thân bắt đầu, dù là một dự án, một môn học một ý tưởng.
  • Tập trung vào một số ít những cái có ý nghĩa thôi.
  • Hãy có một sở thích ngoài code, có thể là viết, có thể là âm nhạc, một sở thích mang tính nghệ thuật sẽ tốt.
  • Tập luyện thể thao, rèn luyện cơ thể tốt vào.
  • Chào đón mọi trải nghiệm cuộc sống, đừng rụt rè, đừng sợ, can đảm lên.
  • Hãy ghi lại, ghi lại mọi thứ, problems, cách giải quyết problems, quyết định, tại sao quyết định, sách đã đọc, bài học đã học, hãy tạo collection, tạo portfolio, tạo gallery, tạo wall of fame, hãy ghi lại mọi thứ.
  • Hãy "tạo ra" chứ đừng chỉ "nhận vào", có rất nhiều cách "tạo ra", viết, nói, chia sẽ, sản phẩm mới, thử nghiệm mới,...etc

Còn lại nhiều thứ khác, nhưng trên con đường làm việc và trong đời sống, sớm muộn những bài học cũng sẽ đến đúng thời điểm đúng lúc và hãy tự trải nghiệm.

Nguồn tham khảo

01The Mythical Man Month — Frederick P. Brooks Jr., 1975Book
02The Craftsman — Richard Sennett, 2008Book