#1 tech recruiter in thailand

Pair Programming ดีต่อ Developer อย่างไร

See the original English version of this article here

โดยทั่วไปคนมักจะคิดว่า การทำงานไอทีโดยเฉพาะถ้าเป็น Developer ด้วยแล้ว มักจะเขียน Code ของตนเองไป หรือตามแต่จะได้รับมอบหมาย แต่ในโลกของการทำงานจริงๆ นั้น การทำงานแบบ Pair Programming หรือ เขียน Program กันเป็นคู่ ดูเหมือนจะส่งผลดีในระระยาวมากกว่า Code คนเดียว จะมีเทคนิคการเลือกคู่หู ข้อดีหรือรายละเอียดอื่นที่น่าสนใจอย่างไรบ้าง อยากให้ติดตามได้จากบทความนี้ โดยเฉพาะอย่างยิ่งคนที่เป็น Developer มือใหม่อยู่

ก่อนอื่นมาดูว่า Pair Programming คืออะไร

ใน Wikipedia ได้อธิบายไว้ว่า “Pair Programming เป็นเทคนิคการพัฒนา Software แบบ Agile ซึ่งมี Programmer 2 คนทำงานร่วมกันที่ Work Station เดียวกัน คนหนึ่งเขียน Code ในขณะที่อีกคนจะคอย observe หรือ review code แต่ละบรรทัด ในขณะเดียวกันพวกเขาจะสลับบทบาทและหน้าที่กันอยู่เสมอ”

คนที่ร่วมกัน Code มี Mindset ที่เปลี่ยนแปลงไปอย่างไร

ในระหว่างการ review คนที่ observe จะช่วยดูทิศทาง “กลยุทธิ์” การทำงาน พร้อมไอเดียในการปรับปรุงและแก้ปัญหาที่อาจเกิดในอนาคต ซึ่งช่วยให้พวกเขา focus ความสนใจทั้งหมดไปยังปัจจัยด้าน Tactic ของการทำงานเพื่อให้มันสำเร็จจนได้

แล้ว Pair Programming ทำให้พวกเขารู้สึกไม่สะดวกในการทำงานไหม

เชื่อว่าหลายคนอาจคิดแบบนี้ ไม่เว้น Marcus Gardiner ซึ่งผู้เขียนบทความก็ตาม ดังนั้น เพื่อไม่ให้เกิดความกลางแคลงใจ คงต้องมาดูกันว่า เมื่อเราใช้วิธีการทำงานแบบ Pair Programming แล้ว มันจะเกิดประโยชน์หรือส่งผลดีอะไรบ้าง

ข้อดี 3 ประการ จากการทำงานแบบ Pair Programming

1. Pair Programming เป็นวิธีที่ยอดเยี่ยมในการเรียนรู้จาก Coder คนอื่นๆ

เวลาทำงานร่วมกับคนอื่น คุณจะพบว่า แต่ละคนอาจมีพื้นฐานความรู้ที่แตกต่างกันซึ่งคุณจะได้เรียนรู้ในสิ่งใหม่ๆ ที่คุณไม่เคยรู้จากอีกคน โดยเฉพาะอย่างยิ่งการเขียน Program ที่ดี และในท้ายที่สุดคุณจะได้นำมาประยุกต์ใช้ในการแก้ปัญหาของคุณ นอกจากนี้คุณจะได้เรียนรู้ Process การทำงานจากคนอื่น และได้รับ Feedback ใน Coding process ของคุณ รวมทั้งจะได้ประโยชน์ในเรื่อง Rubber-ducking ซึ่งเป็นวิธีที่ดีในการ Debug Code อีกด้วย

2. Pair Programming เป็นสภาพแวดล้อมที่ดีในการฝึกทักษะทำงานเป็นทีม ซึ่งเป็นหัวใจของการพัฒนา Software

ก่อนหน้านี้เรารู้แล้วว่า การสร้าง Software ต้องทำเป็นทีม ดังนั้น การฝึก Coding โดยใช้ไอเดียร่วมกับคนอื่น มันจะทำให้คุณเกิดทักษะ Soft skill คือ ทักษะทำงานร่วมกับผู้อื่น ซึ่งมีความสำคัญต่อการทำงานในทีมพัฒนา Software ที่ใหญ่ขึ้นในอนาคต

3. Pair Programming จะมีประโยชน์อย่างยิ่ง สำหรับ Developer มือใหม่

จากงานวิจัยของ Laurie Williams ได้สนับสนุนว่า การทำงานแบบ Pair Coding ให้ผลออกมาดีที่สุดเมื่อต้องทำงานที่มีความซับซ้อนสูงและในบุคคลที่มีความรู้ด้าน Programming ในระดับเดียวกัน ในฐานะที่เป็น Coder มือใหม่ คุณอาจพบกับงานที่มีความซับซ้อน เนื่องจากคุณยังไม่มีประสบการณ์และความรู้ที่จะสามารถ Coding งานที่เฉพาะเจาะจงได้ง่ายนัก ส่วนคู่หูของคุณซึ่งมีแนวโน้มที่จะมีความรู้ด้านการ Coding ในระดับใกล้เคียงกับคุณ นั่นหมายถึง คุณและคู่หูก็ต่างคนต่างเก่งหรือเชี่ยวชาญในคนละเรื่องกัน ทำให้พวกคุณจะได้เรียนรู้จากกันและกัน

แล้วจะเริ่มต้นอย่างไรดี

