Simon Willison’s Weblog
GPT-5.2
- OpenAI thông báo “code red” vào ngày 1 tháng 12 do cạnh tranh từ Gemini 3 của Google, sau đó ra mắt GPT-5.2 vào ngày 11 tháng 12.
- GPT-5.2 có hai phiên bản: GPT-5.2 và GPT-5.2 Pro, chưa có phiên bản Mini.
- Ngày cắt đứt kiến thức cho cả hai phiên bản là 31 tháng 8 năm 2025, khác với các phiên bản trước là 30 tháng 9 năm 2024.
- Cả hai mẫu 5.2 có cửa sổ ngữ cảnh 400,000 token và tối đa 128,000 token đầu ra, như các phiên bản trước.
- Giá cho GPT-5.2 là 1.4 lần giá của GPT-5.1, với $1.75/million input và $14/million output; GPT-5.2 Pro là $21.00/million input và $168.00/million output.
- GPT-5.2 có 70.9% trên benchmark GDPval và 52.9% trên ARC-AGI-2, cao hơn nhiều so với các phiên bản trước.
- GPT-5.2 Pro đạt điểm số 90.5% trên ARC-AGI-1, với hiệu suất cải thiện khoảng 390 lần trong 1 năm.
- GPT-5.2 có khả năng tốt hơn về thị giác, giảm tỷ lệ lỗi xuống khoảng một nửa trong các nhiệm vụ liên quan đến biểu đồ và hiểu giao diện phần mềm.
- Ba mô hình API mới được công bố là gpt-5.2, gpt-5.2-chat-latest, và gpt-5.2-pro.
- OpenAI công bố Hướng dẫn Sử dụng GPT-5.2 mới.
Yegor Bugayenko
You Are the Low-Hanging Fruit
- Nhiều nhân viên bán hàng thích nhận lương cố định bên cạnh hoa hồng, dù hoa hồng là khoản thanh toán duy nhất hợp lý hơn (Katia Lund, City of God, 2002).
- Họ có kỹ năng thuyết phục, có thể sử dụng để bán bản thân cho nhà sáng lập hơn là bán sản phẩm cho khách hàng.
- Khách hàng là trở ngại bên ngoài mà nhân viên bán hàng phải vượt qua để nhận hoa hồng.
- Nhà sáng lập là trở ngại bên trong, có thể bị thuyết phục để trả lương cố định.
- Để nhân viên bán hàng tập trung vào khách hàng, cần làm cho việc thuyết phục nhà sáng lập trở nên khó khăn hơn.
- Cần thiết lập công thức đo lường đóng góp của lập trình viên và liên kết trả lương với số lượng pull request đã được merged.
- Cấm bàn luận về việc trả lương theo giờ để tránh việc lập trình viên thuyết phục nhà sáng lập.
- Thiết lập hệ thống khuyến khích dựa trên kết quả thay vì nguyên nhân, để đội ngũ tập trung vào việc giải quyết vấn đề bên ngoài.
Small Repo, High Quality
- Tôi không thích monolithic repositories vì chúng giữ nhiều dự án khác nhau cùng lúc (các công ty lớn như Google và Facebook ủng hộ).
- Monorepos làm giảm độ phức tạp tích hợp nhưng có thể ảnh hưởng đến chất lượng mã.
- Các repository nhỏ hơn cho phép duy trì quy tắc lập trình chặt chẽ, dẫn đến mã sạch hơn.
- Có thể viết các bài kiểm tra sâu hơn mà không làm chậm quá trình xây dựng trong repository nhỏ.
- Kiểm tra pull request dễ dàng hơn trong repository nhỏ do ít mã hơn.
- README trong các dự án lớn thường ngắn gọn, khó giải thích rõ ràng phạm vi dự án.
- Việc phát hành thường xuyên dễ dàng hơn trong repository nhỏ do thời gian xây dựng ngắn.
- Các AI agents hoạt động hiệu quả hơn với repository có kích thước nhỏ.
- Dễ dàng onboard hơn vào repository nhỏ do ít mã legacy hơn.
- Cảm giác sở hữu mã tốt hơn trong các repository nhỏ, tăng sự trách nhiệm của lập trình viên.
- Có thể mở mã nguồn cho một phần nhỏ của dự án mà không ảnh hưởng đến monorepo lớn.
Can’t Merge? Don’t Despair.
- Nghĩa vụ của bạn là dứt khoát từ chối pull request nếu không được chấp nhận ngay lập tức (nếu có nhiều phê bình về kiến trúc).
- Kiểm tra lại README, mã nguồn và tài liệu trong repository để tìm ra lỗi, cùng với việc nộp báo cáo lỗi nếu cần thiết.
- Không nên cố gắng bán toàn bộ pull request một lần; thay vào đó, thuê từng phần mà reviewers đồng ý để dễ dàng hơn trong việc chấp thuận.
- Thu thập chứng cứ và nộp báo cáo lỗi cho mã nguồn hiện tại, không nhắc đến pull request để tránh bị phản bác.
- Đóng pull request sau khi nhận được đánh giá tiêu cực là hợp lý và cần thiết, tránh phí thời gian vào những vấn đề không thể giải quyết ngay.
- Tránh yêu cầu sự trợ giúp từ reviewers; điều này có thể làm tổn hại đến uy tín của bạn như một lập trình viên đáng tin cậy.
Programmers, Don’t Use Windows!
- Năm 2020, tác giả cho rằng Windows không phù hợp cho lập trình viên và khẳng định rằng máy tính nên là MacBook.
- Năm năm sau, tác giả vẫn giữ quan điểm rằng lập trình viên chuyên nghiệp nên sử dụng macOS.
- macOS tương thích với POSIX, cho phép sử dụng các công cụ như grep, awk, sed, ssh và make một cách dễ dàng.
- Compiler toolchain trên macOS bao gồm Clang, LLVM, make và git, giúp cài đặt phần mềm dễ dàng qua HomeBrew.
- Các ngôn ngữ lập trình như Node, Python, Ruby, Go và Java hoạt động trơn tru mà không gặp vấn đề về PATH.
- iTerm2 trên macOS mang lại giao diện hiện đại hơn so với terminal trên Windows.
- Docker hoạt động hiệu quả hơn trên macOS so với Windows.
- Hệ thống quản lý khóa SSH tích hợp dễ dàng với keychain trên macOS.
- Git trên macOS hoạt động dự đoán và không gặp rắc rối về CRLF và LF.
- Unix ra đời tại Bell Labs vào những năm 1960, giới thiệu khái niệm “tất cả mọi thứ đều là tệp”.
- Windows được phát triển dựa trên MS-DOS, không thiết kế cho đa người dùng và đa nhiệm.
- macOS được xây dựng từ nền tảng NeXTSTEP, cho phép tính toán theo kiểu Unix với giao diện đồ họa đẹp.
Red vs. Black
- Trại tù ở Liên Xô được chia thành hai loại: đỏ và đen.
- Ở trại đỏ, quyền lực thuộc về tù nhân hợp tác với chính quyền; ở trại đen, quyền lực nằm trong tay tội phạm không tuân thủ quy tắc.
- Nhân viên trong công ty cũng có thể được phân loại thành đỏ và đen.
- Nhân viên đỏ tuân thủ quy tắc, làm hài lòng sếp, và thăng tiến trong sự nghiệp.
- Nhân viên đen hiểu quy tắc nhưng không tôn trọng, họ làm hài lòng khách hàng và không mấy quan tâm tới quy định.
- Tổ chức lớn cần chính sách và quy định để quản lý nhân viên, đặc biệt là những người kém hiệu suất.
- Những quy tắc như mẫu báo cáo hay quy trình tuyển dụng là điều không thể tránh khỏi trong các tổ chức.
- Quan điểm về các quy tắc khác nhau tuỳ theo loại nhân viên: có thể xem đó là khung cho sự nghiệp hay điều xấu không thể tránh.
- Nhân viên đỏ thấy nhân viên đen là những kẻ nổi loạn, trong khi nhân viên đen coi nhân viên đỏ là những kẻ nông cạn và không có năng lực.
- Trong tổ chức lớn, nhân viên đỏ sẽ luôn chiếm ưu thế; nhân viên đen thường là thiểu số sống bên lề.
- Nhân viên đen nên giữ khoảng cách với nhân viên đỏ và tập trung vào việc tạo ra giá trị thực sự cho khách hàng.
- Nhân viên đỏ sẽ tiếp tục leo lên bậc thang công ty, trong khi nhân viên đen phải học cách sống sót bên dưới nó.
The End of Type Annotations
- Type annotations giúp ngôn ngữ lập trình hướng đối tượng tĩnh như Java hoạt động nhanh hơn và an toàn hơn.
- Nếu không có annotations, mọi biến sẽ phải chuyển thành Object, dẫn đến việc thực hiện casts tại runtime làm chậm hiệu suất và tăng lỗi.
- Một số type annotations có thể được suy diễn mà không cần lập trình viên chỉ định, nhưng không phải tất cả.
- Trong Java, sự phức tạp từ generics, method overloading, và reflection cản trở khả năng suy diễn kiểu cho tất cả các biến.
- Annotations cho phép các trình biên dịch tối ưu hóa mã, giúp giảm thiểu các cuộc gọi động không cần thiết.
- Việc không có annotations có thể dẫn đến lỗi runtime, như “Method not found” khi kiểu dữ liệu không chính xác được truyền vào.
- Chương trình viên có thể giúp trình biên dịch suy diễn kiểu bằng cách tránh sử dụng generics và method overloading.
- Việc loại bỏ type annotations có thể làm cho mã ngắn gọn và dễ đọc hơn.
- Ngôn ngữ như Haskell và ML cho thấy rằng việc suy diễn kiểu hoàn toàn có thể đạt được, nhưng vẫn cần annotations cho các trường hợp đặc biệt.
- Rust cho phép suy diễn kiểu cho các biến cục bộ nhưng yêu cầu annotations rõ ràng ở các giao diện công khai.
remove(42) vs. find(42).remove()
- Để xóa một sách trong danh sách theo ID, ta có thể dùng books.removeById(42) hoặc tìm sách bằng books.findById(42) và sau đó gọi b.remove().
- Lựa chọn thứ hai tốt hơn vì nó mang tính hướng đối tượng cao hơn và có nhiều lợi ích thực tiễn.
- Nếu muốn mở rộng hành vi xóa, ta nên tránh sửa đổi các lớp Book hoặc Books hiện có theo nguyên tắc mở-đóng.
- Sử dụng removeById() yêu cầu phải trang trí đối tượng books, nhưng dùng remove() cho phép trang trí sách cụ thể đã được tìm.
- Phương pháp tìm kết hợp với xóa cho phép kiểm soát lỗi linh hoạt hơn, như việc trả về một đối tượng thậm chí là null khi không tìm thấy sách.
- Tách biệt việc tìm kiếm và xóa giúp giữ các trách nhiệm rõ ràng và cho phép sách trở nên không thay đổi.
- Giữ cho ID trong sách không bị lộ ra ngoài giúp giảm thiểu dữ liệu không cần thiết và tối ưu hóa thiết kế OOP.
Write Unit Tests, Don’t Waste Our Money!
- Automated tests giúp lập trình viên viết mã nhanh hơn.
- Unit tests cho biết ngay khi có lỗi xảy ra trong mã.
- Integration tests giúp giảm lo lắng khi phát hành mã lỗi cho người dùng.
- Các thay đổi trong codebase tốn tiền của nhà tuyển dụng.
- Mã được viết và phát hành là điểm quan trọng đối với nhà tuyển dụng.
- Nhà tuyển dụng mong muốn bảo vệ tài sản là codebase.
- Mất mát đầu tư có thể xảy ra nếu mã không hoạt động sau khi sửa chữa.
- Nhà tuyển dụng mong muốn mã đã sửa phải hoạt động ổn định.
- Automated tests cung cấp bảo đảm rằng mã sẽ không bị lỗi trở lại.
- Test coverage đảm bảo rằng mã đã hoạt động trước đó vẫn tiếp tục hoạt động.
- Đóng góp cho codebase mà không có test hỗ trợ là lãng phí tiền bạc của nhà tuyển dụng.
Good Title — Good Bug Report
- Plugin issue-title-ai của @horw trên GitHub cải thiện tiêu đề vấn đề.
- Plugin hỏi ChatGPT, DeepSeek hoặc Claude để nâng cao tiêu đề khi tạo vấn đề.
- Plugin đã được tích hợp vào objectionary/eo và một số kho khác.
- Mục tiêu là tất cả các vấn đề (báo lỗi, đề xuất tính năng, câu hỏi) đều được diễn đạt như một complaint.
- Nhiều người gặp khó khăn trong việc đặt tiêu đề cho báo lỗi đúng cách.
- Phương pháp bug driven development khuyến khích việc mô tả vấn đề rõ ràng giữa mong đợi và thực tế.
- Sự thiếu sót trong việc trình bày vấn đề là nguyên nhân chính gây nhầm lẫn trong theo dõi công việc.
- AI được kỳ vọng sẽ hỗ trợ lập trình viên trong việc diễn đạt vấn đề như một complaint.
Stop Asking and Suggesting — Just Complain
- Bug Driven Development (BDD) là một anti-pattern theo Raja Shankar Kolluru, nhưng Florian Rappl không đồng ý.
- BDD đòi hỏi mọi công việc được hình thành như một khiếu nại từ người dùng.
- BDD bắt đầu từ năm 2002 bởi Mozilla, nơi mọi thay đổi mã nguồn là một “sửa lỗi” cho một “bug” có số duy nhất.
- Trong dự án Mozilla, “bug” đề cập đến bất kỳ yêu cầu sửa đổi nào, không chỉ lỗi mà còn về tính năng và chức năng.
- BDD giúp giảm tiếng ồn trong việc theo dõi vấn đề vì khiếu nại cần lập luận mạnh mẽ và cụ thể.
- Đội ngũ phải chứng minh rằng vấn đề đã được giải quyết, không chỉ bằng văn bản mà còn là một đóng góp cụ thể cho mã nguồn.
- Mỗi khiếu nại tốt xác định một lỗi trong mã nguồn, và giải pháp cho nó là một bản vá sửa chữa.
- Một đội ngũ có kỷ luật tập trung vào báo cáo lỗi sẽ tạo ra năng suất cao nhất.
- Việc áp dụng BDD có thể khó khăn vì cần thay đổi tư duy từ “người phát sinh tiếng ồn” sang “người tìm lỗi.”
- Jeff Atwood nhấn mạnh rằng nên lấy ý kiến của khách hàng thay vì chỉ thực hiện những gì nghĩ là đúng, vì họ thường sẽ chỉ ra chính xác hơn các vấn đề cần khắc phục.
Tech World With Milan Newsletter
The Trends #9: TypeScript just became the most used programming language on GitHub
- 95% of developers use AI, but 30% don’t trust the generated code (DORA 2025 Report).
- Teams are moving faster, leading to more outages and instability (DORA 2025 Report).
- Strong teams improve with AI; dysfunctional ones face more chaos.
- TypeScript is now the most used language on GitHub and is expected to grow by 1 million contributors by 2025.
- India has surpassed the US in open-source contributions.
- 89% of developers use AI daily, but only 24% design APIs for AI, highlighting a gap (Postman 2025 State of the API Report).
- 70% of developers are aware of MCP, but only 10% utilize it.
- AI is transitioning from software to robotics and real-world systems, supported by Google and NVIDIA.
- Static roles in SaaS products lead to role explosion, complicating engineering processes.
- Dynamic, tenant-aware authorization is suggested as a solution to role explosion.
- DORA identifies seven team archetypes, emphasizing that performance under pressure matters more than tools alone.
- DORA’s AI Capabilities Model highlights foundational practices for effective AI integration.
The Pragmatic Engineer
The Pulse #156: Beware of global configuration changes in large systems
- Khả năng lập kế hoạch không đủ tại AWS ảnh hưởng đến hiệu suất (Nguồn: Pulse).
- Nhóm kỹ thuật tại Oxide sử dụng LLMs để tối ưu hóa quy trình làm việc (Nguồn: Pulse).
- Linux hiện hỗ trợ Rust trong kernel, mở rộng khả năng lập trình (Nguồn: Pulse).
- Sự cố mới nhất của Cloudflare cho thấy nguy cơ từ việc thay đổi cấu hình toàn cầu (Nguồn: Pulse).
- Sự cố Cloudflare lần này tương tự như hai sự cố lớn trước đó do thay đổi cấu hình toàn cầu tức thì (Nguồn: Pulse).
Martin Fowler
Fragments Dec 11
- AI viết không phải là văn chương hấp dẫn mà là văn bản ma quái, không có chất lượng thực sự.
- Emily Bache mô tả đặc điểm của các bài kiểm tra tốt trong bộ “Test Desiderata”.
- Bốn “macro desiderata” của Bache là: dự đoán thành công khi sản xuất, phản hồi nhanh, hỗ trợ thay đổi thiết kế mã, và chi phí sở hữu thấp.
- Daphne Keller giải thích các khoản phạt của EU đối với X không liên quan đến tự do ngôn luận.
- X phải đối mặt với ba cáo buộc liên quan đến xác minh và minh bạch, không phải nội dung hay lời nói của người dùng.
- Cory Doctorow định nghĩa “reverse centaur” trong lý thuyết tự động hóa, nơi con người phục vụ máy móc.
- Người lái xe giao hàng Amazon là ví dụ về “reverse centaur”, nơi máy móc điều khiển con người làm việc với tốc độ siêu nhân.
The Developing Dev
Instagram Senior Staff Eng (IC7) On 3 Promos Through Redefining Expectations (Career Story)
- Marius Schulz là Senior Staff Engineer (IC7) tại Instagram, đã tái định hình kỳ vọng ba lần để đạt được thăng tiến (Nguồn: cuộc phỏng vấn).
- Marius đam mê phát triển web từ khi còn nhỏ; bắt đầu học HTML từ lớp 9 và nhận thấy sự yêu thích với CSS (Nguồn: cuộc phỏng vấn).
- Mặc dù đã vượt qua kỳ vọng trong công việc, Marius không nhận được thăng tiến ở IC5 do một điểm kỳ vọng chưa đạt dành cho sự hợp tác liên chức năng (Nguồn: cuộc phỏng vấn).
- Thời điểm không có thăng tiến yêu cầu tính cách và hành vi phù hợp với cấp bậc tiếp theo, không chỉ là thành tích công việc (Nguồn: cuộc phỏng vấn).
- COVID-19 ảnh hưởng đến việc thăng tiến của Marius; công ty ngừng thăng tiến trong giai đoạn đầu của đại dịch (Nguồn: cuộc phỏng vấn).
Robinhood SWE Turned $1B+ Founder on Non-Linear Careers, Being Jaded About Promos, Startup Learnings
- Jayendra Jog rời bỏ Robinhood để thành lập Sei Labs, gọi vốn thành công 35 triệu USD.
- Trước khi ra đi, anh cảm thấy chán nản với sự nghiệp kỹ sư phần mềm, mặc dù vẫn thăng tiến tại Robinhood.
- Jay có được internship tại Facebook thông qua một sự kiện học tập cùng bạn bè, trong đó có một bài giải chính xác cho phỏng vấn.
- Sau internship tại Facebook, anh cảm thấy trải nghiệm này không thú vị và mong muốn làm việc trong môi trường nhỏ hơn.
- Thời gian làm việc tại Pinterest mang lại trải nghiệm tích cực hơn, với văn hóa tốt hơn và kết bạn sâu sắc hơn.
- Anh rời Robinhood với những bài học quan trọng từ quá trình gọi vốn $35 triệu và xây dựng công ty khởi nghiệp.
What To Buy That Improves Quality of Life
- Ryan phỏng vấn nhiều kỹ sư từ OpenAI, Google, Uber và Meta để tìm hiểu về sự nghiệp của họ.
- Danh sách các sản phẩm dưới đây đã cải thiện chất lượng cuộc sống của Ryan và được anh giới thiệu dựa trên trải nghiệm cá nhân.
- Tai nghe chống ồn AirPods Pro 3 (~$250) giúp tập trung tốt hơn.
- Miếng đệm tai cao su tùy chỉnh cho giấc ngủ (~$200) được khuyên dùng để chặn tiếng ồn hiệu quả.
- Khẩu trang ngủ Manta (~$31) giúp giảm ánh sáng, hỗ trợ giấc ngủ sâu hơn.
- Bộ ga trải giường chất lượng cao Garnet Hill (~$200) mang lại cảm giác thoải mái khi ngủ.
- Nệm TempurPedic (~$2,000–4,000) được khuyên dùng để cải thiện chất lượng giấc ngủ.
- Bàn phím công thái học Kinesis Freestyle2 ($144) giúp làm việc thoải mái hơn.
- Ghế văn phòng cao cấp Herman Miller Aeron (~$1,400) hỗ trợ tư thế tốt khi ngồi.
- Một số sản phẩm khác như bàn đứng Jarvis ($800), bàn chải điện Philips Sonicare ($119), và máy hút bụi Dyson V11 ($399) cũng nằm trong danh sách.
- Danh sách được xây dựng từ các phản hồi trên Twitter và kinh nghiệm cá nhân của Ryan.
CloudKitchens CTO on Intelligence, Regrets, Steve Jobs and Travis Kalanick Stories
- Brian Attwell trở thành Senior Staff tại Uber khi 25 tuổi.
- Anh gia nhập CloudKitchens và nhanh chóng trở thành CTO khi đội ngũ của anh tăng gấp đôi mỗi 6 tháng.
- Attwell thấy rằng việc làm việc chăm chỉ có mối quan hệ tỷ lệ thuận với sự phát triển sự nghiệp của kỹ sư.
- Anh nhấn mạnh tầm quan trọng của việc chăm sóc đội ngũ và tinh thần làm việc nhóm.
- Attwell cho rằng trải nghiệm làm việc tại Uber, với môi trường kỹ thuật chất lượng cao, giúp anh phát triển nhanh chóng.
- Anh có thời điểm từng nghĩ về sự nghiệp khi phải đối mặt với cái chết, cảm thấy chưa hoàn thành nhiều điều.
- Đối với Attwell, ít nhất một số áp lực công việc có thể là tích cực nếu được quản lý đúng cách.
- Anh tin rằng mọi người cần phát triển từ những thử thách và làm việc chăm chỉ ngay từ đầu sự nghiệp.
What Would You Automate if It Was Free?
- Bạn nên tự động hóa một nhiệm vụ nếu lợi ích cao hơn chi phí tự động hóa nhiệm vụ đó.
- Năm ngoái, công nghệ đã thay đổi cách tiếp cận tự động hóa như các mô hình tạo mã và công cụ agentic (như Codex và Claude Code).
- Tự động hóa công việc hiện nay gần như miễn phí và dễ dàng tiếp cận từ terminal.
- Ví dụ về tự động hóa bao gồm xử lý bản ghi âm podcast, khôi phục video từ các tệp bị hỏng và chuyển đổi ghi chú sang Markdown.
- Việc viết các script tự động giúp tiết kiệm thời gian và dễ dàng hơn so với làm thủ công.
- Các công cụ LLM không hoàn hảo nhưng rất hiệu quả cho các nhiệm vụ nhỏ, tập trung.
- Tự động hóa giúp thực hiện những việc từng không đáng để làm trước đây.
- Ryan Peterman chia sẻ ý định viết thêm nội dung mà không có lịch trình cố định.
Uber Distinguished Eng On Unfair Promos, Influence, Engineering Regrets (Career Story)
- Joakim Recht được thăng chức từ Senior lên Distinguished Engineer tại Uber.
- Dự án chính giúp anh thăng chức là xây dựng một data store mới gọi là Schemaless.
- Schemaless được phát triển dựa trên sharded MySQL để thay thế hệ thống PostgreSQL đơn lẻ.
- Công việc của Joakim bao gồm quản lý và vận hành các MySQL shards.
- Trong quá trình phát triển, anh đề xuất sử dụng Docker để chạy các database khác nhau trên một host duy nhất.
- Ý tưởng này giúp cải thiện sử dụng tài nguyên và quản lý hệ thống hiệu quả hơn.
- Joakim xây dựng một lớp điều phối và giám sát trên nền tảng GitHub truyền thống.
- Anh đã phát triển một nền tảng có thể quản lý tất cả các công nghệ cơ sở dữ liệu trong công ty.
- Việc triển khai gặp nhiều khó khăn do sự kháng cự tổ chức từ các đội ngũ đã có công cụ riêng.
- Dự án mất thời gian để thuyết phục và triển khai do các công nghệ không thích ứng với đám mây hoặc container.
- Các công nghệ như HDFS và Kafka gặp khó khăn trong việc di chuyển dữ liệu động.
- Sự thách thức trong việc mã hóa tên host và số pod đã làm chậm tiến độ dự án.
Shopify Distinguished Eng (L10) on Principal+ Engineering, Career Story, Regrets | Ilya Grigorik
- Ilya Grigorik là một Distinguished Engineer tại Shopify.
- Ông từng có kinh nghiệm tại Google sau khi khởi nghiệp thành công với công ty PostRank bị Google mua lại.
- Đại học Waterloo có chương trình co-op xuất sắc, cho phép sinh viên vừa học vừa làm, cải thiện kỹ năng thực tiễn.
- Chương trình co-op cung cấp cho sinh viên nhiều cơ hội thử nghiệm nghề nghiệp mà không bị ràng buộc bởi tiêu chuẩn hồ sơ thông thường.
- Sinh viên có thể trải nghiệm nhiều công ty lớn và nhỏ, giúp họ tìm ra môi trường làm việc phù hợp nhất.
- Kinh nghiệm thực tế cho phép sinh viên áp dụng lý thuyết vào thực tiễn, nâng cao kỹ năng kỹ thuật.
- Ilya khuyến khích các trường đại học khác học hỏi từ mô hình của Waterloo để thúc đẩy thành công cho sinh viên.
Mozilla Firefox CTO on Browser War Stories and the Path to Distinguished Engineer
- Bobby Holley là CTO của Mozilla Firefox, bắt đầu sự nghiệp từ vị trí thực tập sinh.
- Mozilla hoạt động theo mô hình mở, khuyến khích sự sáng tạo và tự tìm tòi của nhân viên.
- Quá trình làm việc tại Mozilla không có nhiều hỗ trợ; nhân viên cần tự mày mò để tải và xây dựng mã nguồn.
- Quản lý tại Mozilla thúc đẩy một văn hóa nuôi dưỡng và trao quyền cho nhân viên.
- Firefox từng có khoảng 10 triệu dòng mã được kế thừa từ Netscape, tạo ra nhiều thách thức cho các kỹ sư.
- Boris Ky là một trong những kỹ sư xuất sắc đầu tiên của Mozilla, có ảnh hưởng lớn đến Holley.
- Holley trao đổi trên IRC với các đồng nghiệp, cho thấy cách làm việc từ xa thời kỳ đầu.
- Ngành công nghiệp duy trì một phong trào phát triển kỹ thuật mở và hỗ trợ nhau giữa các kỹ sư.
Mozilla Firefox CTO on Browser War Stories and the Path to Distinguished Engineer
- Bobby Holley bắt đầu sự nghiệp tại Mozilla với vai trò thực tập sinh.
- Mozilla có văn hóa làm việc mở, không có nhiều hướng dẫn và hỗ trợ.
- Holley so sánh công việc tại Mozilla với thực tập ở Nvidia, nơi có cấu trúc rõ ràng hơn.
- Anh phải tự tìm hiểu cách tải mã nguồn và làm việc trên Bugzilla.
- Mozilla thu hút các cá nhân sáng tạo và tự lực, gắn bó với dự án từ sự đam mê.
- Những nhân vật ấn tượng như Boris Ky đóng vai trò quan trọng trong cộng đồng phát triển.
- Code từ Netscape có hàng triệu dòng, tạo ra thách thức lớn cho các kỹ sư.
Intern to Microsoft Distinguished Engineer in 11 Promotions (Career Story)
- David Fowler trải qua 11 lần thăng chức tại Microsoft, từ intern đến Distinguished Engineer.
- Microsoft có hệ thống cấp bậc độc đáo, bắt đầu từ cấp 59 đến 70.
- Khi gia nhập, sinh viên thường bắt đầu ở cấp 59 hoặc 60, phụ thuộc vào kinh nghiệm thực tập.
- Hệ thống cấp bậc của Microsoft có nhiều band, với hai cấp trong mỗi title.
- David bắt đầu tại Florida Tech và chuyển sang ngành khoa học máy tính sau khi nhận ra niềm đam mê lập trình.
- David phát triển game cùng bạn bè trong thời gian học và giới thiệu sản phẩm tại sự kiện nghề nghiệp.
- Các dự án quan trọng đã giúp David có được nhiều cơ hội nghề nghiệp, bao gồm cả Microsoft.
Stripe CTO on What Grew His Career, Hiring Without Leetcode, Coding as a Leader (Career Story)
- David Singleton là CTO tại Stripe trong 7 năm trước khi rời đi để thành lập /dev/agents.
- Trước khi vào Stripe, ông từng làm từ kỹ sư junior đến VP tại Google.
- Stripe không yêu cầu Leetcode trong quy trình tuyển dụng quy mô lớn (01:44:15).
- Tất cả các lãnh đạo kỹ thuật nên viết code để cải thiện khả năng lãnh đạo.
- Ông rời Google để theo đuổi cơ hội tại Stripe, nơi ông tin rằng có thể tạo ra ảnh hưởng lớn hơn.
- Để quản lý hiệu quả, cần hiểu sự khác biệt giữa EM (Engineering Manager) và IC (Individual Contributor) (30:36).
- Cách giao tiếp hiệu quả là một yếu tố quan trọng trong lãnh đạo kỹ thuật (39:36).
- Để xây dựng văn hóa trong tổ chức, cần có cách tiếp cận rõ ràng và nhất quán (01:25:55).
- Ông duy trì sự phát triển cá nhân và nghề nghiệp thông qua việc đọc sách và hình thành thói quen tốt (02:04:55).
Behind the Scenes of this Podcast So Far
- Peterman Pod đạt 25.000 người đăng ký.
- Ryan tạo podcast để cải thiện kỹ năng nói và chia sẻ câu chuyện nghề nghiệp của những người thành công.
- Podcast cung cấp cơ hội thực hành nói chuyện và tạo nội dung chất lượng.
- Ryan bắt đầu với mục tiêu ra một tập mỗi tháng do bận rộn với công việc.
- Tập đầu tiên thành công nhất là với Philip Sue, kỹ sư nổi tiếng tại Meta.
- Năng lượng trong các cuộc trò chuyện rất khác biệt, gây cảm hứng và hứng thú cho Ryan.
- Podcast nhằm chia sẻ những câu chuyện nghề nghiệp từ những người thành công trong ngành.
Meta Senior Manager (M2) on Manager Career Growth, PIPs, Amazon vs Meta | Stefan Mai
- Stefan Mai có kinh nghiệm làm Senior Manager (M2) tại Meta và Amazon.
- Anh đã thành lập công ty chuẩn bị phỏng vấn, Hello Interview, sau khi rời các công ty công nghệ lớn.
- Anh chia sẻ về quá trình thăng tiến từ kỹ sư sang quản lý tại Amazon.
- Anh so sánh văn hóa làm việc giữa Amazon và Meta.
- Amazon được biết đến với yêu cầu cao về hiệu suất và áp lực phần lớn lên các kỹ sư.
- Anh đề cập đến quá trình quản lý các kỹ sư có hiệu suất thấp và cách thức hoạt động của PIP.
- Anh nhấn mạnh sự phát triển nghề nghiệp giữa kỹ sư và quản lý, cũng như tình hình tuyển dụng tại OpenAI và Anthropic.
- Anh đưa ra một số lời khuyên cho phiên bản trẻ hơn của mình về sự nghiệp và quản lý.
Instagram Staff (IC6) Promo Despite 10 Team Switches in 9 Years (Career Story)
- Sash Zats là kỹ sư Staff (IC6) tại Meta, đã chuyển nhóm 10 lần trong 9 năm.
- Anh tham gia vào nhiều dự án thú vị mà không quan tâm quá nhiều đến việc tăng trưởng sự nghiệp.
- Đội đầu tiên của Sash làm việc trên iOS cho Newsfeed Delight, một dự án không có chỉ số đo lường cụ thể (00:49).
- Đội Newsfeed Delight tồn tại khoảng nửa năm với các dự án vui vẻ, như các hiệu ứng và hoạt ảnh (00:49).
- Các dự án thiếu chỉ số hiệu suất cụ thể thường khó tồn tại trong môi trường làm việc hiện tại (02:40).
- Sash tối ưu cho “vui vẻ” trong lựa chọn đội ngũ hơn là tối ưu cho ảnh hưởng (04:00).
- Anh có sự tích lũy kỹ năng và kết nối từ các cơ hội trong suốt sự nghiệp (04:00).
- Sash đã làm việc trong các đội phát triển AI và blockchain, cùng với sự hợp tác với kỹ sư xuất sắc (28:53, 15:03).
Amazon VP On Promotions, Getting Fired Twice, Working With Bezos | Ethan Evans
- Ethan Evans từng bị sa thải hai lần do kỹ năng mềm kém nhưng giờ là Phó Giám đốc tại Amazon, dẫn dắt một đội ngũ hơn 800 kỹ sư.
- Trong cuộc phỏng vấn, anh chia sẻ về thực tế của việc thăng chức VP và quy trình đánh giá hiệu suất.
- Anh từng viết thư cho Apple để xin việc nhưng cuối cùng lại học tại Carnegie Mellon và làm việc tại nhiều startup khác nhau.
- Các công ty mà anh tham gia đều thuộc lĩnh vực mạng tốc độ cao và phần lớn đã thất bại trước khi xảy ra sự kiện .com.
- Ethan đã gia nhập Amazon với nhiệm vụ xây dựng Prime Video dựa trên kinh nghiệm đã có trong lĩnh vực âm nhạc trực tuyến.
- Anh học được nhiều bài học quý giá từ những lần bị sa thải, đặc biệt về tính cách của mình tại nơi làm việc.
- Anh thảo luận về việc ai cũng có thể bị sa thải dưới quyền quản lý tại Amazon, cho thấy quyền lực lớn mà các quản lý nắm giữ.
Tech Lead for Meta’s Most-Used Programming Language (Promotion Story)
- Dwayne Reeves là Senior Staff Engineer (IC7) tại Meta và là Tech Lead cho ngôn ngữ lập trình Hack.
- Anh bắt đầu làm việc tại Facebook ngay sau khi tốt nghiệp MIT.
- Reeves từng cân nhắc nhiều lựa chọn khi ra trường, nhưng cuối cùng chọn Facebook vì cảm thấy sự quan tâm từ công ty và các ưu đãi tốt hơn so với Google và Amazon.
- Anh gặp gỡ CTO của Facebook tại MIT, điều này tạo ấn tượng mạnh về văn hóa công ty.
- Reeves đã thăng tiến từ vị trí Senior (IC5) lên Staff (IC6) và cuối cùng là Senior Staff (IC7).
- Anh chia sẻ về giá trị của type systems và sự chuyển đổi thành TLM.
- Trong sự nghiệp, anh vượt qua cảm giác không xứng đáng khi làm việc cùng các kỹ sư xuất sắc.
GoogleX Chief Scientist On Imposter Syndrome, Career Growth, Project Taste | Carey Nachenberg
- Carey Nachenberg là Chief Scientist tại Google X và Fellow tại Symantec, đồng thời là giáo sư tại UCLA.
- Bắt đầu sự nghiệp của mình tại Peter Norton Group vào năm 1992, từ thực tập sinh lên đến vị trí cao nhất tại Symantec vào năm 2016.
- Sự nghiệp tập trung vào lĩnh vực cybersecurity bắt đầu sau năm thứ ba thực tập tại Symantec.
- Cấu trúc thang tiến thân tại Symantec tương tự như Google, với các cấp độ từ kỹ sư phần mềm junior đến Fellow.
- Khi chuyển sang Google, Carey được đánh giá thấp hơn so với cấp độ tại Symantec do chưa quen với môi trường mới.
- Quy trình tuyển dụng tại Google không yêu cầu đơn xin, mà Carey được mời tham gia dự án bởi một người quen cũ từ Symantec.
- Ông chia sẻ về ảnh hưởng của imposter syndrome lên sự nghiệp của mình và tầm quan trọng của kinh nghiệm hơn là chỉ số thông minh.
Meta Senior Staff Eng (IC7) On Zuck Stories, Rapid Career Growth, Code Machine Archetype
- Michael Novati được thăng chức lên Senior Staff (IC7) tại Facebook khi 27 tuổi.
- Anh gia nhập Facebook trước khi công ty IPO, do đó có nhiều câu chuyện thú vị về thời gian đó.
- Anh đứng số 1 về số lượng code commit tại Meta.
- Michael sẵn sàng từ chức nếu code của anh gây ra sự cố trong production.
- Anh chia sẻ trải nghiệm làm việc với Mark Zuckerberg trước IPO.
- Những điều chung giữa các engineers IC7+ là khả năng làm việc độc lập và hiệu suất cao.
- Anh thảo luận về ảnh hưởng của LLMs đến quy trình viết code (chưa có nguồn cụ thể).
- Michael bắt đầu làm intern tại Facebook vào tháng 5 năm 2009, khi công ty có khoảng 220 kỹ sư.
- Anh cảm thấy rất phù hợp với văn hóa của Meta, cả về mặt kỹ thuật lẫn xã hội.
- Trước khi gia nhập Meta, Michael dự định theo học PhD tại Đại học Washington về HCI.
- Facebook lúc đó mang lại cảm giác hứng khởi và động lực cho công việc của Michael.
26 Year Old Meta Staff Eng (IC6) On Promotions, Redefining Expectations, Secret Equity Bonuses
- Simon Kindström được thăng chức từ New Grad (IC3) lên Staff (IC6) trong 3 năm.
- Anh nhận được đánh giá “Redefines Expectations” hai lần và thưởng bí mật (discretionary equity).
- Anh không từ bỏ các thí nghiệm không thành công mà tiếp tục điều chỉnh cho đến khi có kết quả tốt hơn.
- Việc viết tốt có vai trò quan trọng trong sự nghiệp của Simon, giúp anh làm nổi bật các phần quan trọng trong công việc.
- Simon tham gia đội ngũ vì tác động kinh doanh và sự nghiệp mà công việc của anh mang lại, dẫn đến nhiều thành công về doanh thu.
- Quản lý của Simon đóng vai trò quan trọng, giúp anh học hỏi và phát triển.
- Anh gặp khó khăn trong việc ủy quyền công việc và nhận ra tầm quan trọng của việc chịu trách nhiệm với kết quả.
- Sau khi thử sức quản lý, Simon quyết định trở lại vai trò IC vì mất dần kết nối với công việc kỹ thuật mà anh yêu thích.
On Writing Well At Work
- Tôi đã phỏng vấn các Senior IC từ OpenAI, Meta, Amazon và cảm thấy rất thú vị.
- Các tập podcast đầu tiên đã nhận được nhiều sự chú ý với 209k lượt xem cho Philip Su (OpenAI, Meta) và 173k lượt xem cho Steve Huynh (Amazon).
- Tôi dự định chia sẻ những bài học quan trọng từ các Senior Staff+ engineers trong bản tin này.
- Một trong những nhận thức quan trọng là cần phải tự phê bình để viết tốt.
- Viết tốt cần phải đọc tốt; hiểu rõ cái gọi là “viết tốt” dựa trên độc giả mục tiêu.
- Cần tìm tài liệu và viết lách chất lượng cao từ những kỹ sư cấp cao trong tổ chức.
- Nên thảo luận viết lách với những người viết tốt để cải thiện kỹ năng.
- Nhận phản hồi từ những người có kinh nghiệm để điều chỉnh phong cách viết.
- Tôi sẽ tiếp tục cập nhật bản tin với nội dung có trọng điểm, tránh trở thành kênh thông tin ồn ào.
- Podcast đã được cải tiến về thương hiệu nhờ sự hỗ trợ của một người bạn.
Hacker News: Best
🔥 UK House of Lords attempting to ban use of VPNs by anyone under 16
- Luật cấm cung cấp dịch vụ VPN cho trẻ em tại Vương quốc Anh đang được xem xét.
- Các nhà cung cấp dịch vụ VPN phải đảm bảo tuân thủ quy định và giám sát việc cấm VPN cho trẻ em.
- VPN là công nghệ có thể được triển khai bởi bất kỳ ai; việc kiểm soát quy định là không khả thi.
- Luật này có thể ảnh hưởng đến các dự án như The Tor Project.
🔥 Rivian Unveils Custom Silicon, R2 Lidar Roadmap, and Universal Hands Free
- Rivian tổ chức ngày Autonomy và AI đầu tiên để giới thiệu vị thế dẫn đầu trong ngành công nghiệp tự động hóa.
- Rivian giới thiệu RAP1, bộ xử lý tự chế đầu tiên với công nghệ 5nm, có khả năng xử lý 1600 sparse INT8 TOPS và 5 tỷ pixel mỗi giây.
- ACM3, máy tính tự động hóa, sẽ ra mắt trên R2 vào cuối năm 2026, nhưng sẽ không có LiDAR ban đầu; LiDAR sẽ được thêm vào sau.
- Mô hình vượt trội của Rivian được hỗ trợ bởi vòng dữ liệu tự cải tiến, sử dụng học tăng cường để tối ưu hóa hành vi lái xe.
- Cập nhật phần mềm lớn sẽ giới thiệu tính năng Universal Hands Free cho Gen 2 R1T và R1S, áp dụng trên hơn 3,5 triệu dặm đường ở Mỹ và Canada.
- Rivian công bố Autonomy+, một tầng tính năng tự động hóa với giá 2,500 USD một lần hoặc 49,99 USD mỗi tháng, ra mắt vào đầu năm 2026.
- Rivian Unified Intelligence sẽ kết nối toàn bộ nền tảng với các tính năng dịch vụ và chẩn đoán thông minh.
- Rivian Assistant, trải nghiệm giọng nói thế hệ mới, sẽ ra mắt vào đầu năm 2026, hoạt động tốt hơn với sự hỗ trợ của máy tính thông tin giải trí mạnh mẽ.
- AI sẽ được tích hợp vào quy trình bảo trì, giúp kỹ thuật viên xác định vấn đề nhanh chóng và chính xác hơn.
💬 GPT-5.2
🔥 GPT-5.2
💬 Litestream VFS
- Ben Johnson phát triển Litestream tại Fly.io, một hệ thống sao lưu/phục hồi cho SQLite (miễn phí, mã nguồn mở).
- Litestream sao lưu cơ sở dữ liệu SQLite vào S3 bucket.
- Người dùng có thể chạy SQLite từ cơ sở dữ liệu từ xa với Litestream mà không cần tải toàn bộ cơ sở dữ liệu (SQLite version 3.50.4).
- Tính năng Time Travel của Litestream cho phép truy vấn dữ liệu tại một thời điểm cụ thể trong quá khứ.
- Cú pháp PRAGMA litestream_time cho phép xác định thời điểm truy vấn.
- LTX là định dạng tệp dữ liệu của Litestream, giúp gửi các tập trang cơ sở dữ liệu có thứ tự.
- LTX cho phép “compaction”, giúp giảm số lượng trang thừa khi phục hồi cơ sở dữ liệu.
- Litestream sử dụng các snapshot hàng ngày và các sets thay đổi theo các khoảng thời gian ngày càng nhỏ, tăng tốc độ phục hồi dữ liệu.
🔥 Days since last GitHub incident
🔥 Things I want to say to my boss
- Người viết đang trong thời gian nghỉ giữa hai công việc và cảm thấy tâm trạng lạ lùng (trong khoảng thời gian 6 tháng vừa qua).
- Lãnh đạo không thể giả vờ quan tâm; sự chân thành là cần thiết để xây dựng lòng tin (hành động phải đồng nhất với lời nói).
- Sự im lặng và thiếu nhất quán phá vỡ văn hóa tổ chức; việc giao tiếp không nên chỉ là từ một chiều.
- Sự kiệt sức của nhân viên không phải là dấu hiệu của cam kết, mà là dấu hiệu của thất bại trong tổ chức.
- Lãnh đạo tốt biểu hiện qua hành động hàng ngày, không phải qua bài phát biểu hay bài đăng trên LinkedIn.
- Cần chú ý đến sự thay đổi năng lượng của nhân viên và chủ động kiểm tra tình trạng của họ.
- Lãnh đạo phải tạo ra môi trường an toàn để mọi người có thể thoải mái chia sẻ ý kiến, không phải chỉ vì muốn tìm kiếm sự dũng cảm.
- Sự quan tâm không phải là điểm yếu; nó là nền tảng cho sự thành công và phục hồi.
- Lãnh đạo phải chứng tỏ rằng con người quan trọng bằng hành động của mình, không chỉ vì truyền thông tốt, mà vì đó là nhiệm vụ của họ.
🔥 iPhone Typos? It’s Not Just You – The iOS Keyboard Is Broken [video]
💬 Disney making $1B investment in OpenAI, will allow characters on Sora AI
- Disney công bố sẽ đầu tư 1 tỷ USD vào OpenAI và cho phép người dùng tạo video với các nhân vật bản quyền trên ứng dụng Sora.
- Sora, ra mắt vào tháng 9, cho phép người dùng tạo video ngắn bằng cách nhập prompt.
- Theo thỏa thuận cấp phép ba năm, người dùng Sora sẽ có thể tạo nội dung với hơn 200 nhân vật từ Disney, Marvel, Pixar và Star Wars bắt đầu từ năm tới.
- Disney CEO Bob Iger cho biết sự phát triển nhanh chóng của AI đánh dấu một khoảnh khắc quan trọng cho ngành, và thỏa thuận này sẽ mở rộng câu chuyện của họ thông qua AI sinh ra.
- Disney sẽ nhận quyền chọn mua cổ phần bổ sung và trở thành khách hàng lớn của OpenAI.
- Disney triển khai ChatGPT cho nhân viên và sẽ hợp tác để phát triển các công cụ và trải nghiệm mới.
- Sora đã nhanh chóng leo lên vị trí hàng đầu trên App Store của Apple nhưng cũng gặp phải tranh cãi về vi phạm bản quyền.
- Hiệp hội Điện ảnh đã yêu cầu OpenAI thực hiện các biện pháp khẩn cấp để ngăn chặn vi phạm bản quyền trên Sora.
- Disney đã gửi thư ngừng hoạt động đến Google về việc vi phạm quyền sở hữu trí tuệ.
- Các công ty cũng xác nhận cam kết sử dụng AI để bảo vệ an toàn người dùng và quyền lợi của các nhà sáng tạo.
- Thỏa thuận không bao gồm bất kỳ hình ảnh hoặc giọng nói của nhân vật nào từ Disney.
- Những lựa chọn video Sora được chọn lọc sẽ có mặt trên nền tảng phát trực tuyến Disney+.
🔥 Craft software that makes people feel something
- Tôi đã tạo ra Boo là một code editor dành riêng cho bản thân, không có ý định biến nó thành công cụ phổ biến.
- Boo hiện hoạt động chức năng và có tính năng điều hướng bàn phím con người sáng tạo, thay thế hệ thống LSP.
- Tôi không mở mã nguồn Boo vì phần mềm chưa truyền cảm hứng cho tôi.
- Làm việc trên Boo và Rio Terminal khiến tôi cảm thấy tự động, ảnh hưởng đến niềm vui sáng tạo.
- Tôi thích xây dựng Lego và cảm thấy việc lập trình trở nên lặp đi lặp lại làm giảm khả năng tạo ra phần mềm ấn tượng.
- Boo không phải là một doanh nghiệp; tôi không cần kiếm tiền từ nó và không có thời hạn.
- Tôi đã tạm dừng Boo để làm việc trên một ngôn ngữ lập trình mới và dự định sẽ viết lại Boo bằng ngôn ngữ đó.
Open Source Projects - Latest Discoveries
Free, local, open-source AI app builder, v0 / lovable / Bolt alternative
Recover plaintext from pixelized screenshots with this Open-source tool
Paper to Slide/Presentation converter in One Click
Mini cli search engine for your docs, knowledge bases, meeting notes, whatever.
Deploy Low-Code/No-Code Voice AI Agents in Under a Week
The most useful AI tools I’ve used.
[Boost]
Building a Searchable PowerShell Cmdlet Reference with CSV
Why I Ditched toString() and Moved to a Pre-Bundled Bridge with Event-Driven CDP Injection
How Verdex Sees Inside Iframes: Event-Driven Multi-Frame Support
Why Your API’s Error Messages Fail When Called by an LLM (And How to Fix Them)
✅ *Power BI DAX Basics
How to Set Up and Use DiskCleanKit Widgets on Your Mac
AI-Powered Telecom BSS: What Developers Are Actually Seeing in the Wild
Why Did You Choose That Database For Your Application?
Intersection-Aware Asset Placement using Computational Geometry and ML