
ฉันกำลังดูโค้ดอยู่ชิ้นหนึ่ง ซึ่งอาจเป็นโค้ดที่แย่ที่สุดเท่าที่ฉันเคยเห็นมาเลยก็ได้ ในการอัปเดตเรคคอร์ดฐานข้อมูลเพียงรายการเดียว มันจะดึงเรคคอร์ดทั้งหมดในคอลเล็กชัน แล้วส่งคำขออัปเดตสำหรับทุกเรคคอร์ดในฐานข้อมูล แม้แต่เรคคอร์ดที่ไม่จำเป็นต้องอัปเดตก็ตาม มีฟังก์ชัน map ที่ส่งคืนค่าที่ส่งไปให้เท่านั้น มีการตรวจสอบเงื่อนไขสำหรับตัวแปรที่มีค่าเหมือนกันอย่างเห็นได้ชัด เพียงแต่ตั้งชื่อด้วยสไตล์ที่ต่างกัน (firstName и first_name) สำหรับการอัพเดทแต่ละครั้ง โค้ดจะส่งข้อความไปยังคิวอื่น ซึ่งจะถูกประมวลผลโดยฟังก์ชันแบบไร้เซิร์ฟเวอร์อื่น แต่ทำงานทั้งหมดสำหรับคอลเล็กชันอื่นในฐานข้อมูลเดียวกัน ผมได้บอกไปแล้วใช่ไหมว่าฟังก์ชันแบบไร้เซิร์ฟเวอร์นี้มาจาก "สถาปัตยกรรมแบบมุ่งเน้นบริการ" บนคลาวด์ ซึ่งประกอบด้วยฟังก์ชันมากกว่า 100 รายการในสภาพแวดล้อม
คนแบบนี้ทำได้ยังไงกัน ฉันเอามือปิดหน้า สะอื้นไห้เสียงดังลั่นท่ามกลางเสียงหัวเราะ เพื่อนร่วมงานถามว่าเกิดอะไรขึ้น ฉันก็เล่าได้อย่างแจ่มชัด รายการที่แย่ที่สุดของ BulkDataImporter.js ปี 2018ทุกคนพยักหน้าเห็นใจและเห็นด้วยว่าพวกเขาทำแบบนี้กับเราได้อย่างไร
ความคิดเชิงลบ: เครื่องมือทางอารมณ์ในวัฒนธรรมโปรแกรมเมอร์
ความคิดเชิงลบมีบทบาทสำคัญในการเขียนโปรแกรม มันฝังรากลึกอยู่ในวัฒนธรรมของเราและใช้เพื่อแบ่งปันสิ่งที่เราได้เรียนรู้ (“คุณไม่ได้ คุณจะเชื่อ, รหัสนั้นเป็นยังไงบ้าง!") เพื่อแสดงความเห็นอกเห็นใจผ่านความหงุดหงิด ("โอ้พระเจ้า ทำไมคุณถึงทำแบบนั้น?") เพื่อแสดงตัวเองในแง่ดี ("ฉันจะไม่ ดังนั้น "ไม่ได้ทำ") เพื่อโยนความผิดให้คนอื่น ("เราล้มเหลวเพราะโค้ดของเขา ซึ่งไม่สามารถดูแลรักษาได้") หรืออย่างที่มักเกิดขึ้นในองค์กรที่ "มีพิษ" ที่สุด เพื่อควบคุมผู้อื่นด้วยความรู้สึกละอายใจ ("คุณคิดอะไรอยู่เนี่ย? แก้ไขมันซะ")

