1. Good developer is an artist, a craftsman who enjoys the process of
creation. Bad developer considers himself as a programmer, responsible
for generating lines of code.
Lập trình viên giỏi (LTV) là một nghệ sỹ hứng thú với quá trình sáng tạo. LTV thường tự xem mình là môt người lập trình và chỉ có trách nhiệm tạo ra các dòng code.
2. Good developer understands the problems of the customers. Bad
developer understands only the technical problem at hand. Good developer
does not define the why, but constantly strives to understand why. He’s
responsible for the how, and still sees the big picture. Bad developer
is focused on building classes and methods and configuration files, but
does not get the big picture.
LTV giỏi hiểu được các vấn đề của khách hàng. LTV thường chỉ hiểu các vấn đề kỹ thuật ngắn hạn (at hand). LTV giỏi không chỉ xác định lý do tại sao mà còn liên tục cố gắng nỗ lực (strive) để hiểu tại sao. Anh ta chịu trách nhiệm cho việc thực hiện thế nào và vẫn nắm được bức tranh tổng thể. LTV thường chỉ tập trung vào việc xây dựng các class và method và các file cấu hình nhưng không hiểu được bức tranh tổng thể.
3. Good developer understands the complete architecture of the product.
Bad developer knows only the components he’s written. Good developer
fully understands the technologies that are used within the product. He
understands what they are used for, and how they work internally.
LTV giỏi hiểu toàn bộ kiến trúc của sản phẩm. LTV thường chỉ biết phần mà anh ta đã viết. LTV giỏi thực sự hiểu công nghệ được sử dụng bên trong sản phẩm. Anh ta hiểu công nghệ đó được dùng để làm gì và nó làm việc bên trong sản phẩm như thế nào.
4. Good developer is not afraid of new technologies but embraces them by
quickly getting a grip. Bad developer only sticks to what he knows. His
immediate reaction to any technical change is negative.
Good developer is constantly learning and improving his skills. Good
developer reads technical articles, and finishes several technical books
a year. Bad developer does not have time to learn. He’s always too busy
with other stuff.
LTV giỏi không ngại các công nghệ mới mà bao quát hiểu (embrace) được chúng bằng cách nắm vững (grip) một cách nhanh chóng. LTV liên tục học và cải thiện kỹ năng của anh ta. LTV giỏi đọc các bài báo kỹ thuật và đọc xong vài quyển sách kỹ thuật 1 năm. LTV thường không có thời gian để học, anh ta luôn bận bịu với các vấn đề khác.
5. Good developer cares about the product quality. He is also very much
concerned with the process quality. Good developer pushes himself to
create bug-free code; bad developer leaves it to QA to find bugs to fix.
LTV giỏi quan tâm đến chất lượng của sản phẩm. Anh ta cũng rất quan tâm đến quy trình chất lượng. LTV giỏi tự ép (push) anh ta phải tạo ra các đoạn code không bug (bug-free code); LTV thường thì lại để lại cho QA phải đi tìm bug xong rồi fix.
6. Good developer develops features which create value for customers.
Bad developer completes tasks. Good developer will never claim the
requirements are incomplete, and will make sure to fully understand the
features he’s working on. Bad developer will wait until the finest
details are available. To emphasize: good developer is the CEO of the
feature – he’s going to make sure he always has the information needed
to accomplish the feature, and in case information is missing he’ll make
sure he gets it.
LTV giỏi phát triển các tính năng tạo ra giá trị cho khách hàng. LTV thường hoàn thành task. LTV giỏi không bao giờ phàn nàn, đòi hỏi về việc các tài liệu yêu cầu chưa hoàn chỉnh, và luôn đảm bảo hiểu các tính năng anh ta đang đảm nhiệm. LTV thường sẽ đợi đến khi yêu cầu chi tiết nhất hoàn thành. Để nhấn mạnh: LTV giỏi là CEO của tính năng - anh ta sẽ đảm bảo luôn có đủ thông tin cần thiết để hoàn thành tính năng đó, trong TH thông tin bị thiếu anh ta sẽ chủ động tìm nó.
7. Good developer is not afraid to go into anyone’s code. Bad developer
is afraid of others looking into his. Good developer understands that it
shouldn’t take more time to write self-explanatory and well-documented
code. Bad developer always needs to allocate extra time to document and
simplify.
Good developer will never feel his code is good enough, and will
always continue to clean and fix. Good developer always strives to
create elegant solutions but understands that his job is to deliver
value to customers. Bad developer thinks only about the elegance of his
code and leave the job of delivering value to others.
LTV giỏi không ngại xử lý code của người khác. LTV thường sẽ lo ngại khi người khác nhin vào code của anh ta. LTV giỏi hiểu không nên tốn quá nhiều thời gian để viết các đoạn code có khả năng tự giải thích ý nghĩa hay các đoạn code được tài liệu hóa tốt. LTV thường luôn cần thêm thời gian để tài liệu hóa và làm đơn giản code. LTV giỏi không bao giờ thấy code của anh ta đã đủ tốt và luôn tiếp tục làm nó clean (sạch) và sửa đổi. LTV giỏi cố gắng, nỗ lực để tạo ra các giải pháp sáng sủa (elegant) và hiểu nhiệm vụ của anh ta là tạo ra giá trị cho KH. LTV thường chỉ nghĩ đến sự sáng sủa tao nhã trong code của anh ta và đẩy viêc tạo giá trị cho KH sang người khác.
Tham khảo:
http://www.guynirpaz.com/2012/06/11/good-developer-bad-developer/
Không có nhận xét nào:
Đăng nhận xét