2 điểm bởi GN⁺ 2025-05-12 | 1 bình luận | Chia sẻ qua WhatsApp
  • Nghỉ việc sau 19 năm làm việc tại Google
  • Đã có đóng góp nòng cốt trong thời gian dài cho việc phát triển ngôn ngữ lập trình Go
  • Go được sử dụng rộng rãi và trở thành một ngôn ngữ lập trình chủ đạo
  • Đảm nhận nhiều vai trò trong dự án như trình biên dịch, hệ thống build, đưa generics vào ngôn ngữ
  • Do môi trường và dự án thay đổi, đã đi đến quyết định tìm một con đường mới

Giới thiệu quá trình rời Google

  • Rời công ty sau 19 năm làm việc tại Google
  • Trong phần lớn thời gian đó, đã may mắn được tham gia phát triển ngôn ngữ lập trình Go
  • Go được Rob Pike, Ken Thompson và Robert Griesemer khởi động vào mùa thu năm 2007
  • Gia nhập nhóm vào tháng 6 năm 2008, gần cùng thời điểm với Russ Cox
  • Cảm thấy mình rất may mắn khi được làm việc cùng những con người xuất sắc và trong các dự án đầy thú vị

Sự phát triển của Go và thành quả vượt ngoài kỳ vọng

  • Trong vài năm qua, Go đã đạt được mức độ sử dụng rất lớn
  • Hiện nay, nó đã trở thành một “ngôn ngữ lập trình phổ dụng” mà mọi lập trình viên có thể chọn khi cần
  • Ban đầu, tác giả nghĩ rằng chỉ cần Go mang lại một số ý tưởng đáng tham khảo cho các ngôn ngữ và môi trường khác cũng đã là thành công
  • Việc nó phát triển thành một ngôn ngữ phổ dụng là kết quả mà đội ngũ ban đầu hoàn toàn không ngờ tới

Vai trò và đóng góp chính trong dự án Go

  • Bắt đầu dự án Go bằng việc bổ sung frontend Go vào trình biên dịch GCC
  • Khi đó Go cũng có trình biên dịch riêng dựa trên trình biên dịch Inferno C
  • Hai trình biên dịch khác nhau đã giúp bảo đảm tính rõ ràng của đặc tả ngôn ngữ
  • Cũng đảm nhiệm việc bổ sung hỗ trợ Go cho hệ thống build nội bộ và công cụ SWIG, đồng thời làm công việc quản lý nhóm
  • Cùng Robert Griesemer phát triển đề xuất thay đổi ngôn ngữ, góp phần đưa generics vào Go 1.18 (2022)

Cách giải quyết vấn đề và những giới hạn

  • Nhanh chóng nắm bắt các vấn đề rõ ràng của hiện tại và tương lai gần để góp phần giải quyết
  • Tuy nhiên, với những ý tưởng đột phá mà mọi người chưa thử nên bản thân chưa trực tiếp trải nghiệm vấn đề, như Go module proxy hay cơ sở dữ liệu lỗ hổng Go, thì cách tiếp cận lại chậm hơn
  • Tác giả cho rằng cách làm việc riêng của mình nhìn chung vẫn có ích cho thành công của dự án

Thay đổi và quyết định chia tay

  • Google, Go và toàn bộ môi trường lập trình máy tính đều đã thay đổi rất nhiều
  • Trong khoảng một năm gần đây, tác giả cảm thấy mình không còn phù hợp với dự án Go tại Google nữa
  • Nhận ra cần phải bước sang một giai đoạn mới

Kế hoạch sắp tới và suy nghĩ về Go

  • Vẫn giữ sự hứng thú và tình cảm với Go
  • Không ngôn ngữ lập trình nào là hoàn thiện mãi mãi; chúng cần tiến hóa theo sự thay đổi của môi trường
  • Những ngôn ngữ có thư viện chuẩn phong phú như Go đặc biệt nhạy cảm với các thay đổi đó
  • Sẽ nghỉ ngơi một thời gian, nhưng hy vọng sau này có thể tiếp tục đóng góp cho Go