ความคิดเชิงลบมีความสำคัญอย่างยิ่งต่อโปรแกรมเมอร์ เพราะเป็นวิธีที่มีประสิทธิภาพมากในการถ่ายทอดคุณค่า ครั้งหนึ่งฉันเคยเข้าร่วมค่ายฝึกการเขียนโปรแกรม และวิธีปฏิบัติมาตรฐานในการปลูกฝังวัฒนธรรมของอุตสาหกรรมนี้ให้กับนักศึกษาคือการใช้มีม เรื่องราว และวิดีโอจำนวนมาก ซึ่งวิดีโอที่ได้รับความนิยมมากที่สุดถูกนำไปใช้ประโยชน์ การใช้เครื่องมือทางอารมณ์เพื่อจำแนกประเภทการปฏิบัติต่างๆ เป็นเรื่องที่ดี ไม่ดี น่าเกลียด อย่าทำอย่างนี้ และอย่าทำเด็ดขาด เป็นเรื่องดี มือใหม่ต้องเตรียมพร้อมรับมือกับความจริงที่ว่าพวกเขาอาจถูกเพื่อนร่วมงานที่ไม่ใช่มืออาชีพด้านไอทีเข้าใจผิด เพื่อนของพวกเขาจะเริ่มขายไอเดียแอปพลิเคชันมูลค่าล้านเหรียญให้พวกเขา พวกเขาจะต้องฝ่าฟันเขาวงกตของโค้ดเก่าๆ มากมาย ท่ามกลางฝูงมิโนทอร์ที่ซุ่มซ่อนอยู่ตามมุมถนน
เมื่อเราเริ่มเรียนรู้การเขียนโปรแกรมครั้งแรก การรับรู้ถึงความลึกซึ้งของ "ประสบการณ์การเขียนโปรแกรม" ของเราจะขึ้นอยู่กับการสังเกตปฏิกิริยาทางอารมณ์ของผู้อื่น ซึ่งเห็นได้ชัดเจนในโพสต์ต่างๆ ที่ซึ่งโปรแกรมเมอร์มือใหม่หลายคนมักมารวมตัวกัน คอมเมนต์ตลกๆ มากมายแฝงไปด้วยแง่ลบในระดับต่างๆ เช่น ความผิดหวัง การมองโลกในแง่ร้าย ความขุ่นเคือง การดูถูกเหยียดหยาม และอื่นๆ อีกมากมาย และถ้ายังไม่พอ ลองอ่านคอมเมนต์เหล่านี้ดู

