ว่าด้วยเรื่อง Software Architecture

อดใจไม่ไหว เลยไปทำมา อันนี้คือภาพที่อยู่ในหัวผมมาโดยตลอด หลังจากที่ได้รู้จัก Software Architecture


ตอนนี้แทบเป็น Fullstack Software Architecture ทำทั้ง Frontend , Backend , DevOps เลย จริงๆ หลายๆคน งง ได้ยิน Architecture คือ เป็นสถาปัตย์ ออกแบบบ้านหรือ


ตัว Developer เองก็งง เพราะส่วนใหญ่รู้จักแต่ Infrastructure เป็นหลัก แม้ว่า Infrastructure และ Architecture จะแปลได้ว่า "โครงสร้าง" เหมือนกัน แต่ความหมายต่างกัน


Infrastructure จะเน้นไปทางโครงสร้างวัสดุ แบบเสา ใช้ไม้ เหล็ก หรือปูน ใช้อย่างไรเหมาะสมแข็งแรง ถ้าเป็นทาง software ก็จะเป็นเรื่อง Stack ต่างๆ แบบใช้ SQL หรือ NoSQL มี Kafra , Loadbalance ไหม


Architecture จะเน้นไปทางด้านคน และประโยชน์ใช้สอย ออกแบบอย่างไรให้อยู่สบายใช้งานง่าย ถ้าคนมีกี่คน ควรมีห้องนอนกี่ห้อง หรือถ้าเป็นร้านค้า โรงงาน ควรแบ่งห้องอย่างไรบ้าง


ถ้าเป็น Software ก็จะคิดว่า ถ้ามีคนๆนึง มาเดฟ จะต้องไปอยู่ส่วนไหนบ้างของ Project 


เอาจริงๆ ที่ผมเจอ บริษัท ไม่ค่อยได้นึกถึงด้าน Software Architecture เพราะมองไม่ค่อยออกว่ามีประโยชน์อย่างไร เหมือนไม่ทำเงิน ใช้ MVC Pattern โปรเจ็กท์ก็รันได้ ทำเงินได้ ก็เพียงพอแล้ว


แต่ผมบอกได้เลยว่า Software Architecture ผมใช้ลดต้นทุนบริษัทได้เป็นอย่างมาก 


ผมเคยลดต้นทุนได้เป็น 10 เท่า จากการที่ งานหนึ่งใช้ Senior Dev เวลาทำ 3 วัน ผมลดเหลือ ใช้ Dev จบใหม่ ทำเพียง 3 ชม. ลองคิด Manday ระหว่าง 2 อันดู


หาคนก็หาง่ายกว่า เวลาก็ใช้น้อยกว่า โค๊ดก็มีคุณภาพกว่าบัคน้อยกว่า


เท่าที่ผมเข้าไปช่วยหลายโปรเจ็กท์ บอกหาคนไม่ได้ เพราะ โปรเจ็กท์บวม ซับซ้อน เวลาหาคนเข้า ต้องเข้าใจทั้งโปรเจ็กท์ก่อน ถึงจะทำได้ เพราะว่าโค๊ด มันอยู่ทุกส่วนของโปรเจ็กท์ คนต้องเก่งพอถึงทำได้


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


ตอนแรก ผมก็ไม่รู้จัก Software Architecture เรียกว่าเป็นประสบการณ์ตรง เวลาผมเข้าไปรับ outsource ผมจะนั่งเขียน doc ก่อน กว่า project เดินทางอย่างไร บางทีเขียนออกมาเป็น 10 หน้า เพื่อทำ api เส้นเดียว


ผมก็เลยเจอบริษัท ท้ายที่สุดบวม โครงไม่ดี ทำนาน ทำไม่ทัน หาคนมาทำเท่าไหร่ก็ไม่พอ ต้องมาจ้าง outsource อีก


พอเจอ project ที่ไม่ดีเยอะ เลยนึกภาพออกว่า ถ้าทำให้มันง่ายคืออย่างไร


สิ่งที่ผมทำ Software Architecture แล้วมีความสุขคือ 


ผมทำให้คนอื่นเก่งขึ้น ได้เป็น 2 ถึง 10 เท่า และได้มาตรฐาน อย่างที่ผมต้องการ โดยผมไม่ต้องไปเปลี่ยนนิสัยใคร ไปเทรนเยอะ หรือคุยกับคนเยอะเลยไม่รู้สึกต้องเหนื่อยกับเรื่องไม่เป็นเรื่อง ต้องทำงานหนัก แต่ผลลัพธ์น้อย

แทนที่จะทำงานน้อยๆได้ผลลัพธ์เยอะๆ


พอได้ทำ Software Architecture รู้สึกชีวิตดีขึ้นครับ (สำหรับคน Dev นะ ส่วนคนวาง Architecture ต้องมานั่งแบก Tech Debt คนอื่น ทำเอาไม่ค่อยได้หลับได้นอน 😅)

0
191