1 bình luận

 
GN⁺ 2025-05-12
Ý kiến trên Hacker News
  • Khi tôi làm việc ở Google, Ian Lance Taylor là một trong những người review code được chỉ định ngẫu nhiên. Ông ấy luôn lịch sự, dứt khoát nhưng vẫn rất giàu thông tin. Tôi có ấn tượng rất tốt về Taylor và về dự án này, hơi giống lời khuyên của YC rằng nhà sáng lập nên tự làm hỗ trợ khách hàng. Nói thật lòng, chỉ riêng việc thấy chữ viết tắt tên ông ấy xuất hiện trong review code của mình cũng đã thấy phấn khích rồi. Cảm ơn vì mọi nỗ lực dành cho golang
    • Thật tuyệt khi được nghe kiểu lời khen như thế này. Việc ai đó được nhớ đến như “một người lịch sự” nghe rất mới mẻ. Bản thân tôi cũng rút ra một bài học thực sự quan trọng trong đời. Đó là được đánh giá là lịch sự, tử tế và là người tốt còn đáng quý hơn nhiều so với danh tiếng thông minh hay là người giỏi gấp 10 lần người khác
    • Với tư cách là một người đóng góp bên ngoài khá “vô danh” cho Go (tôi đã làm khoảng sáu proposal và PR), tôi cũng có thể nói y như vậy, kể cả với những thứ cuối cùng bị loại hoặc bị từ chối. Ông ấy lịch sự, dứt khoát, nhiều thông tin và cũng rất tò mò. Trải nghiệm đóng góp cho dự án này cực kỳ tốt, và Ian chiếm một phần lớn trong đó. Mang lại được trải nghiệm như vậy cho một dự án lớn như Go là điều rất đáng nể
    • Tôi cũng rất thích quy trình Readability của Go. Nhờ quá trình này tôi đã trở thành một lập trình viên tốt hơn rất nhiều. Trước đây tôi cũng từng được duyệt Readability cho Python ở Google, và kiểu làm “ôm luôn CL lớn này, nếu đến cuối quy trình nó tốt hơn thì cho qua” không hữu ích bằng Go. Việc đặt ra rồi áp dụng các quy tắc riêng của Go đã giúp tôi rất nhiều (dù tất nhiên cũng có lúc bị gọi dậy giữa đêm và chỉ muốn check in nhanh đoạn code lần này rồi đi ngủ)
    • Trải nghiệm của tôi cũng tương tự, chỉ là người đó là Titus Winters ở lần thay đổi readability cho c++ cuối cùng của tôi. Tôi thậm chí còn nêu ý kiến về một trong các comment của ông ấy. Cảm giác thật sự rất tuyệt khi một người cực kỳ giỏi công nhận công việc của mình
  • Những gì Ian đã cống hiến cho cộng đồng Go, và rộng hơn là cộng đồng lập trình, có nói bao nhiêu cũng không đủ. Không chỉ có gccgo mà còn có cả gold linker, rồi rất nhiều bài blog về compiler toolchain, và ông ấy còn quản lý một phần khổng lồ của codebase gcc. Và có lẽ còn nhiều đóng góp khác mà tôi không biết. Tôi đã có dịp trao đổi email với Ian vài lần, và ông ấy luôn truyền cảm hứng rất lớn cho tôi. Dù bận rộn ở Google, ông ấy vẫn luôn phản hồi email hay patch của tôi bằng những nhận xét sâu sắc. Tôi có cảm xúc khá phức tạp với chính ngôn ngữ Go, nhưng tôi tin chắc rằng nếu thiếu Ian thì điều đó cũng sẽ ảnh hưởng xấu đến ngôn ngữ này. Ban đầu đội Go có cảm giác như thời Bell Labs — một vài người hiểu máy tính đến tận lõi đã tự làm mọi thứ: assembler, linker, hai compiler, đặc tả ngôn ngữ, trình tạo tài liệu, hệ thống build, cả một thư viện chuẩn đồ sộ. Còn bây giờ, khi tầm quan trọng của Google lớn hơn, mọi thứ có cảm giác nhạt hơn và mang tính doanh nghiệp hơn. Tôi cảm nhận được sự thay đổi văn hóa đó trong thông báo nghỉ việc của Ian, và tự hỏi rốt cuộc đã có chuyện gì làm bước ngoặt. Mong Ian được nghỉ ngơi thật tốt, và tôi sẽ tiếp tục theo dõi bất kỳ dự án nào ông ấy làm sau này
    • Tôi nghĩ việc các compiler toolchain của Go vận hành tốt là rất quan trọng cả về tính dư thừa lẫn việc xác minh chức năng. Nhưng tôi tò mò không biết trên thực tế có cá nhân hay tổ chức nào dùng gcc-go cho các mục đích cụ thể hay không
  • "Gooogle đã thay đổi, Go cũng thay đổi, và toàn bộ môi trường lập trình cũng thay đổi. Trong năm qua, ngày càng rõ ràng rằng giờ đây tôi không còn phù hợp với dự án Go ở Google nữa. Tôi cần phải rời đi" đoạn này làm tôi hơi bất ngờ. Hoàn toàn có thể lược bỏ hay nói theo cách khác, nhưng đã cố ý viết như vậy thì tôi nghĩ hẳn phải có một lý do thật sự nào đó
    • Trong vài năm gần đây tôi thấy rất nhiều kỹ sư cấp cao rời Google. Áp lực từ quản lý tăng khủng khiếp, còn niềm tin thì giảm mạnh. Với các kỹ sư từ L7 trở lên, nếu muốn có “đủ ảnh hưởng” thì gần như phải chuyển sang các dự án AI. Khi áp lực tăng lên, xung đột giữa các bộ phận cũng nặng hơn, và chỉ có sự tin tưởng thôi là không đủ, tên bạn phải nằm ở đầu tài liệu liên quan mới được. Trước năm 2023, kỹ sư cấp L7/L8 rời công ty thường là vì cơ hội mới hoặc nghỉ hưu, còn bây giờ phần lớn là vì kiệt sức với môi trường làm việc. Thật sự rất tệ
    • Nếu là tôi nói thì... phần nền móng thực chất đã được các kỹ sư đầy nhiệt huyết xây xong từ trước rồi. Giờ Big Tech chỉ là nơi để kiếm tiền, không quan tâm đến tầm nhìn dài hạn. Không có đam mê hay trí tưởng tượng, chỉ học thuộc để vào làm rồi sau đó bị PIP hay sa thải và lại chuyển sang tập đoàn lớn khác. Đầy rẫy những người như vậy. Có khi cơ hội tốt hơn lại nằm ở các startup giống Google ngày xưa
    • Ngay khoảnh khắc đưa một người không mấy xuất sắc như Sundar Pichai lên đứng đầu Google, ý đồ biến Google thành một cỗ máy kiếm tiền đơn thuần và xóa bỏ văn hóa ban đầu đã trở nên quá rõ ràng
    • Mỗi lần thấy các bài kiểu “làm ở FAANG 20 năm rồi rời đi”, tôi lại nghĩ rằng thực ra là nhờ công ty tăng trưởng gấp hàng chục lần trong suốt thời gian đó mà họ đã trở nên cực kỳ giàu có, đến mức bây giờ nếu không muốn đi làm nữa thì đơn giản là không cần đi làm nữa nên mới nghỉ
    • Sự tôn trọng dành cho kỹ thuật và các nhà nghiên cứu cấp tiến sĩ đã biến mất, còn CEO thì chỉ chăm chăm vào lợi nhuận, doanh thu và tính thương mại. Như đã nói, vấn đề nằm ở chỗ Sundar Pichai thiếu tầm nhìn và không hề quan tâm đến việc giữ gìn văn hóa Google thuở ban đầu
    • Đọc lại lần hai, tôi nghĩ việc “Gooogle” có thêm một chữ o có thể không phải lỗi gõ mà là ám chỉ có chủ ý đến phân trang của trang kết quả tìm kiếm Google ngày xưa, nơi số chữ o tăng dần
    • Tôi lại thấy lạ vì bạn ngạc nhiên. Với các cựu Googler, việc Google thay đổi hoàn toàn từ thời Emerald Sea đã là điều quá nổi tiếng rồi. Dù trong một tổ chức lớn như vậy vẫn còn vài nhóm ổn ở đây đó, nhưng công ty này đã đi trên con đường trì trệ và suy tàn hơn 10 năm nay
    • Tôi cho rằng ban lãnh đạo giờ đã bắt đầu siết thật sự. Giờ thời của các quản lý không có nền tảng kỹ thuật đang lên ngôi
    • Suốt 10 năm qua người ta đã lặp đi lặp lại câu chuyện này. Từ sau làn sóng tuyển dụng quy mô lớn cuối thập niên 2010 và cơn sốt tuyển người đầu thập niên 2020 làm pha loãng nhóm nhân tài xuất sắc nhất, Google đi xuống liên tục. Sự suy giảm nghiêm trọng về mặt bằng kỹ sư này kéo theo việc lương thưởng, phúc lợi và quan trọng nhất là quyền tự chủ đều giảm. Quan liêu và đấu đá chính trị lan tràn. Ngay cả khi tôi rời đi 10 năm trước, ý tưởng rằng bạn có thể tạo ra một dịch vụ như Gmail bằng 20% thời gian dự án đã là điều khó tưởng tượng. Quy định 20% gần như biến mất, còn các PM tệ hại thì giết chết mọi dự án mới chỉ để bảo vệ lãnh địa của họ. Giờ Google đầy rẫy nhân sự hạng B, C, D, hoàn toàn không thể hồi phục nữa và đang đi vào vết xe đổ của Intel, Cisco hay IBM. Một vài người rất giỏi đang dần bị bào mòn giữa đám nhân viên tầm thường
    • Ian học ở Yale và có lẽ đã là tỷ phú nhiều lần, nên có lẽ cũng chẳng có mấy sự đồng cảm đặc biệt với phần lớn người bình thường. Chỉ là ông ấy đã đạt mức tài sản mục tiêu FatFIRE nên nghỉ thôi
  • Năm 2016 khi làm ở Google, cả nhóm tôi đều dùng golang. Trong dự án đầu tiên, tôi đã nhiều lần nhận được phê duyệt readability từ Ian. Có một hôm ông ấy phê duyệt nhưng cũng yêu cầu bổ sung vài chỗ, còn tôi thì không để ý mà vẫn áp dụng thay đổi. Ian lại nhắn thêm lần nữa để bảo tôi sửa cho xong. Mãi sau tôi mới biết ông ấy là một trong những core developer của Golang. Dù hoàn toàn không cần phải làm đến mức đó, ông ấy vẫn đối xử rất tử tế, nên chuyện này khiến tôi nhớ mãi. Tôi thật sự khâm phục việc ông ấy dành nhiều thời gian để trực tiếp nhìn cách sản phẩm được dùng ngoài thực tế và tìm ra các vấn đề cốt lõi
  • Với tư cách là một Go developer, tôi muốn bày tỏ lòng biết ơn sâu sắc đối với những đóng góp to lớn của bạn cho ngôn ngữ này và cộng đồng. Chính công việc của bạn đã giúp Go trở thành một ngôn ngữ hiệu quả và thú vị như hiện nay, đồng thời truyền cảm hứng cho vô số kỹ sư, trong đó có tôi, tạo ra phần mềm tốt hơn. Cảm ơn vì sự tận tâm của bạn và vì đã mở ra những con đường mới cho thế hệ Go developer tiếp theo. Chúc bạn mọi điều tốt đẹp trên chặng đường phía trước
  • "Gooogle đã thay đổi, Go cũng thay đổi, và toàn bộ môi trường lập trình máy tính cũng thay đổi. Trong năm vừa qua, tôi nhận ra rõ ràng rằng mình không còn phù hợp với dự án Go của Google nữa. Tôi cần phải rời đi" Tôi ước đoạn này có thêm giải thích. Có vẻ đã có một thay đổi thực chất nào đó, và Ian đã nhận ra điều đó
    • Có lẽ họ đã yêu cầu làm cho nó “đậm chất AI” hơn. Kiểu như “hoặc thêm Gemini vào lỗi compiler của Go, hoặc nghỉ đi”
    • Tôi không chắc có cần giải thích thêm không. Đây vốn đã là điều ai cũng biết bên ngoài rồi. Vấn đề chống độc quyền, ban lãnh đạo chỉ theo đuổi lợi ích ngắn hạn, một công ty từng là lãnh đạo kỹ thuật lâu năm đang biến thành một tập đoàn tầm thường kiểu Microsoft/IBM, không còn dẫn dắt xu hướng mà chỉ chạy theo mốt nhất thời (bao gồm AI), đã từ bỏ nguyên tắc “Do no evil” khi hợp tác với các chính phủ gây tranh cãi, rồi chán ngấy những lời dối trá và bầu không khí hoài nghi không thể chịu nổi nữa, nên ông ấy rời đi đúng lúc quyền chọn cổ phiếu đã đáo hạn
  • Câu hỏi cốt lõi ở đây là liệu ngày nay còn tồn tại một công ty giống Google năm 2005 hay không. Liệu OpenAI thực sự đang đóng vai trò đó, hay là không hề tồn tại nữa. Tôi cũng tự hỏi giai đoạn mà rất nhiều kỹ sư nhớ như thời hoàng kim ấy thực ra kéo dài được bao lâu
    • Theo tôi, Google năm 2005 không thể tồn tại lại được nữa. Khi đó công nghệ nền tảng đang mạnh lên rất nhanh, và những công ty đầu tư sáng tạo trong giai đoạn đó đã trở nên giàu khủng khiếp. Tôi gia nhập Google năm 2022 rồi nhanh chóng rời đi, nhưng ngay cả với một người mới cũng có thể thấy rõ không chỉ thời hoàng kim đã qua mà cả thời kỳ sau đó cũng đang kết thúc. Không khí lúc ấy không phải là cùng nhau làm ra sản phẩm tốt hơn, mà gần như là “đừng gây rắc rối, chỉ cần cải thiện 1–2% thôi”
    • Không có công ty nào như Google trong thời đại này. Cũng không có đội ngũ nào thực sự sánh được với Bell Labs cùng thời
    • Không tồn tại. Nhưng vẫn có cơ hội để tạo ra một công ty mới như vậy. Vấn đề của các công ty thế hệ này không phải là công nghệ, mà là văn hóa
    • Theo góc nhìn của người đứng ngoài, thời hoàng kim kết thúc vào khoảng 2013–2014. Chủ nghĩa tư bản đã ngấm quá sâu vào văn hóa công ty công nghệ đến mức rất khó để tinh thần đổi mới và thử nghiệm như thế quay lại. Bây giờ chủ yếu chỉ còn kiểu tra dầu cho cỗ máy sẵn có
    • Chưa có công ty như thế / hoặc chúng ta vẫn chưa nhìn thấy nó. Bạn đang muốn dự đoán một công ty có thể tăng trưởng lên trên 1 nghìn tỷ USD và đồng thời cung cấp một công cụ thiết yếu như tìm kiếm
    • Vẫn là Google
  • Điều thú vị là trên blog hầu như không có bài nào cả. Thứ tôi thực sự muốn đọc là bài tiếp theo của “The 2016 Election”
  • Khi thấy những nhân vật chủ chốt rời các dự án chrome và golang, rõ ràng là ban lãnh đạo đang làm không tốt
    • Có thể còn những chỉ dấu khác nữa, nhưng việc người này rời đi sau tận 19 năm làm việc cũng là điều không thể xem nhẹ
    • Họ đang đặt cược tất tay vào AI. Ban lãnh đạo cũng biết đây là một cuộc chiến sống còn
  • Tôi không muốn dựng thuyết âm mưu, nhưng tôi tự hỏi liệu chuyện này có liên quan đến việc Ian Hickson rời Google/đội Flutter hay không. Hickson đã chỉ ra rất cụ thể. Vấn đề cốt lõi là sự lãnh đạo thiếu tầm nhìn của Sundar Pichai, sự thờ ơ với việc duy trì văn hóa Google ban đầu, và sự lan rộng của tầng quản lý trung gian kém năng lực. Ví dụ như Jeanine Banks nói rằng bà ấy có chiến lược, nhưng dù nghe giải thích suốt nhiều năm tôi vẫn chưa một lần hiểu nó thực sự nghĩa là gì. Bà ấy thay thế kỹ sư như thể họ chỉ là linh kiện, bất kể có đúng chuyên môn của nhóm hay không, và hoàn toàn không tiếp thu phản hồi. Tôi nghe nói ở các tổ chức khác, những lãnh đạo khéo chính trị hơn đã học được cách xoa dịu Banks vừa đủ để né thiệt hại. Với một người từng trải qua giai đoạn Google tốt nhất, thực tại mới này thật sự rất thảm hại
    • Họ đối xử với kỹ sư một cách phi nhân tính, như thể chỉ là tài nguyên, rồi điều sang những chỗ không phù hợp năng lực mà không cần quan tâm ý kiến của thành viên trong nhóm. Không chỉ riêng bà ấy. Một lãnh đạo khác còn sa thải cả đội Python nòng cốt rồi thay bằng một đội TypeScript lương thấp hơn, sau đó lại tiếp tục tuyển người mới ở khu vực lương còn thấp hơn nữa để lấp vào
    • Việc bộ phận của bà ấy nói là có “chiến lược” nhưng thực tế dù nghe giải thích bao nhiêu cũng chẳng hiểu nổi là gì, điều này rất khớp với trải nghiệm của tôi. Giao tiếp ở tầng quản lý trung gian cao cấp đến VP, thậm chí đôi khi SVP ở Google, cực kỳ khó hiểu, nghe như nói tất cả mọi thứ nhưng thật ra không nói gì cả. Vừa bảo là thay đổi rất lớn, lại vừa nhấn mạnh là chẳng có gì thay đổi. Theo tôi, đó không phải là ngôn ngữ để chỉ ra phương hướng, tầm nhìn hay mục tiêu, mà là thứ ngôn ngữ gói ghém để gây ấn tượng với các quản lý khác. Nó được dùng để giành công trong kỳ đánh giá. Ở Google còn có câu đùa rằng “nếu bạn không thể trả lời trong vòng 5 giây mình thuộc đội nào thì hẳn là bạn là Googler”. Kỹ sư thì cực kỳ giỏi (nên vì thế cũng có nhiều hội chứng kẻ mạo danh giả tạo), nhưng cảm giác thực tế là mọi người đang đi theo nhiều hướng khác nhau mà không có định hướng chung. Tôi không biết phải vận hành một tập đoàn lớn như thế nào, nhưng có lẽ bắt đầu từ việc giải thích bằng ngôn ngữ đơn giản đã. Ngay cả những người chuyên “phiên dịch” thứ ngôn ngữ doanh nghiệp đó dường như cũng khó tạo ra một thực tại chung
    • Người ta gia nhập công ty, nhưng rời đi vì quản lý tệ hoặc bất công
    • Cảm ơn vì đã chia sẻ trải nghiệm này. Một trong những nỗi sợ lớn nhất của tôi trong ngành là có thể chúng ta sẽ không bao giờ còn thấy lại một công ty như Google thuở ban đầu nữa. Đến mức từ lúc Pichai lên làm người đứng đầu thì đáng ra công ty đã phải đổi tên rồi. Giờ phần lớn những người từng làm ở Google thực chất đã làm việc dưới một tổ chức hoàn toàn khác
    • Đúng vậy, chính sách phân bổ con người như thể chỉ là “tài nguyên”
    • Trải nghiệm của tôi không phải ở Google mà là một công ty Mỹ có quy mô tương tự. Những gì nói về chiến lược áp vào y hệt. Chỉ trích về quản lý trung gian kém hiệu quả cũng giống hệt. Có một thuật ngữ chính thức để chỉ kiểu chính trị nội bộ tạo ra tình trạng như vậy, nhưng nếu dùng ở đây thì chắc chắn sẽ bị chỉ trích nên tôi không viết ra. Đó là kiểu hệ thống không có chiến lược thật sự, không đo lường kết quả dự án, xóa nhòa khái niệm vai trò và trách nhiệm, rồi thay bằng tư duy “ai cần thì tất cả phải lao vào”