ฉันไม่เห็นด้วยอย่างสมบูรณ์เมื่อมีคนพูดว่า "ใช่มัลติทาสกิ้งเป็นเรื่องปกติ"
มันไม่ปกติ! ไม่เลยมันเป็นเรื่องแปลกประหลาดมากสำหรับนักพัฒนาที่จะทำงานหลายอย่างในหลายโครงการ (ฉันจะอธิบายเพิ่มเติมในภายหลัง) ในทางตรงกันข้ามมัลติทาสกิ้งเป็นเรื่องธรรมดามากในหมู่นักพัฒนา นี่คือสิ่งที่คุณควรทำความคุ้นเคย ดังนั้นคำตอบที่แท้จริงสำหรับคำถามของคุณคือ: วิธีการทำงานหลายงาน?
ก่อนอื่นคุณไม่ควรยอมรับชะตากรรมของคุณเพราะ "คุณเป็นพนักงานที่ยอดเยี่ยม" และนั่นหมายความว่าคุณต้องทำงานมากกว่าที่คุณสามารถจัดการได้ ไม่เลยคุณทำไม่ได้ บางครั้งผู้คนจะได้รับงานหลายอย่างเพราะไม่มีใครอื่น บางครั้งผู้จัดการไม่สามารถจัดการงานของพวกเขาดังนั้นพวกเขาจึงมอบหมายงานหลายงานในทีมของพวกเขาเพราะพวกเขาไม่สามารถจัดการตารางเวลาโครงการได้อย่างเหมาะสม ดังนั้นคุณควรลองตรวจสอบดูว่าคุณถูกขอให้ทำงานหลายอย่างหรือไม่เพราะเป็นส่วนหนึ่งของงานของคุณหรือเป็นเพราะคนอื่นไม่มีความสามารถ. ทั้งสองวิธีคุณสามารถตัดสินด้วยตัวคุณเองถ้ามันเป็นที่ยอมรับหรือไม่ หากคุณไม่สะดวก [กับงานของคุณ] มีที่อื่นที่คุณสามารถไปหางานทำได้ [คุณผู้พัฒนาเป็นสินค้า นายจ้างรู้เรื่องนี้และอธิษฐานว่าคุณไม่เคยรู้มาก่อน]
ตอนนี้เกี่ยวกับการทำงานหลายอย่างฉันไม่เห็นด้วย 100% เมื่อมีคนพูดว่า "ใช่แค่สลับไปมาและทำให้แน่ใจว่าคุณทำจำนวนเท่ากันในแต่ละโครงการ" ขออภัยที่เป็นคำแนะนำที่แย่มาก
ก่อนอื่นคุณต้องรู้ว่าสมองของคุณทำงานอย่างไรเมื่อคุณพัฒนาซอฟต์แวร์ (ฉันรู้ว่ามีงานอื่น ๆ ที่เกี่ยวข้อง แต่ให้ความสำคัญกับเรื่องนั้น) ก่อนอื่นคุณต้องได้รับ "สาย" ซึ่งหมายความว่าคุณต้องมีสมาธิมากและทำให้จิตใจของคุณอยู่ในตำแหน่งที่คุณมีทุกสิ่งที่แมปในหัวของคุณ ชื่อตัวแปรและเมธอดทั้งหมด, เวิร์กโฟลว์ของโค้ดของคุณ, โมเดลวัตถุ, เธรดที่อยู่เคียงข้างกัน, ทุกอย่าง ปกติฉันจะใช้เวลา 15 นาทีถึง 20 นาทีเพื่อให้ได้ "อยู่ในโซน"
เมื่อคุณได้รับสถานะนั้นคุณจะบินออกไปและเขียนรหัสเช่นคุณกำลังขี่จักรยาน ช่วงเวลาที่คุณถูกขัดจังหวะคุณสามารถสูญเสียมันทั้งหมด หากการหยุดชะงักนานพอ (5, 10 หรือ 30 นาที) คุณจะสูญเสียสภาพจิตใจและจะต้องเริ่มต้นใหม่ทั้งหมด
ดังนั้นการทำงานหลายอย่างนั้นแย่มากเพราะมันบังคับให้คุณออกจาก "the zone" และย้ายไปทำอย่างอื่น หากคุณเปลี่ยนอย่างต่อเนื่องนั่นหมายความว่าคุณไม่ได้ทำงานอย่างมีประสิทธิภาพเพราะทุกครั้งที่คุณเปลี่ยนงานหรือโครงการใหม่คุณต้องเสียเวลาประมาณ 15-20 นาทีเพื่อกลับไปที่โซนอีกครั้ง
มันก็เหมือนกับการทำมัลติเธรด: ในบางครั้งค่าใช้จ่ายในการสลับบริบทเธรดทุกรอบสองรอบนั้นสูงเกินไปดังนั้น CPU จึงใช้เวลาในการสลับบริบทมากกว่าการใช้งานจริง
ฉันขอแนะนำให้อ่านบทความจาก Joel Spolsky ในเรื่องนี้:
http://www.joelonsoftware.com/articles/fog0000000022.html
ดังนั้นคำแนะนำของฉันคือ: ลองเรียนรู้วิธีการ (ไม่) มัลติทาสก์เพราะมันเป็นเรื่องธรรมดา แต่ให้แน่ใจว่าคุณทำมันได้อย่างสบายใจ บางคนอาจใช้เวลาในการตั้งสมาธิและจะประสบมากกว่าคนอื่นเมื่อทำงานหลายอย่าง และก็ไม่เป็นไรเช่นกัน ไม่ใช่เพราะเป็นเรื่องปกติที่ควรจะถือเป็นเรื่องปกติ
โจเอลพูดได้ดีเมื่อเขาพูดว่า:
อันที่จริงบทเรียนจริงจากทั้งหมดนี้คือคุณไม่ควรปล่อยให้คนทำงานมากกว่าหนึ่งอย่างในเวลาเดียวกัน ตรวจสอบให้แน่ใจว่าพวกเขารู้ว่ามันคืออะไร ผู้จัดการที่ดีเห็นความรับผิดชอบของพวกเขาในการขจัดอุปสรรคเพื่อให้ผู้คนสามารถมุ่งเน้นไปที่สิ่งหนึ่งและทำมันให้สำเร็จ