ผมสังเกตเห็นว่าเมื่อโปรแกรมเมอร์มีประสบการณ์มากขึ้น ความคิดเชิงลบของพวกเขาก็กลายเป็นแง่ลบมากขึ้นเรื่อยๆ มือใหม่ที่ไม่รู้ถึงความยากลำบากที่รออยู่ข้างหน้า ก็เริ่มเชื่ออย่างกระตือรือร้นและเต็มใจว่าความยากลำบากเหล่านี้เกิดจากการขาดประสบการณ์และความรู้ และในที่สุดพวกเขาก็จะต้องเผชิญกับความเป็นจริงของสถานการณ์นั้น
เมื่อเวลาผ่านไป พวกเขาจะได้รับประสบการณ์และพัฒนาความสามารถในการแยกแยะโค้ดที่ดีออกจากโค้ดที่ไม่ดี และเมื่อถึงช่วงเวลานี้ โปรแกรมเมอร์รุ่นใหม่จะรู้สึกหงุดหงิดจากการทำงานกับโค้ดที่เห็นได้ชัดว่าไม่ดี และหากพวกเขาทำงานเป็นทีม (ทั้งแบบออนไลน์และแบบพบหน้า) พวกเขามักจะรับเอานิสัยทางอารมณ์ของเพื่อนร่วมงานที่มีประสบการณ์มากกว่ามาใช้ ซึ่งมักนำไปสู่ทัศนคติเชิงลบที่เพิ่มมากขึ้น เนื่องจากโปรแกรมเมอร์รุ่นใหม่สามารถพูดคุยเกี่ยวกับโค้ดได้อย่างมีวิจารณญาณ และแยกแยะระหว่างโค้ดที่ดีและไม่ดีได้ แสดงให้เห็นว่าพวกเขา "รู้ดี" ยิ่งตอกย้ำทัศนคติเชิงลบมากขึ้นไปอีก ความหงุดหงิดทำให้การสร้างสัมพันธ์กับเพื่อนร่วมงานและกลายเป็นส่วนหนึ่งของกลุ่มง่ายขึ้น การวิพากษ์วิจารณ์โค้ดที่ไม่ดีจะช่วยยกระดับสถานะและความเป็นมืออาชีพของคุณในสายตาของผู้อื่น .
การขยายความคิดเชิงลบไม่จำเป็นต้องเป็นเรื่องเลวร้ายเสมอไป การอภิปรายเกี่ยวกับการเขียนโปรแกรมนั้นมุ่งเน้นไปที่คุณภาพของโค้ดที่เขียนขึ้น ลักษณะของโค้ดเป็นตัวกำหนดฟังก์ชันที่โค้ดนั้นต้องการทำ (ยกเว้นฮาร์ดแวร์ เครือข่าย ฯลฯ) ดังนั้นการแสดงความคิดเห็นเกี่ยวกับโค้ดนั้นจึงเป็นสิ่งสำคัญ การอภิปรายเกือบทั้งหมดสรุปได้ว่าโค้ดนั้นดีพอหรือไม่ และเป็นการประณามการแสดงออกของโค้ดที่แย่ ซึ่งแสดงออกถึงอารมณ์ความรู้สึกที่บ่งบอกถึงคุณภาพของโค้ด:
- "โมดูลนี้มีข้อไม่สอดคล้องทางตรรกะมากมายและเป็นตัวเลือกที่ดีสำหรับการปรับปรุงประสิทธิภาพอย่างมีนัยสำคัญ"
- "โมดูลนี้ค่อนข้างแย่ เราจำเป็นต้องรีแฟกเตอร์มัน"
- "โมดูลนี้ไม่สมเหตุสมผลและจำเป็นต้องเขียนใหม่"
- "โมดูลนี้ห่วยมาก ต้องมีการแก้ไข"
- "นี่คือชิ้นส่วนของแรม ไม่ใช่โมดูล ไม่จำเป็นต้องเขียนด้วยซ้ำ ผู้สร้างคิดอะไรอยู่"
โดยบังเอิญ มันเป็น "การปลดปล่อยอารมณ์" นี้เองที่ทำให้เหล่านักพัฒนาเรียกโค้ดว่า "เซ็กซี่" ซึ่งไม่ค่อยยุติธรรมนัก เว้นแต่คุณจะทำงานที่ PornHub
ปัญหาคือมนุษย์เป็นสิ่งมีชีวิตที่แปลกประหลาด ไม่รู้จักหยุดนิ่ง และมีอารมณ์ต่างๆ มากมาย การรับรู้และการแสดงออกของอารมณ์ต่างๆ จะทำให้ตัวเราเปลี่ยนไป ในตอนแรกอาจเปลี่ยนแปลงไปอย่างละเอียดอ่อน แต่เมื่อเวลาผ่านไป การเปลี่ยนแปลงนี้จะเปลี่ยนแปลงไปอย่างมาก
ทางลาดลื่นของความคิดเชิงลบ
ไม่กี่ปีที่ผ่านมา ผมเคยเป็นหัวหน้าทีมแบบไม่เป็นทางการและสัมภาษณ์นักพัฒนาคนหนึ่ง เราชอบเขามาก เขาฉลาด ถามคำถามได้ดี มีความรู้ทางเทคนิค และเข้ากับวัฒนธรรมของเราได้อย่างลงตัว ผมประทับใจเป็นพิเศษกับทัศนคติเชิงบวกและความกล้าได้กล้าเสียของเขา ผมจึงจ้างเขา
ณ จุดนั้น ผมทำงานที่บริษัทมาสองสามปีแล้ว และรู้สึกว่าวัฒนธรรมองค์กรของเราไม่ค่อยมีประสิทธิภาพเท่าไหร่ เราพยายามเปิดตัวผลิตภัณฑ์สองสามครั้ง และอีกสองสามครั้งก่อนที่ผมจะมาทำงาน ทำให้ต้องเสียค่าแก้ไขงานมหาศาล ซึ่งระหว่างนั้นเราก็ไม่ได้อะไรเลย นอกจากการทำงานกลางคืนที่ยาวนาน กำหนดเวลาที่กระชั้นชิด และผลิตภัณฑ์ที่ควรจะใช้งานได้จริง และในขณะที่ผมยังทำงานหนักอยู่ ผมก็รู้สึกกังขาเกี่ยวกับกำหนดเวลาล่าสุดที่ฝ่ายบริหารกำหนดไว้ ผมถึงกับสบถด่าอย่างไม่ตั้งใจขณะพูดคุยเรื่องโค้ดบางส่วนกับเพื่อนร่วมงาน
ดังนั้นจึงไม่น่าแปลกใจ—แม้ว่าฉันจะแปลกใจ—ที่ไม่กี่สัปดาห์ต่อมา นักพัฒนาคนใหม่คนเดิมก็แสดงความรู้สึกเชิงลบเช่นเดียวกับฉัน (รวมถึงการใช้คำหยาบ) ฉันตระหนักว่าเขาคงจะทำตัวต่างออกไปในบริษัทอื่นที่มีวัฒนธรรมที่แตกต่าง เขาเพียงแค่ปรับตัวเข้ากับวัฒนธรรมที่ฉันสร้างขึ้น ฉันรู้สึกผิดอย่างมาก เพราะประสบการณ์ส่วนตัวของฉัน ฉันจึงปลูกฝังความคิดแง่ลบให้กับมือใหม่ที่ฉันมองว่าแตกต่างอย่างสิ้นเชิง แม้ว่าเขาจะไม่ได้เป็นแบบนั้นจริงๆ และแค่พยายามทำตัวแบบนั้นเพื่อแสดงให้เห็นว่าเขาเข้ากับคนอื่นได้ ฉันกลับยัดเยียดทัศนคติแย่ๆ ของตัวเองให้กับเขา และทุกสิ่งที่พูดออกมา แม้จะเป็นเพียงการพูดเล่นหรือผ่านๆ ก็ล้วนแต่เป็นวิธีการที่น่ารังเกียจในการกลายเป็นสิ่งที่ผู้คนเชื่อ

