ชื่อที่คนทั้งโลกจดจำได้จากภารกิจ Apollo 11 คือ Neil Armstrong มนุษย์คนแรกที่เหยียบดวงจันทร์ และ Buzz Aldrin ชายผู้เดินตามหลังเขาลงมา
แต่ในห้องมอนิเตอร์เล็ก ๆ ของห้องแล็บแห่งหนึ่งที่ MIT คืนวันที่ 20 กรกฎาคม 1969 ไม่มีใครสนใจชื่อของผู้หญิงวัย 32 ปีที่นั่งเฝ้าคอมพิวเตอร์อยู่ตลอดคืนนั้น ทั้งที่หากไม่มีชุดโค้ดของเธอ ยานลำนั้นอาจไม่มีทางลงจอดได้อย่างปลอดภัย
เธอชื่อ Margaret Hamilton และตำแหน่งที่เธอถืออยู่ในตอนนั้นยังไม่มีชื่อเรียกอย่างเป็นทางการด้วยซ้ำ เพราะคำว่า Software Engineer ยังไม่มีอยู่จริงในโลก และเธอคือคนที่ต้องบัญญัติมันขึ้นมาเอง และบทความนี้จะมาเล่าให้ฟังถึงเส้นทางการกำเนิดตำแหน่ง Software Engineer

เส้นทางของ Hamilton ไม่ได้เริ่มต้นจากห้องทดลองของ NASA เธอเติบโตในรัฐมิชิแกน โดยมีพ่อที่ชอบชวนถกปัญหาปรัชญาและปลูกฝังคำถามติดปากว่า “ถ้าเกิดเหตุการณ์แบบนี้ล่ะ?” วิธีคิดที่ต้องคาดเดาความผิดพลาดล่วงหน้า กลายมาเป็นหลักการทำงานตลอดชีวิตของเธอ
เธอเริ่มต้นเส้นทางอาชีพด้วยการเข้าเรียนคณิตศาสตร์ควบปรัชญาที่ Earlham College โดยไม่มีวิชาคอมพิวเตอร์อยู่ในหลักสูตรเลยสักวิชา เพราะยุคนั้นสาขานี้ยังไม่มีอยู่ หลังเรียนจบในปี 1958 และย้ายตามสามีมาบอสตัน เธอตั้งใจจะหางานทำคั่นเวลาเพื่อหาเงินส่งสามีเรียนต่อกฎหมายที่ Harvard ก่อนที่ตัวเองจะไปต่อปริญญาโทด้านคณิตศาสตร์
ไม่มีใครคาดคิดว่า "งานคั่นเวลา" ที่เธอหาได้ในตอนนั้น คือตำแหน่งเขียนโปรแกรมคอมพิวเตอร์ที่ MIT ทั้งที่เธอไม่เคยเห็นคอมพิวเตอร์มาก่อนในชีวิต
ในปี 1959 Hamilton เริ่มงานกับ Edward Lorenz นักอุตุนิยมวิทยาชื่อดังผู้บุกเบิก Chaos Theory เธอต้องคีย์ข้อมูลพยากรณ์อากาศลงเครื่องคอมพิวเตอร์ LGP-30 น้ำหนัก 800 ปอนด์ ยุคนั้นไม่มีคู่มือสอนเขียนโค้ด เวลาโปรแกรมรวน เธอต้องเรียนรู้เองตั้งแต่ศูนย์ นั่งใช้ดินสอกับเทปกาวตัดต่อเทปกระดาษเพื่อแก้โค้ดไบนารีด้วยมือ บทเรียนจาก Lorenz สอนให้เธอรู้ว่า ข้อผิดพลาดเพียงมิลลิเมตรเดียวในระบบ สามารถส่งผลลัพธ์ที่ใหญ่โตมหึมาได้เสมอ
ในปี 1961 เธอย้ายไปทำงานที่ MIT Lincoln Lab ในโครงการ SAGE ซึ่งเป็นระบบคอมพิวเตอร์ขนาดเท่าโกดังของกองทัพ ใช้ตรวจจับเครื่องบินข้าศึก ทุกครั้งที่ระบบล่ม มันจะส่งเสียงคล้ายแตรและไซเรนดังลั่นทั้งห้องปฏิบัติการ
ในยุคนั้น เวลาโปรแกรมเมอร์ทำระบบล่ม คนส่วนใหญ่จะรีบแก้บั๊กเฉพาะหน้าให้จบ ๆ ไป แล้วก็ลืมมัน แต่ Hamilton มองต่างออกไป เธอเชื่อว่า "ถ้าเราไม่เข้าใจธรรมชาติของความผิดพลาด เราก็ไม่มีทางป้องกันมันได้"
เธอจึงคิดวิธีสุดแปลกขึ้นมา โดยให้โปรแกรมเมอร์ทุกคนที่ทำระบบล่ม ถ่ายรูปโพลารอยด์ตัวเองคู่กับเอกสารโค้ดจุดที่ผิดพลาด แล้วนำรูปทั้งหมดมาแปะเรียงกันบนผนังห้อง ซึ่งผลลัพธ์ที่ได้ไม่ใช่การประจาน แต่เป็นการสร้างกำแพงฐานข้อมูลบั๊กที่ทำให้ทั้งทีมมองเห็น Pattern ร่วมกันว่า จุดไหนของโปรแกรมที่คนมักจะทำพลาดซ้ำ ๆ และอะไรคือสาเหตุที่แท้จริงที่ทำให้ระบบพัง
วิธีคิดนี้เปลี่ยนมุมมองเรื่อง Error จากเดิมที่เป็นอุบัติเหตุที่ต้องตามแก้เฉพาะหน้า ให้กลายเป็นข้อมูลสำคัญที่ต้องศึกษาอย่างเป็นระบบเพื่อป้องกันล่วงหน้า และแนวคิดนี้เอง ได้กลายมาเป็นรากฐานและหัวใจสำคัญที่สุด เมื่อเธอย้ายมาที่ MIT Instrumentation Lab ของ Charles Stark Draper เพื่อรับบทบาทใหญ่ในการเขียนซอฟต์แวร์นำร่องให้ยาน Apollo ในเวลาต่อมา

