Chúng nghe rất khác với tôi và tôi đã có một khoảng thời gian khó khăn để nói cái nào quan trọng hơn.
Bạn có thể là một người bảo trì phần mềm tuyệt vời, nhưng bản thân một lập trình viên rất tệ. Một số người rất tuyệt vời trong việc gỡ lỗi mã, tìm đường đi qua nó, sửa nó và cải thiện nó một chút. Chúng thường được so sánh với người lao công, nhưng đó là một sự bất đồng: họ có thể có kiến thức và bí quyết thực sự để đưa mọi thứ đến trạng thái tốt hơn.
Nhưng họ vẫn có thể rất tệ trong việc viết mã mới và thiết kế và thực hiện các thuật toán. Họ có thể hiểu lý do tại sao mọi thứ thường tốt hơn bằng cách này hay cách khác, và họ thậm chí có thể hiểu sau khi thực tế lợi ích của thiết kế này so với thiết kế khác. Nhưng họ có một thời gian khó khăn với chính mình. Họ thiếu hiểu biết sâu sắc về tư duy logic và giải quyết vấn đề này.
Cả hai đều quan trọng trong tâm trí của tôi. Bạn không muốn chỉ có những tin tặc có thể đưa ra các giải pháp tuyệt vời, nhưng tạo ra mã không thể nhầm lẫn cho các thế hệ nhãn cầu tiếp theo sẽ xem xét cơ sở mã của bạn. Nó có thể tốt cho việc tạo mẫu và các dự án ngắn hạn, nhưng ở quy mô lớn hơn chỉ có thể bay rất lâu.
Vì vậy, nhóm đầu tiên cũng rất cần thiết. Nhưng họ sẽ không thể thiết kế phần mềm tuyệt vời với nhóm thứ hai. Nó khá cộng sinh (và tốt nhất khi những phẩm chất thực sự nằm trong cùng một nhà phát triển). Tôi đoán nếu bạn coi đây là vấn đề về gà và trứng, tôi phải thừa nhận rằng loại logic này quan trọng hơn một chút, vì lý do lịch sử, vì chúng phải tồn tại trước tiên để đi đầu. Nhưng điều đó có nghĩa là chúng quan trọng hơn trong một cửa hàng phần mềm? Tôi không nghĩ vậy. Bạn có thể sản xuất phần mềm tuyệt vời và thành công bằng cách kết nối mọi thứ với nhau và không phát minh ra nhiều.