เส้นทางแห่งความเป็นลบ
กลับมาที่อดีตโปรแกรมเมอร์มือใหม่ของเรา ซึ่งสั่งสมความรู้และประสบการณ์มาบ้าง พวกเขารู้จักอุตสาหกรรมการเขียนโปรแกรมดีขึ้น และเข้าใจว่าโค้ดแย่ๆ มีอยู่ทุกที่ หลีกเลี่ยงไม่ได้ แม้แต่ในบริษัทที่ก้าวหน้าที่สุดและเน้นคุณภาพ (และขอเสริมว่า ดูเหมือนว่าความทันสมัยจะไม่ได้ปกป้องเราจากโค้ดแย่ๆ เลย)
สถานการณ์ที่ดี เมื่อเวลาผ่านไป นักพัฒนาซอฟต์แวร์เริ่มยอมรับว่าโค้ดที่แย่คือความจริงของซอฟต์แวร์ และหน้าที่ของพวกเขาคือการปรับปรุงมัน และหากไม่สามารถหลีกเลี่ยงโค้ดที่แย่ได้ ก็ไม่มีประโยชน์ที่จะมาทำเรื่องใหญ่โต พวกเขายึดหลักเซน มุ่งเน้นที่การแก้ไขปัญหาหรือความท้าทายที่พวกเขาเผชิญ พวกเขาเรียนรู้วิธีการวัดและสื่อสารคุณภาพซอฟต์แวร์อย่างแม่นยำให้กับเจ้าของธุรกิจ นำประสบการณ์ที่สั่งสมมาหลายปีมาใช้ในการประมาณการที่มีเหตุผล และท้ายที่สุดก็ได้รับรางวัลตอบแทนอย่างงามจากมูลค่าอันน่าทึ่งและยั่งยืนต่อธุรกิจ พวกเขาทำงานได้ดีมากจนได้รับโบนัส 10 ล้านดอลลาร์ และเกษียณเพื่อทำอะไรก็ได้ที่พวกเขาต้องการไปตลอดชีวิต (อย่าคิดมากไป)

