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

ใครคือนักพัฒนาระดับกลาง?
นักพัฒนาระดับกลางเป็นโปรแกรมเมอร์ที่มีประสบการณ์ซึ่งใช้เวลาอย่างน้อย 2-4 ปีในอาชีพนี้ ในช่วงหลายปีที่ผ่านมาควรเปลี่ยน coder ใหม่ที่ไม่มีประสบการณ์และไม่แน่นอนให้กลายเป็นโปรแกรมเมอร์ที่มีฟังก์ชันครบถ้วนและแข็งแกร่ง สามารถเขียนโค้ดของตัวเองและคิดวิธีแก้ปัญหาโดยไม่จำเป็นต้องขอความช่วยเหลือจากสมาชิกในทีมอาวุโส โดยทั่วไปแล้ว dev ระดับกลางจะเป็นหน่วยศูนย์กลางในการพัฒนาซอฟต์แวร์ "กองทัพ" เกือบทั้งหมด เนื่องจากผู้เขียนโค้ดระดับกลางคือผู้ที่ทำหน้าที่หลักในการเขียนโปรแกรมในโครงการต่างๆ ต่างจากนักพัฒนารุ่นเยาว์ที่มีประสบการณ์น้อย ผู้เขียนโค้ดระดับกลางไม่ต้องการความช่วยเหลือหรือการควบคุมดูแลมากนัก สามารถทำทุกอย่างได้ด้วยตนเอง และมีความเข้าใจที่ชัดเจนเกี่ยวกับโค้ดและเทคโนโลยีที่ใช้ในโครงการ มีความรับผิดชอบมากขึ้น ตัวอย่างเช่น, หากโฟกัสหลักของจูเนียร์คือการเขียนโค้ดที่ใช้งานได้ ธรรมดาและเรียบง่าย โค้ดเดอร์ระดับกลางยังต้องคำนึงถึงสิ่งต่างๆ เช่น ตรวจสอบให้แน่ใจว่าโค้ดนั้นเข้าใจได้ชัดเจนและเขียนได้ตรงตามมาตรฐานคุณภาพและข้อกำหนดของโครงการ โดยทั่วไปแล้ว โค้ดเบสส่วนใหญ่ของซอฟต์แวร์ส่วนใหญ่มักเขียนโดยโปรแกรมเมอร์ระดับกลาง แน่นอนว่า เมื่อพูดถึงอาชีพและความเชี่ยวชาญเฉพาะทางในอุตสาหกรรมเทคโนโลยี เป็นเรื่องที่ควรค่าแก่การกล่าวถึงว่าผู้เขียนโค้ดระดับกลาง (เช่นเดียวกับนักพัฒนาซอฟต์แวร์ระดับจูเนียร์หรือระดับสูง) สามารถมีประสบการณ์และความรับผิดชอบที่แตกต่างกันได้ ขึ้นอยู่กับบริษัทที่พวกเขาทำงานอยู่ “จากมุมมองภายนอก ประสบการณ์ 3-5 ปีทำให้คุณอยู่ในระดับกลาง จากภายในองค์กร คุณอยู่ในจุดที่ได้รับความไว้วางใจในการเขียนโค้ด แต่มีปฏิสัมพันธ์กับลูกค้าเพียงเล็กน้อยหรือไม่มีเลยและเป็นเจ้าของโครงการขนาดเล็กถึงขนาดกลาง ฉันเคยเห็นกรณีที่นักพัฒนาระดับอาวุโสต้องการอยู่ในระดับกลางเพราะโดยทั่วไปแล้วคุณเขียนโค้ดโดยไม่จำเป็นต้องจัดการกับผู้จัดการโครงการและลูกค้า”Lewis Nakao นักพัฒนาซอฟต์แวร์ที่มีประสบการณ์และที่ปรึกษาด้านอาชีพการเขียนโค้ดกล่าวความรับผิดชอบของนักพัฒนาระดับกลางคืออะไร?
ตอนนี้เรามาพูดถึงรายละเอียดเพิ่มเติมเกี่ยวกับความรับผิดชอบโดยทั่วไปและโดยทั่วไปของ Developer ระดับกลาง- การเขียนและดูแลโค้ด
- การวิเคราะห์และการนำแนวทางปฏิบัติด้านการเข้ารหัสที่ดีที่สุดในรหัสโครงการไปใช้
- การวิเคราะห์ข้อกำหนดทางเทคนิคของโครงการและปรับโค้ดให้สอดคล้องกับข้อกำหนดเหล่านั้น
- การระบุและพัฒนาพื้นที่สำหรับการแก้ไขในโครงการปัจจุบัน
- ดำเนินการและดำเนินการทดสอบซอฟต์แวร์
- การพัฒนากระบวนการประกันคุณภาพของโครงการซอฟต์แวร์
- วิเคราะห์ความต้องการของผู้ใช้ ตลอดจนความต้องการของนักออกแบบ ผู้ทดสอบ QA และสมาชิกทีมพัฒนาซอฟต์แวร์อื่นๆ
- การพัฒนากระบวนการประกันคุณภาพ
- ประสานงานความพยายามและร่วมมือกับนักพัฒนาอื่น ๆ นักออกแบบ นักวิเคราะห์ระบบและธุรกิจ ฯลฯ
- จัดทำเอกสารทุกส่วนของกระบวนการพัฒนาเพื่อการทำงานและการบำรุงรักษาต่อไป
ข้อกำหนดสำหรับนักพัฒนาระดับกลาง
ต่อไปนี้คือรายการข้อกำหนดที่พบบ่อยที่สุดสำหรับ Developer ระดับกลางที่คุณควรปฏิบัติตามเพื่อให้ได้งานนี้ แน่นอน ข้อกำหนดจะแตกต่างกันไปขึ้นอยู่กับนโยบายการจ้างงานของบริษัท เทคโนโลยีที่ใช้ในโครงการ และภาษาโปรแกรมของผู้พัฒนา แน่นอนว่าเราจะมุ่งเน้นไปที่ข้อกำหนดทั่วไปสำหรับนักพัฒนา Java ระดับกลาง- อย่างน้อย 2-3 ปีในฐานะนักพัฒนา Java และมีประสบการณ์ในการทำงานในโครงการซอฟต์แวร์ที่แตกต่างกันอย่างน้อยหลายโครงการ
- ความรู้ทั้งหมดเกี่ยวกับวิธีการออกแบบ ตั้งโปรแกรม ใช้งาน และบำรุงรักษา Java Application
- การรู้วิธีตั้งโปรแกรมระบบที่มีปริมาณมากและความหน่วงต่ำซึ่งหมายถึงการปรับขนาดขนาดใหญ่
- ความรู้ที่มั่นคงเกี่ยวกับเฟรมเวิร์กสำหรับการสร้างโปรเจ็กต์เว็บ (Maven, Gradle), เฟรมเวิร์กสำหรับโปรเจ็กต์ระดับองค์กร (Spring, Hibernate, Spring Boot), เครื่องมือสำหรับการทดสอบหน่วย (JUnit, Mockito) เป็นต้น
- ความสามารถในการมีส่วนร่วมในทุกขั้นตอนของวงจรการพัฒนา
- ความสามารถในการเขียนโค้ดคุณภาพสูง มีประสิทธิภาพ และทดสอบได้ง่าย
- มีความคุ้นเคยกับการวิเคราะห์ซอฟต์แวร์ การทดสอบ และการดีบักโค้ด Java เป็นอย่างดี
- มีประสบการณ์ในการจัดการพัฒนาแอปพลิเคชัน Java และ Java EE
- สามารถหาแนวทางอื่นและนำเทคโนโลยีที่ใหม่กว่ามาใช้ได้
- ความสามารถในการสื่อสารกับลูกค้าทั้งด้านเทคนิคและไม่ใช่ด้านเทคนิคอย่างชัดเจนและรัดกุม
GO TO FULL VERSION