Tôi hoàn toàn không đồng ý khi mọi người nói "vâng, đa tác vụ là bình thường"
Nó không bình thường! Hoàn toàn không, việc nhà phát triển thực hiện đa tác vụ trong một số dự án là điều không tự nhiên (tôi sẽ giải thích thêm sau). Mặt khác, đa tác vụ rất phổ biến trong số các nhà phát triển. Đây chắc chắn là thứ bạn nên làm quen. Vì vậy, câu trả lời thực sự cho câu hỏi của bạn là: làm thế nào để đa tác vụ?
Trước hết, bạn không nên đơn giản chấp nhận số phận của mình vì "bạn là một nhân viên xuất sắc" và điều đó có nghĩa là bạn cần phải đảm nhận nhiều nhiệm vụ hơn mức bạn có thể đảm nhận. Không hề, bạn thì không. Đôi khi mọi người được giao nhiều nhiệm vụ vì không có ai khác. Đôi khi các nhà quản lý không thể xử lý công việc của họ để họ ủy thác, thực thi đa tác vụ trong nhóm của họ vì họ không thể xử lý lịch trình dự án của họ đúng cách. Vì vậy, bạn chắc chắn nên cố gắng xác định xem bạn có được yêu cầu đa tác vụ không vì đó là một phần công việc của bạn hoặc vì người khác không đủ năng lực. Dù bằng cách nào, bạn có thể tự đánh giá xem điều đó có chấp nhận được hay không. Nếu bạn không thoải mái [với công việc của mình], có những nơi khác bạn có thể đi tìm việc. [Bạn, nhà phát triển, là hàng hóa. Nhà tuyển dụng biết điều này và cầu nguyện rằng bạn không bao giờ nhận ra nó.]
Bây giờ về đa tác vụ, tôi không đồng ý 100% khi mọi người nói "có, chỉ cần chuyển đổi qua lại và đảm bảo rằng bạn đang thực hiện cùng một số tiền cho mỗi dự án". Xin lỗi nhưng đó là một lời khuyên rất tồi.
Trước tiên, bạn phải nhận ra bộ não của bạn hoạt động như thế nào khi bạn phát triển một phần mềm (tôi biết có những nhiệm vụ khác liên quan nhưng hãy tập trung vào đó). Trước tiên bạn cần phải có "dây", nghĩa là bạn cần tập trung rất nhiều và tập trung vào một vị trí mà bạn có mọi thứ được ánh xạ trong đầu. Tất cả các tên biến và phương thức, quy trình làm việc của mã của bạn, mô hình đối tượng, các luồng đi cạnh nhau, mọi thứ. Thông thường tôi mất 15 có thể 20 phút để có được "trong khu vực".
Khi bạn đến trạng thái đó, bạn thực sự đang bay và viết mã giống như bạn đang đi xe đạp. Khoảnh khắc bạn bị gián đoạn bạn có thể mất tất cả. Nếu sự gián đoạn đủ dài (5, 10 có thể 30 phút), bạn sẽ mất trạng thái tâm trí đó và sẽ phải bắt đầu lại tất cả.
Vì vậy, đa tác vụ là khủng khiếp vì nó buộc bạn phải rời khỏi "khu vực" và chuyển sang một thứ khác. Nếu bạn liên tục chuyển đổi, điều đó có nghĩa là bạn không làm việc hiệu quả bởi vì mỗi khi bạn chuyển sang một nhiệm vụ / dự án mới, bạn cần mất 15-20 phút để quay lại khu vực đó (không đề cập đến việc nó làm não bạn chậm lại).
Nó giống như đa luồng: tại một số điểm, chi phí chuyển đổi bối cảnh luồng mỗi chu kỳ cặp đôi là quá cao nên CPU cuối cùng sẽ dành nhiều thời gian để chuyển đổi bối cảnh hơn là thực hiện các tác vụ thực tế.
Tôi đặc biệt khuyên bạn nên đọc một bài viết từ Joel Spolsky về vấn đề này:
http://www.joelonsoftware.com/articles/fog0000000022.html
Vì vậy, lời khuyên của tôi là: hãy thử học cách (không) đa tác vụ vì nó thực sự phổ biến. Nhưng cũng chắc chắn rằng bạn cảm thấy thoải mái khi làm điều đó. Một số người có thể mất nhiều thời gian hơn để tập trung và sẽ chịu đựng nhiều hơn những người khác khi đa tác vụ; và điều đó cũng tốt Không phải vì nó phổ biến mà nên được coi là bình thường.
Joel nói điều đó tốt khi anh nói:
Trong thực tế, bài học thực sự từ tất cả những điều này là bạn không bao giờ nên để mọi người làm việc trên nhiều thứ cùng một lúc. Hãy chắc chắn rằng họ biết nó là gì. Các nhà quản lý giỏi thấy trách nhiệm của họ là loại bỏ những trở ngại để mọi người có thể tập trung vào một việc và thực sự hoàn thành nó.