สารบัญ
นักพัฒนาทุกคนรู้จักความรู้สึกนี้: ในที่สุดคุณก็จับปัญหาทั้งหมดไว้ในหัวได้ - การไหลของข้อมูล, เคสขอบ, รูปร่างของการแก้ไข - แล้วมีคนถามว่าคุณ 'ว่างสักแป๊บไหม' คำถามใช้เวลาเก้าสิบวินาที แต่ความเสียหายกินเวลาที่เหลือทั้งชั่วโมง เพราะสิ่งที่คุณเสียไปไม่ใช่เวลา แต่เป็นสถานะในหัว
การศึกษาโปรแกรมเมอร์จริงขณะทำงานพบว่า หลังถูกขัดจังหวะ โดยทั่วไปใช้เวลา 10-25 นาทีกว่าจะกลับมาแก้ไขโค้ดได้อย่างมีประสิทธิภาพ และโปรแกรมเมอร์มักได้ช่วงเวลาทำงานต่อเนื่องแบบไม่ถูกขัดจังหวะเพียงหนึ่งช่วง 2 ชั่วโมงต่อวัน - ถ้าโชคดี คุณไม่สามารถป้องกันการถูกขัดจังหวะได้ทุกครั้ง แต่คุณสามารถเก่งขึ้นมากในเรื่องการกลับเข้างาน ทักษะนี้ฝึกได้ และนี่คือกิจวัตรนั้น
ทำไมการถูกขัดจังหวะจึงกระทบโปรแกรมเมอร์หนักที่สุด
การเขียนโค้ดยึดเข้าด้วยกันด้วยโครงสร้างที่มองไม่เห็น: สถานะของตัวแปร, เส้นทางการเรียกฟังก์ชัน, ไฟล์สามไฟล์ที่คุณเทียบต่างในหัวไว้แล้ว, สมมติฐานที่คุณกำลังทดสอบค้างอยู่ ไม่มีอะไรถูกจดไว้ที่ไหนเลย - มันมีอยู่แค่ในความจำใช้งาน และความจำใช้งานไม่มีปุ่มหยุดชั่วคราว เมื่อความสนใจจากไป โครงสร้างก็เริ่มพังทันที
นี่คือเหตุผลที่งานวิจัยเรื่องการถูกขัดจังหวะชี้มาที่การเขียนโปรแกรมโดยเฉพาะ: งานที่มีสถานะในหัวมากๆ จะมีเวลากลับมาทำงานต่อที่นานที่สุด ข้อความใน Slack ไม่ได้แข่งกับการพิมพ์ของคุณ แต่แข่งกับตึกที่คุณสร้างขึ้นในหัว - และตึกพังเร็วกว่าที่สร้าง
ประกันราคาถูก: บันทึกสถานะ 20 วินาที
นิสัยที่คุ้มค่าที่สุดนั้นธรรมดามาก: ก่อนสลับงาน - ไปประชุม, ตอบแจ้งเตือน, กินข้าว - ใช้เวลายี่สิบวินาทีเขียนว่าคุณอยู่ตรงไหน หนึ่งคอมเมนต์ตรงเคอร์เซอร์: '// NEXT: null check พังตอน cache ยังไม่โหลด - เทสด้วย fixture เปล่า' งานวิจัยโปรแกรมเมอร์ที่ถูกขัดจังหวะเรียกสิ่งเหล่านี้ว่าตัวช่วยกลับเข้างาน (resumption cues) และมันช่วยลดเวลาที่เสียไปได้อย่างวัดได้ เพราะตัวคุณในอนาคตจะโหลดกลับจากจุดเช็คพอยต์แทนที่จะเริ่มจากศูนย์
ทำให้มันเป็นปฏิกิริยาอัตโนมัติที่ผูกกับการถูกขัดจังหวะเอง: ทันทีที่คุณตกลงจะสลับงาน ให้เขียนบันทึกก่อนเป็นอันดับแรก 'คำถามแป๊บเดียว' ของใครก็ไม่ได้ด่วนขนาดที่รอไม่ได้ยี่สิบวินาทีให้คุณพิมพ์คอมเมนต์
กิจวัตรการกลับเข้างาน
ตอนกลับมา นักพัฒนาส่วนใหญ่ทำสิ่งที่แย่ที่สุด: เปิดอ่านอีเมล 'ระหว่างปรับตัวเข้าที่' แทนที่จะเป็นแบบนั้น ให้ทำตามลำดับสามขั้นตอนตายตัวที่ให้สมองของคุณได้สวิตช์เปิดแบบเดิมทุกครั้ง
เสียงสำคัญกว่าที่คิด เซสชัน Focus ที่นิ่งและไม่มีเนื้อร้องทำงานสองอย่างพร้อมกัน: มันกลบเสียงในออฟฟิศหรือในบ้านที่จะขัดจังหวะคุณอีกครั้งกลางคันตอนกำลังโหลดกลับ และ - เมื่อใช้อย่างสม่ำเสมอ - มันจะกลายเป็นสัญญาณเงื่อนไขว่ากำลังสร้างสถานะการเขียนโค้ดขึ้นใหม่ ใช้เซสชันประเภทเดิมทุกครั้ง สมองของคุณจะเรียนรู้จังหวะนี้
- สวมหูฟัง, เริ่มเซสชันกลับเข้างานของคุณ - เสียง Focus แบบเดิมทุกครั้ง ก่อนที่คุณจะมองโค้ดด้วยซ้ำ
- อ่านบันทึกสถานะของคุณ (หรือ diff ล่าสุดถ้าคุณข้ามขั้นตอนไป) ไม่ต้องทำอย่างอื่น เปิดอีเมลทิ้งไว้
- ทำการแก้ไขจริงที่เล็กที่สุดเท่าที่ทำได้ภายในสองนาที - เปลี่ยนชื่อ, เพิ่ม test fixture, เขียน null check โมเมนตัมจะโหลดที่เหลือกลับมาเอง
ปกป้องนาทีแรกอย่างเข้มงวด
ช่วงกลับเข้างานนั้นเปราะบาง: การถูกขัดจังหวะครั้งที่สองระหว่างกำลังโหลดกลับมีต้นทุนเกือบเท่าครั้งแรก และทิ้งให้คุณรู้สึกท้อแท้ว่าใช้เวลาทั้งวันไปกับการเริ่มต้นใหม่ ในสิบนาทีแรกหลังกลับเข้างาน ให้ถือว่าตัวเองไม่ว่าง - ตั้งสถานะ, ปิดการแจ้งเตือน, เปิดเซสชันเล่นไว้เป็นทั้งเกราะและสัญญาณ
ถ้าคุณควบคุมปฏิทินของตัวเองได้บ้าง ให้รวบการขัดจังหวะไว้ด้วยกันแทนที่จะกระจาย: เปิดครึ่งชั่วโมงไว้ตอบคำถาม จะซื้อช่วงเวลาที่ปกป้องไว้รอบๆ ให้คุณ ช่วงงานที่ได้รับการปกป้อง 90 นาทีหนึ่งช่วงพร้อมการกลับเข้างานที่สะอาด ดีกว่าสี่ชั่วโมงที่กระจัดกระจาย - งานวิจัยเรื่องช่วงงานต่อเนื่องต่อวันบอกว่าพวกเราส่วนใหญ่ได้ช่วงแบบนี้มากที่สุดแค่หนึ่งช่วง ใช้มันเหมือนเป็นช่วงสุดท้าย เพราะปกติมันก็เป็นแบบนั้นจริงๆ
FAQ
ตัวเลข '23 นาทีในการฟื้นตัว' เป็นเรื่องจริงไหม?
นักวิจัยด้านความสนใจได้วัดเวลาเฉลี่ยในการกลับมาโฟกัสไว้ในช่วงนั้นสำหรับงานออฟฟิศ และการศึกษาเฉพาะโปรแกรมเมอร์พบ 10-25 นาทีก่อนจะกลับมาแก้ไขโค้ดได้อย่างมีประสิทธิภาพ ตัวเลขที่แน่นอนต่างกันไปตามความลึกของงาน แต่ระดับขนาด - จากไม่กี่นาทีกลายเป็นหลายสิบนาที - ถูกทำซ้ำและยืนยันได้เป็นอย่างดี
ดนตรีช่วยการเขียนโค้ดจริงหรือเป็นแค่ยาหลอก?
เสียงที่นิ่งและไม่มีเนื้อร้องช่วยนักพัฒนาส่วนใหญ่ในสองทาง: มันกลบเสียงรอบข้างที่คาดเดาไม่ได้ (ตัวขัดจังหวะซ้ำที่ใหญ่ที่สุด) และในฐานะพิธีกรรมที่ทำสม่ำเสมอ มันช่วยกระตุ้นสถานะโฟกัสได้เร็วขึ้น เนื้อร้องและเพลย์ลิสต์ที่มีความหลากหลายสูงจะแข่งกับการใช้เหตุผลเชิงภาษาที่คุณใช้เขียนโค้ด - ซึ่งเป็นเหตุผลว่าทำไม 'เพลย์ลิสต์ปกติของฉัน' มักรู้สึกแย่กว่าความเงียบ
แล้วถ้าตัวขัดจังหวะคือสมองของฉันเอง - ฉันเปิด Slack ดูเองล่ะ?
การขัดจังหวะตัวเองก็เป็นไปตามฟิสิกส์เดียวกัน: สถานะพังเหมือนกัน บันทึกสถานะยังช่วยได้ ('// NEXT' ก่อนที่คุณจะยอมเปิดดู) และเซสชันที่เล่นอยู่ให้กฎง่ายๆ กับคุณ - ตราบใดที่เสียงยังเล่นอยู่ แท็บก็ต้องปิดไว้
เซสชันกลับเข้างานควรยาวแค่ไหน?
เลือกความยาวเท่ากับช่วงงานที่คุณกำลังปกป้อง โดยทั่วไป 30-90 นาที การที่เซสชันจบลงยังทำหน้าที่เป็นจุดพักที่ชอบธรรมด้วย - ลุกขึ้นยืน แล้วกลับเข้างานอีกครั้ง ความยาวที่สม่ำเสมอจะสอนร่างกายของคุณให้รู้จักรูปร่างของช่วงงาน
ฉันทำงานตอนกลางคืนแทนได้ไหม ตอนที่ไม่มีใครมาขัดจังหวะ?
ช่วงเวลาเงียบสงบช่วยได้ แต่การผลักงานที่ต้องคิดลึกทั้งหมดไปทำตอนกลางคืนเป็นการโยนต้นทุนไปให้การนอน และหนี้การนอนเป็นภาษีที่หักโฟกัสหนักกว่า Slack เสียอีก ทางที่ดีกว่า: หนึ่งช่วงงานกลางวันที่ปกป้องไว้พร้อมการกลับเข้างานที่ฝึกฝนมาแล้ว และเก็บกลางคืนไว้พักผ่อนจริงๆ
เซสชั่นการกลับเข้ามาใหม่มีค่าใช้จ่ายเท่าไร?
NeuroBeatX มีราคา $12.99 ต่อเดือน หรือ $9.60 ต่อเดือน โดยเรียกเก็บเป็นรายปี โดยใช้งานฟรี 3 วันแรก หนึ่งชั่วโมงที่ฟื้นตัวได้ต่อสัปดาห์นั้นจ่ายไปแล้วหลายเท่าของเงินเดือนของนักพัฒนา — แต่ให้ทดสอบกับการหยุดชะงักจริงสามวันก่อนที่จะตัดสินใจ
ฝึกจังหวะนี้วันนี้
ครั้งต่อไปที่คุณกลับมานั่งหน้าโค้ด:
- เริ่มเซสชัน Focus ของคุณก่อนแตะคีย์บอร์ด
- อ่านแค่บันทึกสถานะหรือ diff ล่าสุดของคุณ
- ทำการแก้ไขจริงเล็กๆ หนึ่งอย่างภายในสองนาที
- ปกป้องสิบนาทีถัดไปเหมือนช่วงงานนี้ขึ้นอยู่กับมัน - เพราะมันเป็นแบบนั้นจริงๆ
การถูกขัดจังหวะคือส่วนหนึ่งของงาน แต่การเสียเวลาหนึ่งชั่วโมงกับทุกครั้งเป็นสิ่งที่เลือกได้ ลองใช้ NeuroBeatX ฟรี 3 วัน
ทดลองฟรี 3 วัน · จากนั้น $12.99/เดือน · ยกเลิกได้ทุกเมื่อ