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