อีกสถานการณ์หนึ่งคือเส้นทางแห่งความมืดมน แทนที่จะยอมรับว่าโค้ดแย่ๆ เป็นสิ่งที่หลีกเลี่ยงไม่ได้ นักพัฒนากลับเลือกที่จะประกาศทุกอย่างที่แย่ในโลกการเขียนโปรแกรมออกมาเพื่อที่พวกเขาจะได้ต่อสู้กับมัน พวกเขาปฏิเสธที่จะปรับปรุงโค้ดแย่ๆ ที่มีอยู่ด้วยเหตุผลที่ดีหลายประการ เช่น "ผู้คนควรรู้ดีกว่านี้และไม่ควรโง่ขนาดนั้น" "มันไม่น่าพอใจ" "มันไม่ดีต่อธุรกิจ" "มันพิสูจน์ให้เห็นว่าฉันฉลาดแค่ไหน" "ถ้าฉันไม่บอกคนอื่นว่าโค้ดนี้แย่แค่ไหน บริษัททั้งหมดจะล่มสลายลงสู่มหาสมุทร" และอื่นๆ อีกมากมาย
พวกเขาอาจไม่สามารถดำเนินการเปลี่ยนแปลงที่ต้องการได้ เพราะธุรกิจต้องพัฒนาต่อไปอย่างน่าเสียดาย และไม่สามารถเสียเวลาไปกับการกังวลเรื่องคุณภาพของโค้ดได้ คนเหล่านี้จึงถูกมองว่าเป็นคนขี้บ่น พวกเขาได้รับการยกย่องในเรื่องความสามารถระดับสูง แต่กลับถูกจำกัดให้อยู่ในอัตรากำไรของบริษัท ซึ่งพวกเขาจะไม่สร้างความรำคาญ แต่ยังคงรักษาระบบที่สำคัญเอาไว้ได้ เมื่อขาดโอกาสในการพัฒนาใหม่ๆ พวกเขาจึงสูญเสียทักษะและไม่สามารถตอบสนองความต้องการของอุตสาหกรรมได้ ความคิดด้านลบของพวกเขากลายเป็นความขมขื่น และสุดท้ายพวกเขาก็เอาแต่เอาใจตัวเองด้วยการโต้เถียงกับนักศึกษาอายุยี่สิบปีเกี่ยวกับเส้นทางที่เทคโนโลยีเก่าอันเป็นที่รักของพวกเขาได้เดินมา และเหตุใดมันจึงยังคงแข็งแกร่ง ในที่สุด พวกเขาก็เกษียณและใช้ชีวิตวัยชราด้วยการสบถใส่นก
ความเป็นจริงอาจอยู่ที่ไหนสักแห่งระหว่างสองขั้วสุดขั้วนี้
บริษัทบางแห่งประสบความสำเร็จอย่างมากในการสร้างวัฒนธรรมเชิงลบ ปิดกั้น และมุ่งมั่นอย่างแรงกล้า (เช่น Microsoft ก่อนที่จะก่อตั้ง) ) — บริษัทเหล่านี้มักเป็นบริษัทที่มีความเหมาะสมกับผลิตภัณฑ์และตลาดอย่างยอดเยี่ยมและจำเป็นต้องเติบโตอย่างรวดเร็วที่สุด หรือบริษัทที่มีลำดับชั้นแบบสั่งการและควบคุม (เช่น Apple ในยุครุ่งเรืองของ Jobs) ซึ่งทุกคนทำตามที่ได้รับมอบหมาย อย่างไรก็ตาม งานวิจัยทางธุรกิจสมัยใหม่ (และสามัญสำนึก) ชี้ให้เห็นว่าเพื่อประสิทธิภาพสูงสุดในการคิดสร้างสรรค์ นำไปสู่นวัตกรรมองค์กร และผลผลิตส่วนบุคคลที่สูง ความเครียดต่ำเป็นสิ่งจำเป็นในการสนับสนุนการคิดสร้างสรรค์และกระบวนการคิดอย่างต่อเนื่อง และเป็นเรื่องยากมากที่จะทำงานสร้างสรรค์ ซึ่งต้องอาศัยการพูดคุย หากคุณกังวลอยู่ตลอดเวลาว่าเพื่อนร่วมงานจะพูดอะไรเกี่ยวกับโค้ดทุกบรรทัดของคุณ
ความคิดเชิงลบเป็นวัฒนธรรมป๊อปที่ถูกออกแบบขึ้น
ในปัจจุบัน ทัศนคติของวิศวกรได้รับความสนใจมากขึ้นกว่าที่เคยมีเรื่องตลกและเรื่องราวมากมายบนทวิตเตอร์เกี่ยวกับคนที่ลาออกจากอาชีพนี้เพราะพวกเขาไม่สามารถ (หรือไม่) ทนต่อความเป็นปรปักษ์และความเกลียดชังต่อคนนอก แม้แต่ Linus Torvalds ในช่วงหลายปีที่ผ่านมา ความเป็นศัตรูและการวิพากษ์วิจารณ์ของเขาที่มีต่อนักพัฒนา Linux คนอื่นๆ ได้นำไปสู่การอภิปรายเกี่ยวกับประสิทธิผลของแนวทางนี้
บางคนยังคงปกป้องสิทธิของไลนัสในการวิพากษ์วิจารณ์อย่างรุนแรง ซึ่งเป็นผู้ที่ควรรู้ดีเกี่ยวกับข้อดีข้อเสียของ "ความคิดเชิงลบที่เป็นพิษ" ใช่ ความสุภาพเป็นสิ่งสำคัญยิ่ง (แม้กระทั่งพื้นฐาน) แต่หากเราจะสรุปเหตุผลที่หลายคนปล่อยให้การแสดงออกเชิงลบกลายเป็น "ความเป็นพิษ" เหตุผลเหล่านั้นฟังดูเป็นการดูถูกหรือดูเด็กเกินไป เช่น "พวกเขาสมควรได้รับมันเพราะพวกเขาโง่" "เขาต้องแน่ใจว่าพวกเขาจะไม่ทำแบบนั้นอีก" "ถ้าพวกเขาไม่ทำแบบนั้น เขาก็คงไม่ต้องตะโกนใส่พวกเขา" และอื่นๆ ตัวอย่างหนึ่งของผลกระทบที่ปฏิกิริยาทางอารมณ์ของผู้นำมีต่อชุมชนนักพัฒนาซอฟต์แวร์คือตัวย่อ MINASWAN ในภาษา Ruby ซึ่งแปลว่า "Matz เป็นคนดี เราก็เป็นคนดี"
ผมสังเกตเห็นว่าผู้สนับสนุนแนวคิด "ฆ่าคนโง่" หลายคนมักกังวลกับคุณภาพและความถูกต้องของโค้ดของพวกเขา และให้ความสำคัญกับผลงานของพวกเขา น่าเสียดายที่พวกเขามักสับสนระหว่างความหนักแน่นกับความเข้มงวด ข้อบกพร่องของแนวคิดนี้เกิดจากความปรารถนาอันเรียบง่ายแบบมนุษย์แต่ไร้ประโยชน์ที่จะรู้สึกเหนือกว่าผู้อื่น คนที่หลงใหลในความปรารถนานี้มักจะติดอยู่ในเส้นทางแห่งความมืดมน

