🛑 1. The Realization: "ซอฟต์แวร์คือโรงงานเคมีที่ไม่มีวันระเบิด"
ตอนที่ผมเรียนวิศวกรรมเคมี เราถูกฝึกให้คิดถึง Process Flow Diagram (PFD) และการสมดุลมวลสาร (Mass Balance) เมื่อผมย้ายมาโลกของ Software ผมพบว่าโครงสร้างความคิดมันเหมือนกันเป๊ะ!
- Input: วัตถุดิบ (Data)
- Process: หอควบคุมหรือปฏิกิริยา (Backend Logic / Algorithms)
- Output: ผลิตภัณฑ์ (UI / API Response)
ความแตกต่าง: ในโรงงาน ถ้าคุณเขียน Logic พลาด ถังอาจจะระเบิดได้ แต่ใน Software เรามีระบบ try-catch และ unit testing ที่ช่วยให้เราล้มได้บ่อยเท่าที่ต้องการเพื่อความเป็นเลิศครับ
💡 2. Real-Life Analogy: หอกลั่นน้ำมัน vs ระบบ Microservices
- Distillation Column (หอกลั่น): มีการแยกส่วนประกอบตามจุดเดือด ทุกชั้นมีหน้าที่ชัดเจน (Separation of Concerns)
- Software Architecture: เหมือนกับการแบ่ง Layer ของโค้ด (Controller -> Service -> Repository) ทุกชั้นต้องทำงานประสานกันโดยไม่ก้าวก่ายหน้าที่กัน
- หัวใจสำคัญ: หากชั้นหนึ่งพัง (Bottleneck) ทุกอย่างจะช้าลง วิศวกรเคมีจะมองหาจุดที่ประสิทธิภาพต่ำสุด (Limiting Step) ซึ่งเป็นทักษะเดียวกับการทำ Performance Optimization ในแอปขนาดใหญ่ครับ
🚀 3. Execution Journey: เส้นทางการเปลี่ยนสายงานแบบ Engineer
การเปลี่ยนสายงานจากวิศวกรรมเคมีมาเป็น Fullstack Developer ของผมไม่ใช่แค่การจำไวยากรณ์ (Syntax) แต่คือการใช้ Engineering Mindset ในการเรียนรู้:
🛠 Step-by-step:
- Systems Thinking: ผมไม่ได้มองแค่ "จะเขียนปุ่มยังไง" แต่มองว่า "ข้อมูลจะไหลจากฐานข้อมูลไปสู่ตาของผู้ใช้ได้ยังไง" (End-to-End flow)
- First Principles Thinking: เมื่อเจอ Bug ที่ซับซ้อน ผมจะย่อยมันกลับไปสู่พื้นฐานที่สุด (เช่น เรื่อง Network, Memory หรือ Async/Await) เหมือนที่วิศวกรวิเคราะห์ปัญหาในระบบโรงงาน
- Optimization Culture: การลดเวลาโหลดหน้าเว็บจาก 2 วินาทีเหลือ 200 มิลลิวินาที ให้ความรู้สึกภูมิใจเหมือนกับการเพิ่ม Yield ในปฏิกิริยาเคมีเลยครับ
🪤 4. The Junior Trap: การโฟกัสที่ "เครื่องมือ" มากกว่า "หลักการ"
จูเนียร์ที่เปลี่ยนสายงานมาใหม่ๆ มักจะพยายามเรียนรู้ Library ทุกตัวที่มีชื่อเสียง:
- ปัญหา: เครื่องมือเปลี่ยนไปทุกปี แต่หลักการ (Fundamentals) อยู่ตลอดกาล
- ✅ การแก้ไข: จงให้ความสำคัญกับ Data Structures, Algorithms และ System Architecture หากคุณเข้าใจพื้นฐาน คุณจะใช้เครื่องมือไหนก็ได้ (React, NestJS, Go, Python) ทุกอย่างจะเป็นแค่ "เครื่องมือ" ในมือคุณครับ
⚖️ 5. The Professional Growth: Self-Taught vs CS Degree
| หัวข้อ | Computer Science (CS) | Engineering Background (Sr. Mindset) |
|---|---|---|
| จุดแข็ง | ทฤษฎีคอมพิวเตอร์ลึก, OS, Compiler | Problem Solving, Scale, Scalability |
| วิธีมองปัญหา | มองในเชิงตรรกะและโครงสร้าง | มองในเชิง Efficiency และ Real-world Constraints |
| การเรียนรู้ | เป็นระบบตั้งแต่ฐาน | เน้นการประยุกต์ใช้เพื่อแก้ปัญหาจริง (Practicality) |
🎓 6. Senior Mindset Summary
อย่ามองว่าพื้นฐานที่ไม่ตรงสายคือปมด้อย แต่จงมองว่าเป็น "Unique Perspective" ที่จะทำให้คุณโดดเด่นครับ การที่ผมมาจากสายวิศวกรรมทำให้ผมรักใน Clean Code และ Reproducibility (Docker) เพราะในโลกวิศวกรรม ความแม่นยำไม่ใช่ทางเลือก แต่คือหน้าที่!