Tại sao các lập trình viên lại đeo headphone khi đang lập trình?

Brian Knapp, Người Công giáo, Kỹ Sư Phần mềm. Tôi viết blog tại Code Career Genius

===============

Có một lý do cực kỳ quan trọng để đeo headphone trong lúc lập trình. Khi bạn hiểu được mức độ ảnh hưởng của việc này, bạn sẽ thay đổi quan điểm của mình về cách thức chế tạo mọi thứ và những gì mà quy trình ấy thực sự yêu cầu.

Lập trình viên đeo headphone để họ không bị làm phiền đó. Điều này khá rõ ràng rồi. Lý do họ bị làm phiền là thứ tôi sẽ nói tiếp sau đây.

Bạn thấy đó, không gian làm việc thời nay được thiết kế ra để hủy hoại năng suất của các lập trình viên. Nếu tôi được phép thiết kế không gian để tối ưu hóa sản phẩm của họ, thì trông nó sẽ gần như trái ngược hoàn toàn với mọi không gian văn phòng mà tôi từng làm việc.

Thực sự đấy, giờ đây tôi làm việc trong một văn phòng giúp phát huy được hết tiềm năng viết mã của mình và thực sự trông nó khá ngược với hầu hết văn phòng doanh nghiệp hiện đại.

Giờ đây xu hướng hoành tráng trong cách thiết kế văn phòng ấy là “không gian văn phòng mở”. nó được thiết kế ra để cải thiện sự hợp tác (cứ như thể đó là vấn đề lớn của công việc hiện đại vậy).

Không gian văn phòng mở thực sự tồn tại  để trông mọi người có vẻ như đang bận bịu làm việc. Nhìn mọi người bận bịu đi lại, nói năng và khá bận rộn thiệt là ngầu mà. Còn có cả phần âm thanh trong đó nữa.

Không gian văn phòng mở rất ồn ào!

Nhưng lại một lần nữa, ta trông và có cảm giác rằng đó là một cải tiến đáng kể cho ý tưởng tồi tệ của thập kỷ trước – trại ngăn vách.

Đồng thời, không gian văn phòng mở cũng rẻ hơn trại ngăn vách, vì thế các công ty sẽ tiết kiệm được nhiều tiền bạc hơn trong khi vẫn khiến mọi người trông có vẻ như rất bận rộn (ngay cả khi phải trả một cái giá ấy là giảm đáng kể năng suất lao động).

Nói chung, mọi thứ linh tinh này đều khá tệ cho việc lập trình.

Nghệ thuật lập trình dựa trên một thứ khá giống với nghệ thuật – mạch.

Có được “mạch” trong lúc bạn tập trung đủ sâu vào vấn đề để tạo ra được những kết nối và những đột phá và thể hiện được khả năng tốt nhất của mình mà không cần “nghĩ” là khi phép màu của việc lập trình xuất hiện. Điều này tương tự với việc sáng tác nhạc, viết lách hay vẽ vời.

Hãy tưởng tượng xem nếu Leonardo da Vinci phải vẽ bức Mona Lisa trong không gian văn phòng mở trong khi những đồng nghiệp và sếp của ông ấy cứ 15 phút một lần lại phá đám để hỏi mà xem. Liệu ông ta có vẽ nổi không?

Tôi không nghĩ vậy đâu.

Và vâng, lập trình là một quá trình sáng tạo yêu cầu môi trường sáng tạo tương tự giống như phần lớn những môn nghệ thuật khác.

Cứ lấy các tác giả ra làm ví dụ này. Stephen King không phải “hợp tác” để viết những quyển sách của mình. Ông ngồi xuống trước máy gõ chữ hoặc bàn phím và bắt đầu viết. Hãy tưởng tượng cảnh hằng ngày ông ấy phải thuyết trình về mấy trang mới nhất mình vừa viết xong với các đồng nghiệp mà xem.

Công việc của ông cũng sẽ khốn khổ thôi.

Hóa ra để code tốt chúng tôi phải dựa vào cùng một loại quá trình như vậy để có được mạch viết và thực hiện công việc sáng tạo trong não bộ của mình. Đó là cách thức hoạt động của não bộ để làm việc sáng tạo.

Những người như Paul Graham đã viết về việc Lịch trình của Nhà Sản xuất vs. Lịch trình Nhà Quản lý trước đây với kiến thức tương tự.

Cần khoảng 5-30 phút mới có được mạch đấy. Nếu không bị gián đoạn, thời gian sẽ chuyển động theo cách khác và sau một vài giờ, một đống code sẽ được tạo ra.

Mỗi lần bị gián đoạn, đồng hồ lại đếm lại từ đầu.

Vì vậy, thứ mà các lập trình viên cần để tối đa hóa mạch của mình (và cả sản phẩm nữa) là các khoảng thời gian 2-4 giờ mà không bị gián đoạn. Một ngày lý tưởng không bị gián đoạn sẽ giúp chúng tôi có được khoảng 3 hay 4 đoạn “mạch”.

Theo những gì tôi biết, những lập trình viên thông thường chỉ có được khoảng một đoạn mỗi ngày mà thôi. Thi thoảng thì, một thành viên thực sự thành thục sẽ có khoảng hai hay ba đoạn mạch một ngày, nhưng theo như những gì tôi có thể nói thì việc này không thường xuyên xảy ra.

Headphone, đặc biệt là những headphone chống ồn (như chiếc tôi đang đeo đây này), là một nỗ lực của lập trình viên nhằm loại bỏ sự gián đoạn và giữ được mạch làm việc.

Với các văn phòng mở, email, thông báo từ slack rồi thì đồng nghiệp vỗ vai, vv.

Gần như lập trình viên sẽ không thể có được một đoạn mạch hoàn chỉnh.

Vì thể, lời khuyên của tôi rất đơn giản. Nếu bạn là một lập trình viên đang cố gắng tối ưu năng suốt cũng như những đoạn mạch hằng ngày, hãy đeo headphone, tránh meeting, đừng check email, tắt slack đi và cơ bản là hãy về sống trong hang và viết code.

Và nếu bạn không được phép làm như thế, hãy chấp nhận sự thực rằng bạn có thể chỉ có được một đoạn mạch mỗi ngày thôi và hãy lên kế hoạch sao cho phù hợp đi.

-Brian 

Theo: Vũ Cường

Leave a Reply

Your email address will not be published. Required fields are marked *