Giao tiếp với tư cách là một lập trình viên chuyên nghiệp cần nhiều điều hơn tôi nghĩ. Thật sự khó vì nó không phải là điều bạn có được qua việc học code. Bài viết này là bài chia sẻ kinh nghiệm của tôi sau khoảng thời gian dài đúc kết được.
Xem thêm bài viết tại: https://200lab.io/blog/giao-tiep-nhu-dev-chuyen-nghiep/
1. Giao tiếp với những người Non-technical
Giao tiếp với những người không am hiểu kỹ thuật, chẳng hạn như trong các cuộc họp thực sự rất khó khăn.
Bạn cần lưu ý rằng những người đó không phải là developer (lập trình viên), vì vậy đừng sử dụng các thuật ngữ mà bạn biết rằng chỉ có các developer mới hiểu được.
Thông thường, bạn phải giải thích bằng những từ ngữ không mang tính chuyên môn để lý giải cho những thứ mà bạn đã làm.
Để tôi lấy một ví dụ:
Khía cạnh tech
Chức năng drag và drop khi sắp xếp lại thứ tự các track không hoạt động bình thường, các item trong array bằng cách nào đó bị xáo trộn.
Khía cạnh non-tech
Khi sắp xếp lại thứ tự các track bằng cách kéo thả chúng, danh sách chứa các phần tử bằng cách nào đó đã bị xáo trộn.
Đây chỉ là một ví dụ nhanh để chứng minh khả năng giao tiếp của bạn với những người không chuyên về kỹ thuật. Cố gắng tránh nói theo kiểu kỹ thuật bằng cách sử dụng các từ như array
.
Trong một số trường hợp, điều đó có thể rất khó khăn, tôi khuyên bạn nên chia nhỏ và giải thích các thuật ngữ kỹ thuật. Đôi khi tôi thấy mình đang sử dụng các thuật ngữ kỹ thuật, sau đó tôi cố gắng làm điều gì đó trong các dòng:
… nói cách không liên quan đến kỹ thuật, điều này có nghĩa là danh sách theo dõi bất ngờ bị xáo trộn khi người dùng cố gắng sắp xếp lại các track ….
Đây là cách mà tôi thực hiện nếu tôi thấy mình đã giải thích điều gì đó theo kiểu kỹ thuật, nhưng lẽ ra không nên làm như vậy ngay từ đầu, nhưng trong một số trường hợp thì hơi khó, vì vậy tôi bắt đầu giải thích nó theo kiểu kỹ thuật và sau đó, thể hiện lại bản thân theo cách non-tech.
2. Giao tiếp với những người Technical
Nói chuyện với những người kỹ thuật có thể khó khăn và thử thách hơn trong thời gian đầu, nhưng từ kinh nghiệm của tôi, tôi cảm thấy minh trở nên giỏi về nghệ thuật giao tiếp hơn những người non-tech.
Thông thường, bạn sẽ tự vấn bản thân, không chỉ khi bạn đang học viết code, mà còn trong toàn bộ sự nghiệp của bạn với tư cách là một lập trình viên. Đặt ra những câu hỏi hay là điều mà chúng ta cần phải học.
Câu hỏi của bạn chỉ nên chứa thông tin liên quan. Câu hỏi của bạn nên chứa:
- Vấn đề là gì?
- Bạn đã thử những cách nào cho đến bây giờ để giải quyết vấn đề?
- Bạn có bất kỳ phương pháp nào để giải quyết vấn đề không?
Tôi khuyên bạn nên đọc “wonderful article about asking good questions” của người bạn Artem Zakharchenko của tôi.
3. Ngôn ngữ của nhà phát triển
Việc nói chuyện với các nhà phát triển có thể rất khó khăn. Sử dụng ngôn ngữ mà chỉ có các nhà phát triển là hiểu. Lời khuyên của tôi là hãy thực hiện nhiều lập trình đôi (pair programming). Theo kinh nghiệm của tôi, điều đó sẽ giúp ích cho bạn rất nhiều.
Một ví dụ sẽ giải thích cho nhà phát triển cách họ tiếp cận việc giải quyết bug, refactor code, v.v. Để giải thích những việc cần làm, bạn cũng cần sử dụng các thuật ngữ kỹ thuật, ví dụ:
Function này dường như đang sử dụng một biến
flag
, hãy sử dụng lại logic của function này vào một function khác. Trong trường hợp function được gọi, chúng ta hãy gọi function này hoặc function mới tùy thuộc vào việc boolean có đúng hay không. Bằng cách này, mỗi function thực hiện một việc và hoạt động tốt, do đó dễ dàng refactor và làm việc với nó sau này.
4. Hãy nói lên các ý tưởng và giải pháp của mình
Có lẽ bạn có một ý tưởng và muốn nhóm của bạn thử một cái gì đó, một thư viện mới, một tool mới hay bất cứ điều gì chẳng hạn.
Cuối cùng, điều thực sự quan trọng khi phát triển phần mềm là khách hàng.
Lời khuyên của tôi là hãy tập trung vào khách hàng, ý tưởng của bạn sẽ ảnh hưởng đến họ như thế nào, khiến họ hạnh phúc và hài lòng như thế nào?
Nếu bạn có thể diễn đạt điều đó một cách rõ ràng, thì bạn đã “bán” được ý tưởng của mình và bạn hiểu bản thân, với tư cách là một chuyên gia phần mềm, tại sao ý tưởng của bạn nên được thực hiện hoặc ít nhất là đáng để thử.
Một ví dụ sẽ lý giải lý do tại sao chúng ta nên thực hành lập trình đôi:
Bằng cách lập trình theo cặp, chúng ta có thể hoàn thành công việc hiệu quả và chất lượng hơn, do đó phần mềm sẽ tốt hơn nhanh hơn, điều này sẽ khiến khách hàng của chúng ta hài lòng hơn. Một lợi ích khác của lập trình đôi là có thêm cơ hội học hỏi từ người khác, điều này giúp ích rất nhiều cho nhóm và công ty.
Tóm lại
Giao tiếp trong phát triển phần mềm không hề dễ dàng, đặc biệt là khi mới bắt đầu sự nghiệp của bạn. Và giao tiếp là một điều rất quan trọng trong toàn bộ sự nghiệp của một lập trình viên.
Bài viết được dịch từ: Communicating as a software developer
Nguồn: viblo.asia