เริ่มด้วยการหาคู่หูที่เหมาะสมให้ได้ก่อน (ถ้าเป็นไปได้ น่าจะเป็นคนที่มีทักษะใกล้เคียงกัน หรือไม่แตกต่างกันมากจนเกินไป) ซึ่งน่าจะเป็นเพื่อนหรือคนที่คุณจะทำงานร่วมกันกับคุณในระยะเวลาพอสมควร ซึ่งในที่ทำงานมักใช้การจับคู่กันระหว่าง Jr. Developer และ Sr. Developer เพื่อจะได้ให้ Jr. Developer เรียนรู้จาก Sr. Developer ได้เร็วขึ้น การมีคู่หูที่อยู่ที่ทำงานเดียวกันถือเป็นแนวทางที่ดีที่สุด แต่หากไม่มี คุณสามารถใช้วิธีการ Remote Pairing ก็ได้เพราะแม้ไม่ได้เจอตัวกันแต่คุณก็สามารถใช้ Program Share Screen อย่าง Skype หรือ Mikogo ก็ได้

ถ้าหาคู่หูในที่ทำงานไม่ได้ ก็ต้องหาทางทำความรู้จัก Developer คนอื่นด้วยตนเอง

การรู้จัก Developer คนอื่นๆ ถือเป็นช่องทางสำคัญที่จะทำให้คุณได้เรียนรู้มากขึ้น คุณจะได้แนวคิดจากคนอื่น ได้ร่วมกันออกไอเดีย และได้เรียนรู้จุดแข็งของคนอื่นๆ ดังนั้น คุณควรหาโอกาสที่จะหาทาง Connect กับ Developer คนอื่นๆ ให้มากเข้าไว้

หากคุณยังเป็นมือใหม่ อยากให้ลองเข้าไปใน Community เหล่านี้ดู

1) เข้าร่วมพวก Coding Community ที่ผู้คนมารวมกันเพื่อ Coding/เรียนรู้การ Coding (เช่น ในลอนดอน คุณสามารถเข้าร่วม ‘London Hackspace‘) คุณอาจหาผ่านช่องทาง Social Media หรือสื่ออนไลน์ก็มีมากมายให้เลือก

2) เข้าร่วม Coding Community Events โดยเฉพาะที่มี Developer มือใหม่ไปกันเยอะๆ อาจเป็น Bootcamp หรืองานสัมมนา/Workshop เป็นต้น

เมื่อเจอคนที่คาดว่าน่าจะเป็นคู่หูได้แล้ว ลองใช้ 2 เทคนิคเพื่อเลือก Pair Programming ดู

(1) Pomodoro Pairing: ลองจับเวลา 25 นาที แล้วให้คนหนึ่งเป็นคน Code อีกคนหนึ่งคอยตรวจดู และทุก 25 นาทีคุณสามารถหยุดพักได้สักครู่แล้วก็เริ่มสลับหน้าที่กัน คุณอาจลองใช้ Chrome Extension เหล่านี้ดู

(2) Ping-pong Pairing: ให้คนหนึ่ง (A) เขียน Failing Test แล้วส่งต่อให้อีกคนหนึ่ง (B) แก้ไขมันให้ได้ จากนั้นให้ Refactor Code แล้วเขียน Failing Test เพื่อส่งกลับไปให้อีกคนหนึ่งแก้ไข และทำเช่นนี้วนกันไป ลองดูตัวอย่างในภาพด้านล่าง

Ping-Pong-Pairing

หากคุณสนใจ Pair Programming Techniques ลองดูเพิ่มเติมได้จาก:

จากนั้นปรับมุมมองการ Coding ให้ Balance กัน

ณ จุดนี้คุณน่าจะได้คู่หูที่น่าจะทำงานด้วยกันได้แล้ว ซึ่งการปรับมุมมองให้ Balance กัน อันที่จริง Pair Programming ไม่ใช่เรื่องที่ทำได้ง่ายนัก การเรียนรู้ที่จะอธิบายและบอก Coding Process ของคุณให้คนอื่นเข้าใจและรับรู้มันทำได้ยาก การทำงานกับคนอื่นโดยทั่วไปอาจเป็นเรื่องยากและบางสถานการณ์มันกลับทำให้เกิดปัญหาได้ (เช่น กรณีที่ทักษะหรือเป้าหมายของทั้งคู่ไม่ตรงกัน)

อย่างไรก็ตาม หากคุณกำลังเรียนรู้การ Coding อยู่และต้องทำงานในทีม Software Development ก็คงไม่มีทางใดที่ช่วยคุณมากไปกว่าการทำงานร่วมกันแบบ Pair Programming แล้วเพราะคุณจะได้เรียนรู้จากคนที่มีพื้นฐานและความสามารถที่แตกต่างกันได้ และบางทีการทำงานแบบนี้ มันอาจจะสนุกกว่าที่คุณคิดก็ได้

ISM Technology Recruitment Ltd. (#1 Tech Recruiter in Thailand) เราเชี่ยวชาญในธุรกิจ IT Recruitment & IT Outsourcing โดยเฉพาะ เปิดทำการกว่า 25 ปี มีพนักงานทุกสายและทุกระดับทางด้าน IT ที่ได้ร่วมงานกับลูกค้าองค์กรใหญ่ที่มีชื่อเสียงและบริษัทข้ามชาติมากมาย หากคุณเป็นคน IT ที่อยากทำงานท้าทายและร่วมงานกับองค์กรชั้นนำ สามารถฝากประวัติการทำงาน (Resume) ของคุณไว้กับ ISM ได้ที่ https://www.ismtech.net/submit-your-resume แล้วคุณจะพบว่าอนาคตและโอกาสก้าวหน้ากำลังรอคุณอยู่

Source:  https://freecodecamp.org/

en