Thứ Tư, 1 tháng 2, 2012

Hãy học ngoại ngữ


Hãy học ngoại ngữ

Klaus Marquardt


Lập trình viên cần giao tiếp rất nhiều.

Trong đời lập trình viên, có những lúc phần lớn giao tiếp dường như chỉ là với máy tính – chính xác hơn là với các chương trình thi hành trên máy tính đó. Kiểu giao tiếp này là khả năng biểu đạt để máy tính hiểu được ý tưởng của mình. Hiện tượng này thật kỳ thú: chương trình là sự hiện thực của ý tưởng mà dường như không có vật chất tham dự vào đó.

Lập trình viên cần lưu loát về ngôn ngữ máy, dẫu đó là thực hay ảo, cần thành thạo với những khái quát liên quan đến ngôn ngữ thông qua công cụ phát triển. Biết nhiều cách khái quát khác nhau là điều quan trọng, bằng không sẽ gặp vướng mắc khi diễn đạt ý tưởng. Lập trình viên giỏi cần có khả năng đứng ngoài công việc thường nhật, có ý thức trong việc dùng các ngôn ngữ khác nhau để biểu đạt mục đích khác nhau. Thành quả ắt đến với họ.

Ngoài giao tiếp với máy, lập trình viên cần giao tiếp với đồng nghiệp. Các dự án lớn hiện nay đòi hỏi nhiều nỗ lực giao tiếp xã hội hơn là đơn thuần ứng dụng nghệ thuật lập trình. Khả năng hiểu và diễn đạt được những điều vượt quá khả năng lĩnh hội của máy là rất quan trọng. Hầu hết các lập trình viên kỳ tài đều dùng lưu loát ngôn ngữ mẹ đẻ, ngoại ngữ cũng vậy. Đây không đơn thuần là sự truyền thông qua lại: Sử dụng tốt một ngôn ngữ còn đưa đến tư duy trong sáng, phẩm chất không thể thiếu khi khái quát vấn đề. Mà khả năng khái quát lại là linh hồn của lập trình.

Ngoài giao tế với máy, với bản thân, và với đồng nghiệp, một dự án còn có nhiều người liên quan, phần lớn trong số họ không có hoặc có nền tảng kỹ thuật khác biệt. Họ sống trong lĩnh vực kiểm thử, quản lý chất lượng, và cài đặt; trong lĩnh vực tiếp thị và bán hàng; họ là người dùng bình thường, làm việc ở cơ quan hay tại nhà. Bạn cần hiểu họ cũng như những mối quan tâm của họ. Điều này là bất khả nếu bạn không nói được ngôn ngữ của họ – ngôn ngữ trong thế giới của họ, ở lĩnh vực chuyên môn của họ. Trong lúc bạn tưởng rằng cuộc đối thoại với họ đã diễn ra tốt đẹp, thì có thể họ không nghĩ như vậy.

Khi trò chuyện với kế toán viên, bạn cần có kiến thức cơ bản về kế toán trung tâm chi phí (cost-center), vốn ràng buộc (tied capital), vốn sử dụng (capital employed), v.v... Nếu bạn trao đổi với nhân viên tiếp thị hay luật sư, bạn phải quen thuộc với một số biệt ngữ (tức tư duy) của họ. Thành viên trong đội ngũ thực hiện dự án, tốt nhất là lập trình viên, cần làm chủ được tất cả những ngôn ngữ chuyên ngành này. Lập trình viên là người chịu trách nhiệm cuối cùng trong việc đưa ý tưởng đi vào cuộc sống thông qua công cụ máy tính.

Và dĩ nhiên, cuộc đời không đơn thuần là những dự án phần mềm. Theo Charlemagne, biết thêm một ngôn ngữ là có thêm một tâm hồn. Khi giao tế vượt khỏi biên giới công nghiệp phần mềm, bạn sẽ hiểu rõ giá trị của việc học ngoại ngữ. Để biết khi nào cần phải im lặng lắng nghe. Để hiểu rằng ngôn ngữ cao cả nhất chính là không lời.

Nơi nào người không thể lên tiếng, nơi ấy người phải im lặng.
– Ludwig Wittgenstein


Nguồn

Marquardt K. (2010) Learn Foreign Languages, 97 Things Every Programmer Should Know, Henney K. (ed), O'Reilly, Sebastopol, CA.

Không có nhận xét nào:

Đăng nhận xét