คุณแตกบทบาทของผู้ดูแลรหัสได้อย่างไร [ปิด]


13

ในสามงานสุดท้ายของฉันฉันเป็นผู้ดูแลรหัส ในทั้งสามกรณีฉันได้รับการว่าจ้างหลังจากส่วนใหญ่ของรหัสสำหรับโครงการเขียนแล้ว

ฉันเป็นโปรแกรมเมอร์ที่สอนตัวเอง ก่อนที่ฉันจะเริ่มงานอาชีพครั้งแรกของฉันฉันอาจจะมีหลายสิบโครงการภายใต้เข็มขัดของฉันที่ฉันเริ่มต้นและจัดส่งเรียบร้อยแล้ว

การเขียนรหัสใหม่และการบำรุงรักษารหัสที่มีอยู่เป็นงานที่แตกต่างกันสองอย่างโดยสิ้นเชิง มันเหมือนกับการเปรียบเทียบวิศวกรการบินกับช่างอากาศยาน

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

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

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


คุณสมัครงาน Code Maintainer หรือไม่?
James

@ James งานทั้งหมดเป็นงานผู้ดูแลโค้ดหรืออย่างน้อยก็ทั้งหมดที่ฉันเจอ ...
nbv4

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

คำตอบ:


6

การบำรุงรักษาหมายถึงสิ่งต่าง ๆ สำหรับผู้คนที่แตกต่างกันและเกิดขึ้นด้วยเหตุผลที่แตกต่างกัน

  • กรณีที่เลวร้ายที่สุดระบบเริ่มต้นถูกโยนเข้าด้วยกันอย่างรีบเร่งทีมเริ่มต้นได้รับเครดิตสำหรับทุกสิ่ง พวกเขาปฏิบัติตามกฎ 80/20 ดังนั้นในขณะที่อาจมีผลิตภัณฑ์ขั้นต่ำที่สามารถขายได้ลูกค้าจำนวนมากต้องการการแก้ไขจำนวนมากและการปรับปรุงเล็กน้อย ปัญหามากมาย แต่ยังไม่รุ่งโรจน์เท่าไหร่ คุณมีงานที่ยากที่สุดและไม่เห็นคุณค่า ฉันหวังว่านี่ไม่ใช่สถานการณ์ของคุณ
  • กรณีที่ดีกว่าคุณได้แสดงให้เห็นว่าคุณมีความระมัดระวังในการทำงานและสามารถเชื่อถือได้ในการเปลี่ยนแปลงผลิตภัณฑ์โดยไม่ต้องทำลาย ปัญหาที่เหลืออยู่นั้นยากเกินไปสำหรับผู้ที่ใช้ระบบเดิมเข้าด้วยกัน บางทีพวกเขาอาจล้มเหลวในการสร้างระบบให้อยู่ได้นานและคุณอยู่ที่นั่นบางทีอาจเป็นสิ่งทดแทนเพื่อกำหนดสิ่งที่ถูกต้องและช่วยเหลือลูกค้าโครงการและผลกำไร
  • กรณีที่เป็นไปได้มากค่าใช้จ่าย 60% ของโครงการมาในระหว่างการบำรุงรักษา บางทีมันอาจเป็นเวลาบางทีองค์กรของคุณอาจแยกระหว่างการพัฒนาและการบำรุงรักษาใหม่ แต่คุณอยู่ในอันดับที่ 3/5 เพราะเราหลายคนทำการบำรุงรักษา

ลองทำสิ่งต่อไปนี้:

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

บทบาทการบำรุงรักษาสามารถเปลี่ยนเป็นข้อได้เปรียบของคุณได้หลายวิธี

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

ต้องบอกว่าทั้งหมดนี้ฉันเป็นตัวอย่างที่เคาน์เตอร์ไม่ใช่แบบอย่าง มุมมองนี้ส่วนใหญ่มาจากประสบการณ์และการสังเกต

มีโปรแกรมใหม่มากมายที่ยังต้องเขียน
เตรียมตัวให้พร้อมแล้วคุณจะได้พบกับคนที่น่าแปลกใจในไม่ช้า


4

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

สักวันคุณจะถูกขอให้เขียนส่วนใหม่ของระบบเช่นโมดูลใหม่และคุณสามารถใช้ความรู้ของคุณในการพัฒนาสนามสีเขียว

จนกว่าจะถึงตอนนั้นคุณสามารถลองเรียนรู้การปรับโครงสร้างแอปพลิเคชั่นรุ่นเก่าเพื่อทำความสะอาดโมดูล

การอ่านที่ดีคือ " การทำงานกับแอปพลิเคชันรุ่นเก่า " และ " การเปลี่ยนรูปแบบใหม่ " หากคุณไม่ได้อ่านRefactoringดั้งเดิม(Fowler) โปรดทำเช่นนั้น และเรียนรู้การพัฒนาทดสอบขับเคลื่อน (TDD) ช่วยเสมอ

ในกรณีที่คุณทำงานกับ PHP ฉันเขียนบทความภาคปฏิบัติที่รหัสนี้ยังคงทำงาน ...

มีความสุข!


1

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.