โลกแห่งการเขียนโปรแกรมกำลังเติบโตอย่างรวดเร็วและกำลังเข้าถึงขอบเขตของคอนเทนเนอร์ของตัวเอง—โลกที่ไม่ใช่การเขียนโปรแกรม (หรือโลกของการเขียนโปรแกรมคือคอนเทนเนอร์ของโลกที่ไม่ใช่การเขียนโปรแกรม? คำถามที่ดี)
ในขณะที่อุตสาหกรรมของเราขยายตัวอย่างรวดเร็ว และการเขียนโปรแกรมเข้าถึงได้ง่ายขึ้น ช่องว่างระหว่าง "คนเทคโนโลยี" กับ "คนทั่วไป" กำลังแคบลงอย่างรวดเร็ว โลกของการเขียนโปรแกรมกำลังเผชิญกับปฏิสัมพันธ์ระหว่างบุคคลของผู้คนมากขึ้นเรื่อยๆ ที่เติบโตมาในวัฒนธรรม "เนิร์ด" อันโดดเดี่ยวในยุคเริ่มต้นของเทคโนโลยี และพวกเขาคือผู้กำหนดทิศทางของโลกแห่งการเขียนโปรแกรมยุคใหม่ และไม่ว่าจะมีข้อถกเถียงใดๆ เกี่ยวกับปัญหาสังคมหรือยุคสมัย ประสิทธิภาพภายใต้ระบบทุนนิยมจะปรากฏชัดในวัฒนธรรมองค์กรและแนวปฏิบัติในการจ้างงาน บริษัทที่ดีที่สุดจะไม่จ้างใครก็ตามที่ไม่สามารถมีปฏิสัมพันธ์กับผู้อื่นอย่างเป็นกลาง หรือแม้กระทั่งเชิงบวก
สิ่งที่ฉันได้เรียนรู้เกี่ยวกับความคิดเชิงลบ
การปล่อยให้ความคิดด้านลบมากเกินไปควบคุมความคิดและปฏิสัมพันธ์ของคุณ จนกลายเป็นพิษร้าย เป็นอันตรายต่อทีมผลิตภัณฑ์และสร้างความเสียหายมหาศาลให้กับธุรกิจ ผมเคยเห็นโปรเจกต์มากมาย (และเคยได้ยินมาว่ายังมีอีก) ที่ล้มเหลวและต้องสร้างขึ้นใหม่ทั้งหมดด้วยค่าใช้จ่ายมหาศาล เพราะนักพัฒนาที่ไว้ใจได้คนหนึ่งมีความแค้นต่อเทคโนโลยี นักพัฒนาอีกคนหนึ่ง หรือแม้แต่ไฟล์เดียวที่ถูกเลือกให้เป็นตัวแทนของคุณภาพของโค้ดเบสทั้งหมด
ความคิดลบๆ ก็ทำลายขวัญกำลังใจและทำลายความสัมพันธ์เช่นกัน ผมไม่มีวันลืมเลยที่เพื่อนร่วมงานดุผมเรื่องใส่ CSS ผิดไฟล์ มันทำให้ผมหงุดหงิดและเก็บความคิดไว้หลายวันไม่ได้ และในอนาคต ผมคงไม่ยอมให้คนแบบนี้เข้าใกล้ทีมของผม (แต่ใครจะรู้ คนเรามันเปลี่ยนไปแล้ว)
สุดท้ายก็ลบ .