ปี 1964 Hamilton ก้าวเข้าสู่แล็บ Apollo งานแรกที่เธอได้รับมอบหมายคือเขียนโค้ดสำหรับระบบยกเลิกภารกิจ (Abort Sequence) ซึ่งเธอตั้งชื่อเล่นแบบติดตลกว่า "Forget It" เพราะทุกคนต่างหวังว่าจะไม่มีวันได้ใช้งานจริง แต่เมื่อเกิดเหตุการณ์ฉุกเฉินที่ต้องสั่งยกเลิกภารกิจในการทดลองบินครั้งหนึ่ง โค้ดที่ไม่มีใครคาดหวังกลับทำงานได้อย่างแม่นยำและช่วยเซฟภารกิจไว้ได้ ความสำเร็จครั้งนั้นทำให้ฝีมือของเธอโดดเด่น จนได้รับความไว้วางใจให้ขึ้นเป็นหัวหน้า Software Engineering Division คุมทีมพัฒนาซอฟต์แวร์เกือบ 100 คน
ตำแหน่งใหม่นี้มาพร้อมกับความรับผิดชอบระดับ Man-Rated หรือมาตรฐานงานที่เกี่ยวพันกับชีวิตของนักบินอวกาศโดยตรง
ด้วยความที่ยาน Apollo ต้องเดินทางไกลถึง 240,000 ไมล์จากโลก หากเกิดบั๊กกลางอากาศ จะไม่มีใครขึ้นไปแก้โค้ดได้ทัน Hamilton จึงตระหนักดีว่าซอฟต์แวร์ของเธอไม่อนุญาตให้ผิดพลาดแม้แต่ครั้งเดียว วิธีคิดของเธอจึงเป็นการ "มองหาจุดที่จะพังล่วงหน้า" และตั้งคำถามกับทุกความเป็นไปได้ เช่น “ถ้ามีคนกดสวิตช์ผิดตัวในจังหวะที่ไม่ควรดูล่ะ จะเกิดอะไรขึ้น?”
แต่ในยุคนั้น ผู้บริหารหลายคนกลับมองว่าวิธีคิดแบบคาดเดาความผิดพลาดของมนุษย์ของเธอ เป็นเรื่องกังวลเกินกว่าเหตุ จนกระทั่งคืนหนึ่ง Hamilton พา Lauren ลูกสาววัย 4 ขวบมาทำงานที่แล็บด้วย
ขณะที่เธอกำลังทดสอบระบบ เด็กน้อยได้เล่นซนกดคอมพิวเตอร์แท่นจำลองการบิน แล้วเผลอไปเลือกโปรแกรม P01 ซึ่งเป็นคำสั่งที่ใช้เฉพาะช่วงก่อนปล่อยยานออกจากฐาน ส่งผลให้ระบบจำลองเข้าใจผิดว่ายานกำลังจะขึ้นบินใหม่ และทำการลบข้อมูลนำทางทั้งหมดทิ้งทันทีกลางอากาศ
Hamilton เห็นสัญญาณเตือนภัยนี้ จึงรีบเสนอขอเพิ่มโค้ดป้องกันไม่ให้นักบินกด P01 ผิดจังหวะระหว่างบิน แต่ผู้บริหารกลับปฏิเสธและมองว่า “นักบินอวกาศผ่านการฝึกมาอย่างเข้มงวด ไม่มีทางทำเรื่องผิดพลาดง่ายๆ แบบเด็ก 4 ขวบแน่นอน” สิ่งเดียวที่เธอทำได้ในตอนนั้นคือการเขียนโน้ตเตือนเล็ก ๆ กำกับไว้ในเอกสารคู่มือปฏิบัติการ
แต่สิ่งที่เธอคาดการณ์ไว้ก็เกิดขึ้นจริง ในภารกิจ Apollo 8 นักบินอวกาศ Jim Lovell ได้เผลอกดโปรแกรม P01 ผิดจังหวะจริง ๆ ขณะยานกำลังโคจรรอบดวงจันทร์ ทำให้ข้อมูลนำทางทั้งหมดสูญหายไปในพริบตา ทีมของ Hamilton ต้องทำงานแข่งกับเวลานานถึง 9 ชั่วโมงเพื่อกู้ระบบและอัปโหลดข้อมูลใหม่กลับขึ้นไป เหตุการณ์ที่ถูกเรียกว่า Lauren Bug ในวันนั้น จึงกลายเป็นบทเรียนราคาแพงที่พิสูจน์ว่าวิธีคิดของเธอถูกต้อง และทำให้ผู้บริหารยอมอนุมัติให้เพิ่มโค้ดป้องกันลงในภารกิจถัดไปทันที
บททดสอบครั้งใหญ่ที่สุดมาถึงในวันที่ 20 กรกฎาคม 1969 ขณะที่ยาน Eagle ในภารกิจ Apollo 11 กำลังไต่ระดับลงจอดบนผืนดวงจันทร์
จู่ ๆ เกิดเหตุไม่คาดคิดเมื่อสวิตช์เรดาร์นัดพบถูกเปิดค้างไว้โดยไม่ตั้งใจ ส่งผลให้มันส่งข้อมูลขยะเข้ามาป่วนระบบอย่างต่อเนื่อง คอมพิวเตอร์นำทางเริ่มโดนดึงกำลังประมวลผลไปถึง 13% ในขณะที่ระบบนำร่องลงจอดต้องการทรัพยากรสูงถึง 90% เมื่อรวมกันเป็น 103% คอมพิวเตอร์จึงเริ่มทำงานเกินกำลัง และส่งสัญญาณเตือนภัยรหัส 1202 และ 1201 ดังระงมขึ้น 5 ครั้งกลางอากาศ เพียงไม่กี่นาทีก่อนที่ยานจะสัมผัสพื้นผิว

