coder ที่ดีเขียนโค้ดที่ทำงานได้ ส่วน software engineer ที่ดีแก้ปัญหาที่ถูกต้องอย่างครอบคลุมรอบด้าน — โดยรับผิดชอบทั้ง requirements, design, tradeoffs, ความง่ายในการดูแลรักษา, การทดสอบ, การ operate และบริบททางธุรกิจที่อยู่รอบ ๆ โค้ดนั้น งาน engineering คือโค้ดบวกกับวิจารณญาณบวกกับความรับผิดชอบตลอดทั้ง lifecycle
เส้นแบ่งที่แท้จริงอยู่ตรงไหน
การเขียนโค้ดให้ผ่าน tests เป็นส่วนที่ง่ายและเรียนรู้ได้ ส่วนที่ยากกว่าและมีคุณค่ามากกว่าคือทุกอย่างที่อยู่รอบ ๆ นั้น: การตัดสินใจว่าจะสร้าง , มันควรจะ ระบบอย่างไร, และ ในการอยู่ร่วมกับมันในภายหลัง
