ความโกรธที่โค้ด: โปรแกรมเมอร์และการปฏิเสธ

ความโกรธที่โค้ด: โปรแกรมเมอร์และการปฏิเสธ

ฉันกำลังดูโค้ดชิ้นหนึ่ง นี่อาจเป็นรหัสที่แย่ที่สุดที่ฉันเคยเห็น หากต้องการอัปเดตเพียงระเบียนเดียวในฐานข้อมูล ระบบจะดึงข้อมูลระเบียนทั้งหมดในคอลเลกชัน แล้วส่งคำขออัปเดตไปยังทุกระเบียนในฐานข้อมูล แม้แต่ระเบียนที่ไม่จำเป็นต้องอัปเดตก็ตาม มีฟังก์ชัน map ที่จะคืนค่าที่ส่งไปให้ฟังก์ชันนั้น มีการทดสอบแบบมีเงื่อนไขสำหรับตัวแปรที่มีค่าเหมือนกัน เพียงแต่ตั้งชื่อในรูปแบบที่แตกต่างกัน (firstName и first_name). สำหรับ UPDATE แต่ละรายการ โค้ดจะส่งข้อความไปยังคิวอื่น ซึ่งได้รับการจัดการโดยฟังก์ชันไร้เซิร์ฟเวอร์ที่แตกต่างกัน แต่จะทำงานทั้งหมดในคอลเลกชันที่แตกต่างกันในฐานข้อมูลเดียวกัน ฉันเคยบอกไปแล้วหรือเปล่าว่าฟังก์ชันไร้เซิร์ฟเวอร์นี้มาจาก “สถาปัตยกรรมเชิงบริการ” บนคลาวด์ที่มีฟังก์ชันมากกว่า 100 รายการในสภาพแวดล้อม

เป็นไปได้อย่างไรที่ทำเช่นนี้? ฉันปิดหน้าและสะอื้นอย่างเห็นได้ชัดผ่านเสียงหัวเราะของฉัน เพื่อนร่วมงานของฉันถามว่าเกิดอะไรขึ้น และฉันก็เล่าเรื่องเป็นสีๆ การเข้าชมที่แย่ที่สุดของ BulkDataImporter.js 2018. ทุกคนพยักหน้าอย่างเห็นใจฉันและเห็นด้วย: พวกเขาทำแบบนี้กับเราได้ยังไง?

แง่ลบ: เครื่องมือทางอารมณ์ในวัฒนธรรมโปรแกรมเมอร์

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

ความโกรธที่โค้ด: โปรแกรมเมอร์และการปฏิเสธ

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

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

ความโกรธที่โค้ด: โปรแกรมเมอร์และการปฏิเสธ

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

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

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

  • "โมดูลนี้มีตรรกะที่ไม่สอดคล้องกันมากมาย จึงเป็นตัวเลือกที่ดีสำหรับการเพิ่มประสิทธิภาพการทำงานที่สำคัญ"
  • “โมดูลนี้ค่อนข้างแย่ เราต้องปรับโครงสร้างใหม่”
  • "โมดูลนี้ไม่สมเหตุสมผล จำเป็นต้องเขียนใหม่"
  • “โมดูลนี้ห่วยมาก มันจำเป็นต้องได้รับการแพตช์”
  • “นี่คือชิ้นส่วนของแกะ ไม่ใช่โมดูล ไม่จำเป็นต้องเขียนเลย ผู้เขียนคิดอะไรบ้าๆ อยู่”

อย่างไรก็ตาม มันเป็น "การปลดปล่อยอารมณ์" ที่ทำให้นักพัฒนาเรียกโค้ดนี้ว่า "เซ็กซี่" ซึ่งไม่ค่อยยุติธรรมเลย - เว้นแต่คุณจะทำงานที่ PornHub

ปัญหาคือผู้คนเป็นสัตว์ที่แปลก กระสับกระส่าย เป็นสิ่งมีชีวิตที่มีอารมณ์ความรู้สึก และการรับรู้และการแสดงออกของอารมณ์ใดๆ ก็ได้เปลี่ยนแปลงเรา ในตอนแรกอย่างละเอียดอ่อน แต่เมื่อเวลาผ่านไป เปลี่ยนแปลงไปอย่างมาก

