
Observations from Thoughtworks' Future of Software Engineering retreat on how agentic AI development changes software design priorities. Key debates covered whether low-level code quality still matters (conclusion: yes, because LLMs reinforce bad code, context windows are limited, and humans must debug what agents can't), whether specifications should replace code as the source of truth, and the role of domain models and bounded contexts in agentic workflows. The author argues for maintaining high test coverage, sound domain models, and code quality as a hedge against AI's risks and potential reversibility to human engineering. Rigour doesn't disappear with agents — it migrates upstream into specifications and test suites.
Nguồn: https://verraes.net/2026/07/software-design-in-the-agentic-age. 8sync News chỉ tóm tắt và dẫn link; bản quyền nội dung thuộc tác giả và nguồn gốc.
Bài viết hướng dẫn triển khai CQRS trong Node.js/TypeScript theo cách đơn giản, không cần cơ sở hạ tầng phức tạp như event sourcing hay message queues. CQRS ở đây chỉ là cách tổ chức code tách biệt logic ghi (commands) và đọc (queries), với ví dụ TypeScript cụ thể về rich write side và lean read side. Tác giả khuyên nên bắt đầu từ phân tách code đơn giản rồi nâng cấp dần khi cần thiết.
Lập trình viên nên đọc bài này để hiểu cách áp dụng CQRS một cách đơn giản và hiệu quả trong Node.js/TypeScript mà không cần phụ thuộc vào kiến trúc phức tạp, từ đó tối ưu hóa quy trình phát triển và bảo trì ứng dụng của mình.
BlueJ 6.0 tích hợp hỗ trợ Kotlin, cung cấp cú pháp ngắn gọn, an toàn null và phân biệt val/var nhằm đơn giản hóa lập trình OOP cho sinh viên. JetBrains cũng cung cấp tài liệu hướng dẫn và giáo án dành cho giảng viên.
Lập trình viên học lập trình cơ sở hoặc chuyển đổi sang Kotlin từ Java sẽ tìm hiểu cách BlueJ 6.0 tích hợp Kotlin giúp giảm thiểu công việc lặp lại và làm sáng tỏ cách ngôn ngữ này tối ưu hóa OOP với tính năng null safety và syntax ngắn gọn.
Một lập trình viên chia sẻ kinh nghiệm khi ranh giới giữa hai module Catalog và Collaboration trong kiến trúc modular monolith dần trở nên không thể đảo ngược do yêu cầu kinh doanh buộc chuyển từ giao tiếp bất đồng bộ sang đồng bộ, khiến các module thực tế hoạt động như một khối thống nhất dù ranh giới vẫn tồn tại trên giấy. Bài viết khuyên nên coi ranh giới module là tạm thời, bắt đầu với ít module lớn hơn và chỉ tách nhỏ khi rõ ràng, đồng thời ưu tiên yêu cầu nhất quán hơn là trực giác về domain.
Lập trình viên nên đọc bài này để tránh rơi vào sai lầm khi cố gắng giữ các module độc lập trong một monolith mà thực tế đã bị "sáp nhập" nhờ yêu cầu tính nhất quán đồng bộ, khiến kiến trúc trở nên khó duy trì và mở rộng sau này.
Nguyên tắc DRY trong C# nhấn mạnh loại bỏ sự trùng lặp về kiến thức, không chỉ là mã code trông giống nhau. Bài viết chỉ ra các vi phạm DRY thực tế như quy tắc nghiệp vụ trùng lặp, magic strings hay giá trị cấu hình cứng nhắc, đồng thời cảnh báo về nguy cơ trừu tượng hóa sớm không đúng lúc, dẫn đến coupling sai và điều kiện flag-driven.
Lập trình viên nên đọc bài này để tránh rơi vào nhầm lẫn giữa lặp lại logic và tối ưu hóa thiết kế, từ đó xây dựng mã sạch, dễ bảo trì và phù hợp với nguyên tắc SRP mà không phải là "làm đẹp" thay vì thực sự cải thiện.
Bài viết hướng dẫn triển khai sáu mẫu thiết kế cổ điển (Factory, Builder, Adapter, Decorator, Proxy, Facade) theo phong cách Ruby, sử dụng các tính năng ngôn ngữ như duck typing, modules, tap và SimpleDelegator để giảm boilerplate. Ruby ưu tiên composition hơn inheritance, điều này thể hiện xuyên suốt các mẫu thiết kế được trình bày.
Lập trình viên Ruby nên đọc bài này để hiểu cách áp dụng các mẫu thiết kế classic theo phong cách Ruby hiện đại, tiết kiệm thời gian và tránh sự phức tạp của các ngôn ngữ khác nhờ sự linh hoạt của duck typing và prefer composition over inheritance.
Bài viết cung cấp bảng tham chiếu về độ phức tạp thời gian (time complexities) của các thuật toán, thuật toán sắp xếp phổ biến cùng các thao tác trên cấu trúc dữ liệu cơ bản.
Một lập trình viên nên đọc bài này để hiểu cách phân tích hiệu suất thực tế của các thuật toán và cấu trúc dữ liệu, giúp tối ưu hóa mã nguồn và chọn lựa giải pháp phù hợp với yêu cầu công việc.

A PHP internals mailing list thread discussing the proposed Primary Constructors RFC for PHP. The RFC proposes a new syntax allowing class properties to be declared directly in the class signature (e.g., class Money(public readonly int $amount) {}), saving a few lines over traditional constructor promotion. Key debate centers on whether primary constructors should support a body for initialization/validation logic. Critic Nick Sdot argues the feature is too limited without body support, especially for readonly classes where property hooks don't work, and warns against shipping another half-finished PHP feature. RFC author Rob Landers defends the scoped design, citing data that 30-40% of constructors are empty and 61-71% of Laravel/Symfony classes could benefit, while suggesting body support could come in a follow-up RFC. Rowan Tommins takes the opposite view, arguing that full parity with regular constructors would cause endless style debates.
KolibriOS 0.7.7 is a tiny, assembly-language-written operating system that boots nearly instantly and runs from a floppy disk. It requires only 1MB of disk space, 8MB of RAM, and a 586-class processor. Despite its polished GUI, bundled apps (games, emulators, graphics editors, web browsers), and impressive speed, its web browsers lack HTTPS support, making most of the modern internet inaccessible. It's compared favorably to the legendary single-floppy QNX demo of the 1990s and is recommended as an emulator platform for older 32-bit hardware.