Legacy อาจหมายถึงอะไรก็ได้ แต่ขึ้นอยู่กับความคิดเห็นที่ 'ไม่ค่อยเขียน' ของคุณฉันจะสมมติว่า Legacy หมายถึง 'ไม่ดี' หรืออย่างน้อยก็ 'เทคโนโลยีล้าสมัย' และรูปแบบ หากรหัสเดิมดีอย่ารั้งและเรียนรู้ทุกบรรทัด
ฉันไม่คิดว่าจะมีคำเตือนที่ชัดเจนเพียงพอกับประเภทของงานและโครงการที่เบี่ยงเบนอาชีพของคุณและทำให้คุณติดอยู่ในหลุมจมไร้ค่าในหัวข้อนี้จนถึงปัจจุบัน
Sports analogy alert: คุณคิดว่าผู้สนับสนุนสายใน NFL เรียนรู้มากขึ้นและมีค่ามากขึ้นด้วยการเล่นกับทีมที่มีสถิติแย่ที่สุดหรือดีที่สุด? คำตอบของฉัน: ไม่เพียง แต่พวกเขาจะมีค่ามากกว่าสำหรับการเล่นให้กับทีมที่ดีที่สุด แต่พวกเขาอาจเลือกวิธีปฏิบัติที่ดีที่สุดและความรู้และหลีกเลี่ยงการเลือกปฏิบัติในตอนจบอาชีพและทัศนคติ
มีโค้ดรูปแบบการต่อต้านที่น่ากลัวมากมายที่มีผลกับธุรกิจและจ่ายเงินเดือน dev จำนวนมาก ฉันเสนอว่านักพัฒนาซอฟต์แวร์ที่ไม่เห็นรหัสเพียงพอที่ทำในสิ่งที่ 'ถูกต้อง' อาจผิดรหัสรูปแบบการต่อต้านสำหรับวิธีการแก้ไขปัญหาที่ถูกกฎหมาย ธุรกิจอาจบอกว่าวิธีแก้ปัญหาใช้งานได้ แต่ไม่ใช่สิ่งที่คุณต้องการในประวัติการทำงานของคุณหรือธุรกิจที่คุณต้องการคุยกับนักพัฒนาคนอื่น สิ่งนี้จะเกี่ยวข้องเฉพาะเมื่อเส้นทางการเติบโตส่วนบุคคลของคุณรวมถึงการได้รับความเคารพจากเพื่อนร่วมงานวิศวกรรมของคุณและไม่เพียง แต่เป็นการเพิ่มรายได้ของ บริษัท ที่คุณทำงานชั่วคราว (ฟังดูแย่ แต่สุดท้ายแล้ววิศวกรรมที่ดีที่สุด .
น่าเสียดายที่มีรหัสจำนวนมากและมีเวลามากมายที่สามารถผ่านไปได้ก่อนที่จะมีการเปิดเผยหนี้สินทางเทคโนโลยี และหนี้เทคโนโลยีนั้นมักจะรับรู้อย่างแน่นอนเมื่อมันสายเกินไป ใครบางคนอาจพยายามที่จะหยุดหนี้เทคโนโลยีหรือรูปแบบการต่อต้านมาก่อนได้รับการกีดกันเนื่องจากการรับรู้ค่าใช้จ่ายเพิ่มเติมหรือขาดความเข้าใจในการปรับขนาดได้ มันเป็นหน้าที่ของเราในฐานะวิศวกรในการเปิดเผยหนี้เทคโนโลยีในทันที โครงการที่ไม่มีวิศวกรที่มีประสบการณ์กำลังตกอยู่ในอันตรายจากการชนกำแพงอิฐในบางกรณีจริง ๆ แล้วทุกโครงการแม้จะมี devs ที่มีความสามารถ ธุรกิจส่วนใหญ่มองว่า 'บางจุด' มีเวลาเหลือเฟือที่จะแก้ไขในภายหลัง สิ่งนี้ทำให้การเลือกงานสำหรับนักพัฒนาที่กำลังจะมาถึงเป็นเรื่องที่ซับซ้อนมาก นอกจากนี้ยังชี้ให้เห็นถึงเป้าหมายและความคิดที่แตกต่างกันโดยสิ้นเชิงระหว่างนักพัฒนาและธุรกิจและความซับซ้อนในการเชื่อมช่องว่าง
มันเป็นเป้าหมายของวิศวกรที่จะ 'รวม' การพิจารณางานทางวิทยาศาสตร์และการออกแบบที่แท้จริงในขณะที่มันเป็นเป้าหมายของธุรกิจที่จะ 'ไม่รวม' ค่าใช้จ่ายและเวลาที่ไม่จำเป็น เนื่องจากวิศวกรมักจะไม่ทราบว่าระดับความพยายามและเวลาคืออะไรจนกว่าจะถึงจุดสิ้นสุดจริง ๆ การพัฒนาซอฟต์แวร์มีบทบาทเหมือนละครที่มีตัวละครที่คล่องแคล่วทะเลาะกันและมีบทบาทนำ
คนที่ไปหนึ่งอาจจะอยู่ห่างจากรหัสที่ไม่ดีจนกว่าคุณจะเห็นรหัสที่ดีพอที่จะไม่ 'เสียหาย' ฉันรักคำพูดที่นักพัฒนาอาวุโสสร้างวิธีแก้ไขปัญหาที่ซับซ้อนได้ง่าย เช่นเดียวกับนักพัฒนาซอฟต์แวร์ระดับกลางรุ่นจูเนียร์จึงสร้างวิธีแก้ปัญหาที่ซับซ้อนสำหรับปัญหาที่ง่ายและซับซ้อน
สิ่งที่ควรทำอีกประการหนึ่งคือคุณต้องทำงานกับรหัสที่ดีและไม่ดีตามจุดต่าง ๆ เพื่อทำความเข้าใจ หากคุณยังไม่ได้ทำไปให้พร้อมและพร้อมที่จะปลดปล่อยทุกอย่างเมื่อคุณเจอระบบที่ดีกว่า ฉันคิดว่านี่น่าจะเป็นวิถีที่พบได้ทั่วไปสำหรับนักพัฒนา
ฉันลำเอียงในปีนี้เพราะฉันรู้สึกว่าฉันกำลังปีนภูเขาที่มีความซับซ้อนอย่างยิ่ง ในขณะที่ฉันจะเพิ่มความสามารถในการถอดรหัสรูปแบบที่เลวร้ายที่สุดที่ฉันเคยเห็นมันเป็น 'ธรรมเนียม' และ 'ปิด' ที่ฉันไม่เชื่อว่าการดิ้นรนของฉันจะเพิ่มความสามารถทางการตลาดหรือทักษะที่ใช้งานได้ในอนาคต
เพื่อที่จะรักษาสติของฉันฉันเพียงแค่ chugging พร้อมกับก้าวที่มั่นคงและกอดทุกถนนบล็อกเป็นตราไว้หุ้นละสำหรับหลักสูตร หลังจากที่ได้ทบทวนเป้าหมายประจำปีของฉันกับเจ้านายของฉันซึ่งรวมถึงการขุดออกจากหลุมเดิมนี้ฉันคิดว่ามันอาจเป็นการปีนบูชายัญ ฉันสามารถเอาตัวรอดจากกระบวนการด้วยการวิจารณ์ที่ไม่ดีและการรับรู้ความช้า นี่คือคำเตือนที่สมจริงและสังหรฌ์ต่อผู้ที่คุณสงสัยว่าจะต้องทำงานอะไร
คำเตือน: โพสต์นี้จะมีชีวิตอยู่นานกว่าความคิดเห็นของฉันดังนั้นให้เอามันไปด้วยเม็ดเกลือ พรุ่งนี้ฉันอาจรักรหัสดั้งเดิม! (สงสัยมัน).