คุณเป็น Full Stack Developer ใช่หรือไม่

โพสนี้ตั้งใจเขียนขึ้นมาเพราะมีคำถามหนึ่งวิ่งเข้ามา

คุณถนัดอะไรที่สุด?

ผมก็ตอบไปว่า ทำได้หมดแล้วแต่ว่าจะให้ทำอะไร พร้อมเรียนรู้สิ่งใหม่ถ้าทำไม่เป็น

คุณอยากทำด้านไหนที่สุด? เช่น Architect, Tester, Coding, SA, PM

ผมก็ตอบไปว่าแนว Full Stack Developer คือ ทำได้หมด แล้วแต่อยากให้ทำตรงไหน มันอาจจะฟังดูว่าเวอร์ไปรึป่าว จริงๆแล้วไม่ได้เวอร์เลยสำหรับคนประสบการณ์ 10 กว่าปี ที่ต้องให้คำปรึกษากับบริษัทซอฟต์แวร์ บริหารโครงการเล็กใหญ่ที่มีทั้งสำเร็จและล้มเหลว ทั้งงานถ่ายทอดเทคโนโลยี งานโค้ดน้อยใหญ่แบบข้ามวันข้ามปี และอื่นๆ อีกจิปาถะ ซึ่งทั้งหมดที่ว่ามามันเป็น Role Base

ผู้ประกอบการณ์ส่วนใหญ่มักจะมองหาคนลักษณะเป็น Role Base เป็นอันดับแรก ซึ่งผมมองว่ามันจะทำให้องค์กรอ่อนแอ ขาดการทดแทน เกิดเป็นลำดับชั้น แบบที่หลายๆ บริษัทฯ เป็นอยู่ แต่มันไม่ง่ายครับที่จะเปลี่ยนจาก Role Base ไปเป็นแบบอื่นๆ ยกตัวอย่างง่ายๆ ว่า ถ้าบริษัทเรามีทีมพัฒนา 10 คน แบ่งเป็น 1 PM, 1 Architech,1 DBA ,5 Programmer, 1 Tester, 1  Deployer ถ้า DBA ลาออก พร้อม Architect อะไรจะเกิดขึ้น?  คงไม่ใช่เรื่องยาก คือ หาคนใหม่มาทดแทนเท่านั้นเอง แต่กว่าจะหาได้ก็คงใช้เวลาพอสมควร ช่วงที่รอที่นั่นแหละครับคือความเสียหาย แต่ถ้าเราใช้สูตร Full Stack Developer 5 คน กับ Programmer อีก 5 คน อันนี้มีเสถียรภาพดีขึ้นเยอะครับ สามารถหยิบ 5 คนนี้มาทำหน้าที่หมุนเวียนกันได้ แต่สูตรนี้ก็ยังอิงกับ Role Base อยู่ดี แค่ Full Stack Developer เป็นคนที่มี Skill หลายหลาก

หากคุณเป็น Startup จงสร้างและสะสม Full Stack Developer เอาไว้ให้มากๆ คนเหล่านี้จะช่วยคุณได้เยอะ

Full Stack Developer เองยังสามารถแบ่งไปตามสายเทคโนโลยีได้อีก เช่น Full Stack Mobile (iOS, Android) Developer, Full Stack Web (NodeJS, Ruby, ASP.NET) Developer, Full Stack …. Developer แล้วแต่จะเติมกันเอาตรงนี้ ถ้าใครกำลังมองหากลุ่มคนเหล่านี้ในตลาดงาน ขอบอกว่ามีเพียง 3% เท่านั้น

Full Stack Developer ก็คือ คนที่สามารถนำไอเดียออกไปเป็นโปรดักส์ได้ด้วยตัวเอง

แล้วคนที่มีคุณลักษณะแบบไหนที่จะพัฒนาไปเป็น Full Stack Developer ได้

  1. ชอบเล่น ชอบลอง ชอบศึกษา ของใหม่อยู่ตลอดเวลา
  2. รู้จักชุดสี Pastel และแยกออกระหว่าง สีเงิน สีเทา สีขาว
  3. ให้ความสำคัญกับ Margin, Padding, Z-Index และ Font
  4. รู้ว่าปุ่ม สีแดง กับ สีเขียว แตกต่างกันอย่างไร ตำแหน่ง ปุ่น OK กับ Cancel อันไหนควรอยู่ซ้าย อันไหนควรอยู่ขวา
  5. ใช้ Linux และ apt-get/emerge/rpm เป็น
  6. เชื่อมต่อ VPN, เคยใช้ Tor, มี Hosting ของตัวเอง
  7. เขียนโปรแกรมได้ทั้ง strong และ non-strong type
  8. คุยกับคน non-technical ได้รู้เรื่อง
  9. วางแผนงานใน 1 เดือน 1 ปี ได้
  10. ชอบทำงานคนเดียว เป็นทีมยิ่งสนุก
  11. ชอบอะไรที่เป็นระบบ เป็นขั้นเป็นตอน ควบคุมตรวจสอบและติดตามได้
  12. และที่สำคัญที่สุดคือ รู้สึกอยากทำอะไรด้วยตัวเองทั้งหมด

ส่วน Skill ที่คนเป็น Full Stack Developer จะต้องมี คือ

  1. Requirement -> Design -> User Experience
  2. Infrastructure (Cloud, Network, Hosting)
  3. DevOps (People + Process + Tools)
  4. Backend, Database (SQL, NoSQL, Cache)+ Middleware, Frontend (Mobile, Web, Desktop)

นั่นก็เป็นคร่าวๆ เกี่ยวกับเรื่องของ Full Stack Developer ที่ต้องใช้เวลาในการสะสม Skill ต่างๆ ไม่น้อยกว่า 3-4 ปี หากสังเกตตลาดงานในต่างประเทศจะเห็นว่าแนวโน้มของ Full Stack Developer จะเป็นที่ต้องการมากขึ้นเรื่อยๆ เนื่องจากต้องการลดจำนวนคนแต่อยากได้คนทักษะสูง มีเครื่องมือที่ดีขึ้นช่วยลดภาระงาน โฟกัสงานที่เล็กลง ลึกขึ้นและเฉพาะทาง

ย้อนไปเมื่อ 6 เดือนที่แล้วผมได้มีโอกาสคุยกับบริษัทซอฟต์แวร์ ERP รายหนึ่ง เพิ่งก่อตั้งได้ 2 ปี แต่โตเร็วมาก เค้ามีเป้าหมายเอาบริษัทเข้าตลาดหลักทรัพย์ MIA ใน 5 ปี ซึ่งจำเป็นต้องมีระบบภายในที่เป็นมาตรฐาน เค้าเริ่มสร้างให้พนักงานทุกคนสามารถทำงานทดแทนกันได้ ซึ่งก็เป็นแนวทางการสร้าง Full Stack Developer ไว้ใช้ในองค์กร

ภาพทั้งหมดจาก
http://www.skilledup.com/articles/reimagining-the-full-stack-developer

3
Leave a Reply

avatar
2 Comment threads
1 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
3 Comment authors
clmeponWallobh Tum Recent comment authors
  Subscribe  
newest oldest most voted
Notify of
epon
Guest
epon

บริษัท erpนั้นคือบริษัทอะไรครับ

clm
Guest
clm

เป็นคำย่อ software สำหรับองศ์กรครับ

Wallobh Tum
Guest
Wallobh Tum

ขอบคุณมากครับ