ฉันคิดว่านี่คือสิ่งที่คลาสมาสเตอร์เกี่ยวกับรอยยิ้มควรมีลักษณะเช่นนี้
แน่นอนว่านี่ไม่ใช่ข้อโต้แย้งสำหรับการยิ้มแย้มแจ่มใส การใส่อีโมจิหมื่นล้านตัวในทุกคำขอ หรือเข้าร่วมเวิร์กช็อปยิ้ม (ถ้านั่นคือสิ่งที่คุณต้องการ ก็ไม่เป็นไร) ความคิดลบเป็นส่วนสำคัญของการเขียนโปรแกรม (และชีวิตมนุษย์) บ่งบอกถึงคุณภาพ ทำให้เราสามารถแสดงความรู้สึกและเห็นอกเห็นใจเพื่อนมนุษย์ ความคิดลบแสดงให้เห็นถึงความเข้าใจและความรอบคอบ ซึ่งเป็นความลึกซึ้งของปัญหา ผมมักจะสังเกตเห็นว่านักพัฒนาได้ก้าวไปสู่อีกระดับหนึ่งเมื่อพวกเขาเริ่มแสดงความไม่เชื่อในสิ่งที่เคยขี้ขลาดและไม่แน่ใจ ผู้คนแสดงความรอบคอบและความมั่นใจผ่านความคิดเห็นของพวกเขา การแสดงออกถึงความคิดลบนั้นเป็นไปไม่ได้ นั่นคงจะเป็นแบบออร์เวลเลียน
อย่างไรก็ตาม ความคิดด้านลบจำเป็นต้องได้รับการวัดและปรับสมดุลกับคุณสมบัติสำคัญอื่นๆ ของมนุษย์ ได้แก่ ความเห็นอกเห็นใจ ความอดทน ความเข้าใจ และอารมณ์ขัน คุณสามารถบอกคนอื่นได้เสมอว่าเขาทำพลาดโดยไม่ต้องตะโกนหรือสบถด่า อย่าประมาทวิธีการนี้ การถูกบอกโดยปราศจากอารมณ์ใดๆ ว่าคุณทำพลาดอย่างร้ายแรงนั้นน่ากลัวอย่างแท้จริง
ตอนนั้นเมื่อไม่กี่ปีก่อน ซีอีโอได้คุยกับผม เราคุยกันถึงสถานะปัจจุบันของโครงการ แล้วเขาก็ถามว่าผมรู้สึกอย่างไรบ้าง ผมบอกเขาว่าทุกอย่างเรียบร้อยดี โครงการกำลังดำเนินไป เรากำลังก้าวหน้าอย่างต่อเนื่อง และบางทีผมอาจจะพลาดอะไรบางอย่างไปและจำเป็นต้องทบทวน เขาบอกว่าเขาได้ยินผมเล่าความคิดในแง่ร้ายให้เพื่อนร่วมงานฟังมากขึ้น และคนอื่นๆ ก็สังเกตเห็นเช่นกัน เขาอธิบายว่าถ้าผมมีข้อกังวลใดๆ ผมสามารถระบายกับฝ่ายบริหารได้อย่างเต็มที่ แต่ไม่สามารถ "ระบายมันออกไป" ในฐานะวิศวกรอาวุโส ผมต้องระมัดระวังว่าคำพูดของผมส่งผลกระทบต่อผู้อื่นอย่างไร เพราะผมมีอิทธิพลมาก แม้ว่าผมจะไม่รู้ตัวก็ตาม เขาพูดทั้งหมดนี้อย่างใจดี และสรุปว่าถ้าผมรู้สึกแบบนั้นจริงๆ ผมคงต้องคิดถึงสิ่งที่ผมต้องการสำหรับตัวเองและอาชีพของผม มันเป็นบทสนทนาที่อ่อนโยนอย่างเหลือเชื่อ แบบ "ตั้งสติหน่อย ไม่งั้นก็ออกไป" ผมขอบคุณเขาสำหรับข้อมูลเกี่ยวกับทัศนคติของผมที่เปลี่ยนไปตลอดหกเดือน ว่าส่งผลกระทบต่อผู้อื่นโดยที่ผมไม่รู้ตัว
มันเป็นตัวอย่างของการบริหารจัดการที่โดดเด่นและมีประสิทธิภาพ และพลังของแนวทางที่อ่อนโยน ผมตระหนักว่าถึงแม้ผมจะดูเหมือนเชื่อมั่นในบริษัทและความสามารถในการบรรลุเป้าหมาย แต่วิธีที่ผมสื่อสารและพูดคุยกับผู้อื่นนั้นแตกต่างออกไปอย่างสิ้นเชิง ผมยังตระหนักด้วยว่าถึงแม้จะรู้สึกกังขาเกี่ยวกับโครงการที่กำลังทำอยู่ ผมก็ไม่ควรปล่อยให้ความคิดแง่ลบของผมแสดงออกมาต่อเพื่อนร่วมงานและแพร่กระจายออกไปเหมือนโรคระบาด ซึ่งเป็นการลดโอกาสความสำเร็จของเรา ผมควรสื่อสารความเป็นจริงของสถานการณ์นี้ให้ผู้บริหารรับทราบอย่างตรงไปตรงมา และหากผมรู้สึกว่าพวกเขาไม่ฟังผม ผมก็ควรแสดงความไม่เห็นด้วยโดยการลาออกจากบริษัท
ฉันได้รับโอกาสใหม่เมื่อได้เข้ารับตำแหน่งหัวหน้าฝ่ายประเมินผลงาน ในฐานะอดีตวิศวกรอาวุโส ฉันระมัดระวังมากในการแสดงความคิดเห็นเกี่ยวกับโค้ดเก่า (ที่กำลังพัฒนาอย่างต่อเนื่อง) ของเรา การอนุมัติการเปลี่ยนแปลงจำเป็นต้องอาศัยความเข้าใจสถานการณ์ปัจจุบัน แต่คุณจะไม่ได้อะไรเลยถ้าคุณจมอยู่กับการบ่น โจมตี หรืออะไรทำนองนั้น สุดท้ายแล้ว ฉันอยู่ที่นี่เพื่อทำงานให้สำเร็จลุล่วง และฉันไม่ควรต้องบ่นเกี่ยวกับโค้ดเพื่อทำความเข้าใจ ประเมิน หรือแก้ไขมัน
ที่จริงแล้ว ยิ่งฉันควบคุมอารมณ์ต่อโค้ดได้มากเท่าไหร่ ฉันก็ยิ่งเข้าใจสิ่งที่โค้ดเขียนได้ดีขึ้นเท่านั้น และรู้สึกสับสนน้อยลงเท่านั้น เมื่อฉันแสดงออกอย่างยับยั้งชั่งใจ ("ต้องมีช่องว่างให้ปรับปรุงตรงนี้") ฉันทำให้ตัวเองและคนอื่นๆ มีความสุข และไม่ใส่ใจกับสถานการณ์มากเกินไป ฉันตระหนักว่าฉันสามารถกระตุ้นและลดความคิดด้านลบในคนอื่นๆ ได้ด้วยการมีเหตุผลอย่างสมบูรณ์แบบ (น่ารำคาญ?) ("คุณพูดถูก โค้ดนี้ค่อนข้างแย่ แต่เราจะปรับปรุงมัน") ฉันพอใจกับความก้าวหน้าในเส้นทางเซนของฉัน
โดยพื้นฐานแล้ว ฉันกำลังเรียนรู้และเรียนรู้บทเรียนสำคัญอย่างต่อเนื่อง: ชีวิตสั้นเกินกว่าที่จะโกรธและทุกข์ทรมานอยู่ตลอดเวลา

ที่มา: will.com