ในห้องมอนิเตอร์ Hamilton เล่าถึงวินาทีนั้นว่ามันคือ Sheer Terror หรือความหวาดกลัวสุดขีด เพราะหากคอมพิวเตอร์ล่ม ยานจะพุ่งชนดวงจันทร์ทันที
แต่สิ่งที่ทำให้ยานไม่ตก คือสถาปัตยกรรมซอฟต์แวร์ที่ Hamilton และทีมออกแบบไว้ล่วงหน้า ที่เรียกว่าระบบจัดลำดับความสำคัญ (Priority Scheduling)
ระบบนี้ฉลาดพอที่จะรู้ว่า งานไหนสำคัญต่อชีวิต และงานไหนรอได้ เมื่อเครื่องเริ่มโอเวอร์โหลด ซอฟต์แวร์ของเธอจึงตัดสินใจสั่งตัดงานที่มีความสำคัญต่ำอย่างการประมวลผลเรดาร์ทิ้งไปโดยอัตโนมัติ แล้วทุ่มกำลังคอมพิวเตอร์ 100% ทั้งหมดไปที่การสั่งการเครื่องยนต์ลงจอดเพียงอย่างเดียว
เมื่อศูนย์ควบคุมภาคพื้นดินที่ฮุสตันเช็กสัญญาณเตือนแล้วพบว่า ซอฟต์แวร์กำลังเคลียร์งานขยะทิ้งเองตามแผน และระบบนำร่องหลักยังคงทำงานได้อย่างสมบูรณ์ พวกเขาจึงกล้าตัดสินใจสั่งให้นักบินเดินหน้าลงจอดต่อ
เวลา 03:17 น. ยาน Eagle แตะพื้นผิวดวงจันทร์อย่างปลอดภัย Hamilton เคยพูดถึงช่วงเวลานี้ไว้ด้วยความภาคภูมิใจว่า
“แม้ Neil Armstrong และ Buzz Aldrin จะเป็นมนุษย์กลุ่มแรกที่เหยียบดวงจันทร์ แต่ซอฟต์แวร์ของพวกเราต่างหากที่ได้ไปทำงานบนดวงจันทร์เป็นสิ่งแรก”
ทว่า แม้ซอฟต์แวร์ของเธอจะเป็นกุญแจสำคัญที่พามนุษยชาติไปเหยียบดวงจันทร์ได้สำเร็จ เมื่อกลับมาถึงโลก Hamilton ยังคงต้องเผชิญกับคำถามที่บาดลึกว่า งานเขียนโค้ดของเธอทำนับเป็นวิศวกรรมจริง ๆ หรือเปล่า?
เพราะในยุคนั้น คำว่า วิศวกรรม ถูกสงวนไว้ให้ผู้สร้างฮาร์ดแวร์ สิ่งก่อสร้าง หรือชิ้นส่วนเหล็กที่จับต้องได้เท่านั้น งานเขียนบรรทัดข้อความลงบนกระดาษถูกมองเป็นเพียงงานเอกสารหรือการคีย์ข้อมูลชั้นรอง
Hamilton ไม่ยอมรับค่านิยมนั้น เธอเริ่มยืนกรานเรียกตำแหน่งของตัวเองและทีมงานว่า Software Engineer แม้ในช่วงแรกจะถูกวิศวกรสายฮาร์ดแวร์หัวเราะเยาะมองว่าเป็นการยกยอตัวเองเกินจริงก็ตาม แต่เธอสู้และพิสูจน์ให้เห็นว่า งานซอฟต์แวร์ต้องมีการวางโครงสร้าง มีหลักการคำนวณ และมีกระบวนการออกแบบที่รัดกุมไม่ต่างจากวิศวกรรมตึกหรือสะพาน
จนในที่สุด คำคำนี้ก็ได้รับการยอมรับ และกลายมาเป็นชื่อตำแหน่งงานของคนนับสิบล้านคนทั่วโลกในปัจจุบัน
หลังจบภารกิจ Apollo เธอทำงานต่อในโครงการสถานีอวกาศ Skylab ก่อนจะออกมาก่อตั้งบริษัท Hamilton Technologies เพื่อพัฒนาแนวคิด Universal Systems Language (USL) ซึ่งเป็นปรัชญาการออกแบบระบบเพื่อป้องกันไม่ให้ Error เกิดขึ้นตั้งแต่ต้นทาง ต่อผู้ยึดมั่นในบทเรียนตลอดชีวิตการทำงานของเธอ
กว่าโลกจะมอบเกียรติยศให้เธออย่างเป็นทางการ เวลาผ่านไปเกือบครึ่งศตวรรษ เธอได้รับรางวัล NASA Exceptional Space Act Award ในปี 2003, เหรียญ Presidential Medal of Freedom จากประธานาธิบดี Barack Obama ในปี 2016 และถูกนำไปทำเป็นตัวต่อ Lego ในชุด Women of NASA ในปี 2017
ภาพถ่ายขาวดำอันโด่งดังจากปี 1969 ที่เธอยืนยิ้มเคียงข้างกองเอกสารซอร์สโค้ดสูงท่วมหัว กลายเป็นภาพจำประวัติศาสตร์ของวงการ และในวาระครบรอบภารกิจ Apollo 11 โค้ดกว่า 145,000 บรรทัด ที่เธอเขียน ก็ถูกนำขึ้นไปเปิดให้ทุกคนบนโลกศึกษาได้ฟรีบน GitHub
ในคืนที่ Apollo 11 ลงจอด โลกจดจำชื่อของนักบินอวกาศสองคนแรกบนดวงจันทร์ แต่ทุกครั้งที่มีใครแนะนำตัวว่าเป็น Software Engineer ในวันนี้ พวกเขากำลังใช้คำที่ผู้หญิงคนหนึ่งต้องสู้เพื่อบัญญัติมันขึ้นมา เพียงเพื่อพิสูจน์ให้โลกเห็นว่างานที่ไม่มีใครมองเห็นของเธอ มีคุณค่าและมีตัวตนอยู่จริง
อ้างอิง: wehackthemoon, technologyreview, computer.org, science.nasa.gov, news.mit.edu, github, britannica
ลงทะเบียนเข้าสู่ระบบ เพื่ออ่านบทความฟรีไม่จำกัด