ความลาดชันที่ลื่นไหลของการปฏิเสธ

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

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

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

ความโกรธที่โค้ด: โปรแกรมเมอร์และการปฏิเสธ

วิธีเชิงลบ

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

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

ความโกรธที่โค้ด: โปรแกรมเมอร์และการปฏิเสธ

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

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

ความจริงน่าจะอยู่ที่ไหนสักแห่งระหว่างความสุดขั้วทั้งสองนี้

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

การปฏิเสธคือวัฒนธรรมป๊อปทางวิศวกรรม

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

บางคนยังคงปกป้องสิทธิ์ของ Linus ที่จะเป็นคนสำคัญมาก - ผู้ที่ควรรู้มากมายเกี่ยวกับข้อดีและข้อเสียของ "การคิดเชิงลบที่เป็นพิษ" ใช่ ความสุภาพมีความสำคัญอย่างยิ่ง (แม้จะเป็นพื้นฐาน) แต่ถ้าเราสรุปเหตุผลว่าทำไมพวกเราหลายคนถึงยอมให้การแสดงออกความคิดเห็นเชิงลบกลายเป็น "ความเป็นพิษ" เหตุผลเหล่านี้ดูเหมือนเป็นพ่อหรือวัยรุ่น: "พวกเขาสมควรได้รับมันเพราะพวกเขาเป็นคนงี่เง่า "," เขาต้องแน่ใจว่าพวกเขาจะไม่ทำอีก” “ถ้าพวกเขาไม่ได้ทำอย่างนั้นเขาก็ไม่ต้องตะโกนใส่พวกเขา” เป็นต้น ตัวอย่างของผลกระทบที่ปฏิกิริยาทางอารมณ์ของผู้นำมีต่อชุมชนการเขียนโปรแกรมคือตัวย่อของชุมชน Ruby MINASWAN - "Matz is nice so we are nice"

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

ความโกรธที่โค้ด: โปรแกรมเมอร์และการปฏิเสธ

โลกแห่งการเขียนโปรแกรมกำลังเติบโตอย่างรวดเร็วและกำลังก้าวข้ามขอบเขตของคอนเทนเนอร์ - โลกแห่งการไม่เขียนโปรแกรม (หรือโลกแห่งการเขียนโปรแกรมคือคอนเทนเนอร์สำหรับโลกแห่งการไม่เขียนโปรแกรม? เป็นคำถามที่ดี)

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

สิ่งที่ฉันเรียนรู้เกี่ยวกับการปฏิเสธ

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

การปฏิเสธยังทำให้ขวัญเสียและทำลายความสัมพันธ์อีกด้วย ฉันจะไม่มีวันลืมว่าเพื่อนร่วมงานดุฉันว่าใส่ CSS ผิดไฟล์มันทำให้ฉันเสียใจและไม่อนุญาตให้ฉันรวบรวมความคิดเป็นเวลาหลายวัน และในอนาคต ฉันไม่น่าจะยอมให้คนแบบนั้นมาอยู่ใกล้ทีมใดทีมหนึ่งของฉัน (แต่ใครจะรู้ ผู้คนเปลี่ยนไป)

ในที่สุดเชิงลบ เป็นอันตรายต่อสุขภาพของคุณอย่างแท้จริง.

ความโกรธที่โค้ด: โปรแกรมเมอร์และการปฏิเสธ
ฉันคิดว่านี่คือสิ่งที่มาสเตอร์คลาสด้านรอยยิ้มควรมีลักษณะเช่นนี้

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

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

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

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

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

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

โดยพื้นฐานแล้ว ฉันกำลังเรียนรู้และเรียนรู้บทเรียนสำคัญอยู่ตลอดเวลา ชีวิตนั้นสั้นเกินกว่าจะโกรธและเจ็บปวดอยู่ตลอดเวลา

ความโกรธที่โค้ด: โปรแกรมเมอร์และการปฏิเสธ

ที่มา: will.com

เพิ่มความคิดเห็น