Một coder giỏi viết được code chạy đúng. Một software engineer giỏi giải quyết đúng vấn đề một cách toàn diện — làm chủ requirements, thiết kế, các đánh đổi, khả năng bảo trì, testing, vận hành, và bối cảnh nghiệp vụ xung quanh đoạn code. Engineering là code cộng với khả năng phán đoán cộng với trách nhiệm trên toàn bộ vòng đời.
Ranh giới thực sự nằm ở đâu
Viết code vượt qua được các test là phần dễ và có thể học. Phần khó hơn, giá trị hơn là tất cả những gì bao quanh nó: quyết định cần xây, nó khớp vào hệ thống ra sao, và sống chung với nó về sau là bao nhiêu.
