𝗕𝗼𝗼𝘁𝗰𝗮𝗺𝗽 𝘃𝘀 𝗖𝗦 𝗗𝗲𝗴𝗿𝗲𝗲 𝘃𝘀 𝗦𝗲𝗹𝗳-𝗧𝗮𝘂𝗴𝗵𝘁
การเลือกเส้นทางสู่การเป็นวิศวกรซอฟต์แวร์นั้นมีสิ่งที่ต้องแลกเปลี่ยนกันเสมอ
ปริญญาด้านวิทยาการคอมพิวเตอร์ (Computer Science) ให้พื้นฐานและความน่าเชื่อถือ บูทแคมป์ (Bootcamps) ช่วยให้เปลี่ยนสายงานได้อย่างรวดเร็ว การเรียนรู้ด้วยตัวเองต้องอาศัยวินัยที่สูงมาก
ความสำเร็จในสายงานวิศวกรรมขึ้นอยู่กับวิธีการทำงานของคุณ
ปฏิบัติตามหลักการเหล่านี้เพื่อสร้างระบบที่ดีขึ้น:
- เริ่มต้นด้วยความต้องการ (Requirements) กำหนดให้ชัดเจนว่าความสำเร็จคืออะไรก่อนที่จะเริ่มเขียนโค้ด
- เน้นความเรียบง่าย สร้างโซลูชันที่ใช้งานได้จริงขึ้นมาก่อน แล้วค่อยปรับปรุงในภายหลัง
- ทดสอบทุกอย่าง ครอบคลุมทั้งการใช้งานปกติและสถานการณ์ที่อาจเกิดข้อผิดพลาด เพื่อตรวจพบปัญหาตั้งแต่เนิ่นๆ
- ติดตามผลงานของคุณ ใช้ตัวชี้วัด (Metrics) เพื่อดูประสิทธิภาพของระบบเมื่อใช้งานจริง (Production)
- ย่อยปัญหาให้เล็กลง งานใหญ่ทำได้ยาก แต่งานเล็กๆ นั้นจัดการได้ง่ายกว่า
- หลีกเลี่ยงการออกแบบที่เกินความจำเป็น (Over-engineering) อย่าสร้างระบบเพื่อรองรับขนาดที่ยังไม่จำเป็นต้องใช้ในตอนนี้
- จัดการหนี้ทางเทคนิค (Technical debt) ติดตามส่วนที่เขียนแบบทางลัดไว้ และวางแผนเวลาเพื่อกลับมาแก้ไข
- เปลี่ยนงานให้เป็นอัตโนมัติ (Automate) ขั้นตอนที่ทำด้วยมือมักนำไปสู่ข้อผิดพลาด จงใช้ระบบอัตโนมัติเพื่อรองรับการขยายตัว
- บันทึกการตัดสินใจ เขียนเหตุผลที่คุณเลือกแนวทางนั้นๆ เพื่อช่วยทีมของคุณ
ให้ความสำคัญกับกฎ 3 ข้อนี้:
- ความซับซ้อนทำลายความน่าเชื่อถือ ระบบที่เรียบง่ายจะแก้ไขและเปลี่ยนแปลงได้ง่ายกว่า
- วัดผลก่อนปรับแต่ง (Optimize) ใช้ข้อมูลเพื่อหาจุดที่เป็นคอขวด (Bottlenecks) ที่แท้จริง
- ลงทุนกับทีมของคุณ เลือกเครื่องมือที่ทีมของคุณสามารถใช้งานได้จริง
วิธีเริ่มต้น:
เลือกโปรเจกต์เล็กๆ สักอัน สร้างมัน ติดตั้ง (Deploy) และรันมัน ประสบการณ์จริงมีค่ามากกว่าการอ่านหนังสือ
แผนสำหรับสัปดาห์นี้:
ตรวจสอบขั้นตอนการทำงาน (Workflow) ปัจจุบันของคุณ หาจุดบกพร่องหนึ่งจุด แล้วแก้ไขมันภายในสัปดาห์นี้
แผนสำหรับเดือนนี้:
ลงมือแก้ไขจุดนั้น วัดผลลัพธ์ และบอกทีมของคุณว่าคุณได้เรียนรู้อะไรบ้าง
แผนสำหรับไตรมาสนี้:
ทบทวนความคืบหน้าของคุณ ปรับปรุงแนวทางปฏิบัติของคุณโดยอิงจากข้อมูลใหม่ๆ