หมายเหตุ: ข่าวนี้เหมาะสำหรับคนที่สนใจเรื่องวิศวกรรมซอฟต์แวร์ และการจัดการโครงการซอฟต์แวร์ขนาดใหญ่ เพราะมีบทเรียนของ Facebook ให้เรียนรู้ แนะนำอย่างยิ่งให้อ่านต้นฉบับ (ซึ่งยาวมาก) ครับ
ทีมวิศวกรของ Facebook ใหญ่มาก คิดเป็นครึ่งหนึ่งของพนักงานทั้งบริษัท 2,000 คน โดยแบ่งเป็นทีมซอฟต์แวร์ และทีมดูแลระบบอย่างละครึ่ง (ประมาณทีมละ 400-500 คน) เพื่อให้เข้าใจง่าย ผมแบ่งเนื้อหาเป็น 2 ส่วนตาม 2 ทีมนี้นะครับ
ทีมวิศวกรซอฟต์แวร์
- วิศวกรใหม่ของ Facebook จะต้องอบรมโครงสร้างและกระบวนการทำงานของบริษัท นานประมาณ 4-6 สัปดาห์ และมีคนไม่ผ่านอบรม ไม่รับเข้าทำงานประมาณ 10% อบรมเสร็จแล้วจะได้สิทธิ์เข้าถึง database ที่กำลังทำงานอยู่
- วิศวกรทุกคนของ Facebook สามารถแก้โค้ดของซอฟต์แวร์ที่รัน Facebook ได้ตามใจชอบ ไม่จำกัดฝ่าย
- Facebook มีผู้จัดการผลิตภัณฑ์ (product manager) น้อยมาก ฝ่ายบริหารและการตลาดไม่สำคัญเท่าวิศวกร
- ผู้จัดการสั่งงานวิศวกรโดยตรงไม่ได้ ต้องใช้การล็อบบี้ คือเสนอไอเดียให้วิศวกร ซึ่งจะเลือกทำหรือไม่ทำก็ได้ ทำเป็นระยะเวลานานแค่ไหนก็ได้ ขึ้นกับวิศวกรแต่ละคน
- วิศวกรจะทำทุกอย่างเองทั้งหมด ตั้งแต่โค้ดจาวาสคริปต์ไล่ลงไปถึงฐานข้อมูล รวมถึงการแก้บั๊กและดูแลโค้ดหลังใช้งานจริงแล้ว
- Facebook ไม่มีทีม QA (เป็นหน้าที่ของวิศวกรเอง) และไม่ค่อยใช้ automated unit test (มีบ้างแต่ไม่เยอะนัก)
- ในกรณีที่ต้องการดีไซเนอร์ วิศวกรก็ต้องไปขายไอเดียให้ดีไซเนอร์สนใจและยอมช่วยทำ แต่ส่วนมากวิศวกรของ Facebook นิยมทำงานระดับฐานราก มากกว่างานระดับอินเทอร์เฟซ
- กระบวนการ commit โค้ดเข้าระบบ ต้องผ่านการรีวิวจากคนอื่นๆ อย่างน้อยหนึ่งคนเสมอ การส่งโค้ดโดยไม่รีวิวถือเป็นการประสงค์ร้าย และระบบถูกออกแบบมาให้คนอื่นๆ ช่วยกันรีวิวโค้ดได้ง่าย
- โค้ดบางส่วนที่สำคัญมาก เช่น News Feed มีข่าวว่า Mark Zuckerberg จะเป็นคนรีวิวโค้ดด้วยตัวเองเสมอ
- ตามธรรมเนียมแล้ว โค้ดของ Facebook รุ่นใหม่จะถูกนำขึ้นเซิร์ฟเวอร์จริงสัปดาห์ละครั้ง ทุกวันอังคาร
- วิศวกรเจ้าของโค้ดที่จะส่งขึ้นเซิร์ฟเวอร์จริงในสัปดาห์นั้น จะต้องอยู่ที่บริษัทในวันอังคาร และต้องประจำอยู่ใน IRC ของบริษัทเพื่อเตรียมรับมือกับปัญหา
ทีมดูแลระบบเซิร์ฟเวอร์
- ตอนนี้ Facebook มีเซิร์ฟเวอร์ประมาณ 60,000 ตัว
- การเปลี่ยนแปลงโค้ดรุ่นใหม่จะแบ่งออกเป็น 3 ระดับกว้างๆ คือ p1 ทดสอบโค้ดใหม่เฉพาะภายใน p2 ปล่อยโค้ดใหม่ต่อสาธารณะในวงจำกัด และ p3 เปลี่ยนโค้ดหมดทั้งเว็บ
- ชุดของเซิร์ฟเวอร์ที่เล็กที่สุดสำหรับทดลองโค้ดใหม่ ประกอบด้วยเซิร์ฟเวอร์ 6 ตัว
- ทุกวันอังคาร ทีมระบบจะเริ่มทดสอบจาก 6 ตัวนี้ก่อน ถ้าผ่านก็จะไล่ระดับขึ้นไปเรื่อยๆ แต่ถ้าไม่ผ่าน วิศวกรจะต้องกลับไปแก้โค้ดใหม่ และเริ่มทดสอบจากชุดเล็กสุดเสมอ
- ทีมดูแลระบบมีตัวชี้วัดหลายอย่าง ทั้งด้านเทคนิค และด้านพฤติกรรมของผู้ใช้ ถ้าหากโค้ดรุ่นใหม่ส่งผลให้พฤติกรรมของผู้ใช้เปลี่ยนไป ก็จะสามารถตรวจพบได้ทันที
- เมื่อโค้ดผ่านการทดสอบทั้งหมดแล้ว จะถูกรวมเข้ากับโค้ดจริงที่จะปล่อยในวันอังคาร
ที่มา - FrameThink
Comments
"ผู้จัดการสั่งงานวิศวกรโดยตรงไม่ได้ ต้องใช้การล็อบบี้ คือเสนอไอเดียให้วิศวกร ซึ่งจะเลือกทำหรือไม่ทำก็ได้"
เป็นเรื่องที่แทบเป็นไปไม่ได้ของบริษัทในไทย อิอิ
เห็นแต่โดนฝ่ายตลาดล้วงลูกตลอด อิอิ
ใช่เลย
เห็นด้วยครับ
เป็นสิ่งที่หวังมากๆ ที่จะได้เจอ T-T
การตลาดใหญ่สุด เอยปากบอกว่าอยากได้ ก็ต้องทำให้
พอลูกต้าไม่ชอบ ก็บอกว่าโปรแกรมมันไม่ดี
แต่ถ้าลูกค้าชอบ ก็บอกว่าเป็นผลงานของการตลาด
555
+100 like
^
ถ้ามีปุ่ม Like จะกดให้ซักโหล
;_;
จะบอกว่าโคตรจี๊ดอ่ะ
+1000x1000 จับใจจริงๆ T^Tq
+ 10M
โอ๊ยยย โดนใจเอาไป 1MMM++
โดนใจจริงๆ !! เอาไปล้าน Like
+1000 เช่นกันครับ
ปุ่ม เลีย เอ๊ย ... Like อยู่ไหน
Destination host unreachable!!!
ใช่เลยที่เป็นอยู่ d(T^T)b
+100
ผมว่านี่เป็นอารมณ์ส่วนตัวของ Mark Zuckerberg แน่นอนครับ
แกอาจจะเคยเจออะไรแบบนี้มาก่อน พอเป็นเจ้าของบริษัทก็เลยเอาสิ่งแย่ๆ มาปรับใช้กับวัฒนธรรมองค์กร
Mark Zuckerberg เคยเจอที่บริษัทไรเหรอรครับ :P
โออิชิครับ ตามาร์คแกทำอยู่โออิชิมาก่อน
จ๊าก
โอวววว
pittaya.com
ของผมไม่ต้องหวังขนาดนั้นหรอกครับ ขอแค่ได้ SA หรือ manager ที่เขียนโปรแกรมได้หรือเข้าใจเรื่องทางเทคนิคมาสั่งงานก็ดีใจแล้ว
ปกติเจอแต่แบบ พี่จะเอาแบบนี้ ทำยังไงน้องไปหาทางมาเองนะ เรื่องเทคนิคพี่ไม่รู้ - -"
+100
ถูกใจมาก
โดนน..
( >,<)b
:: DigiKin8 ::
เบื่อ SA แบบนี้เหมือนกัน กด Like ซักล้านรอบ !!!!
ถูกใจมากมายเลยอ่ะ
มันตรงข้ามกับที่ผมอยู่นี่มากมาาายยยยย
^
^
that's just my two cents.
ระบบนี้คงมีได้เพราะมีวิศวกรกุมอำนาจสูงสุด (มาร์ค)
เค้าคงไม่ชอบให้ใครมาสั่ง หรือคนโง่ๆทำไม่เป็นมาสั่งหรอกครับ กร๊ากๆๆๆๆๆ
เป็นบริษัทที่น่าทำงานจริงๆ เอาใจวิศวกร ฮ่าๆๆๆๆๆ
อ่านแล้วอยากทำบ้าง
เมื่อวาน 20/1/2554 ช่วงการคืน FB ช้าและอืดดดด เป็นครั้งแรกที่เจอ
ไม่ใช่แค่นั้นนะครับ เมื่อวานบางคนเจออาการล็อคอินไม่ใช่ของตัวเองครับ กลายเป็นคนอื่นไปเฉย อย่างงง
ปัญหานี้มีมานานแล้ว เข้าใจว่าเป็นที่ transparent proxy (+firewall) ของทรูเองนะ
LinkedIn
ผมเจอปัญหานี้กับตัวเลยครับ เล่นๆอยู่ตัวเองกลายไปเป็น Login ใครก็ไม่รู้
เมื่อวานผมก็เป็น เข้าไปเข้ามากรูปโปรไฟล์ตัวเองกลายเป็นใครก็ไม่รู้ งงสวดๆ !!?
อัฟเดธ เพื่อนบอกว่าจะเป็นของเฉพาะเน๊ต ทรู เพราะอื่นอีกคนใช้ 3BB ไม่อืดครับอันนี้เท็จจริงประการใดไม่รู้นะครับ ^^
3BB กับ TOT ไม่เป็นครับยืนยัน
ส่วน ture ต้องไปใช้ proxy ครับ
I need healing.
ไม่เข้าใจคำว่า วิศวกร อ่ะครับ หมายถึงเป็นโปรแกรมเมอร์หรือมากกว่าโปรแกรมเมอร์ครับ
Software Engineer
คือคนที่ออกแบบการทำงานของโปรแกรม
คนที่เขียน UML เปรียบเทียบกับวิศวะกรก่อสร้าง ก็คือคนที่เขียนแผ่นพิมเขียว (blueprint) ของอาคาร
ส่วนกรรมกรก่อสร้างก็คือโปรแกรมเมอร์นี่แหละครับ ที่ต้องเอาแผ่นพิมเขียวนั้นมาสร้าง โดยมีวิศวะกรทำงานควบคู่ไป
SA ทั่วไปก็จำเป็นต้องมีความรู้เรื่องการเขียนโปรแกรมอยู่แล้ว แต่เขาจะไม่เขียนเองทั้งหมด
โอวชัดเจนแล้วครับ ผมก็กรรมกรดีๆนี่เอง เหอๆ
+ 100
จากข้อความกระทู้ผมคิดว่าคำว่าวิศวกรของ Facebook นั้นทำทุกอย่างแหละครับทั้งออกแบบและเขียนโค๊ดครับ
วิศวกร = Engineer = ช่างเครื่อง ครับ (แปลตรงตัวเลยนะ 555)
ปรกติแล้วรวมทั้งฝ่าย Programmer และ QA ครับ ก็คือทุกคนที่มีส่วนในด้านเทคนิคของซอฟท์แวร์น่ะล่ะ
it ยุคใหม่ๆ แทบไม่ต้องการ การตลาดเลยจริงๆ
และมันเป็นปัจจัยในการสร้างความแตกต่าง สร้างจุดเด่นให้กับ product ทำให้ทำเป็นแรงผลักดันให้องค์กรประสบความสำเร็จต่อไป
ผมเจอมาหลายคืนละแต่เมื่อคืนหนักสุด
แต่เพื่อนผมบอกวิธีแก้ ซึ่งต้นเหตุมาจากทรูครับ คนไม่ใช้ทรู (เช่น TOT) ไม่ค่อยเจอ แต่ก็มีเอฟเฟคนิดๆ
ของทรูเพื่อนผมและผม ใช้วิธีตั้ง Proxy ไปที่ trueinternet ครับ หายเลย ลื่นปรื้ดดด
เฮือก !! ไม่มี QA
แฟนพันธุ์แท้สตีฟจ็อบส์ | MacThai.com
อื้มมบริษัทเค้าจัดการโครงสร้างได้น่าสนใจดีนะ
^^
FDLC = Facebook Development Life Cycle
Mark เข้าใจธรรมชาติของวิศวกร!! ออกแบบโครงสร้างการทำงานได้สถานะลูกเมียหลวงมากๆ
ถ้าพูดถึงระบบการทำงาน หาได้ยากกับบริษัทซอฟท์แวร์ในไทยทั้งๆที่ลอกระบบ Software Engineering เขามาแท้ๆ
เมพพพพ จะเอาปรับใช้กับออฟฟิศผมบ้าง XDDDD
"ผู้จัดการสั่งงานวิศวกรโดยตรงไม่ได้ ต้องใช้การล็อบบี้ คือเสนอไอเดียให้วิศวกร ซึ่งจะเลือกทำหรือไม่ทำก็ได้ ทำเป็นระยะเวลานานแค่ไหนก็ได้ ขึ้นกับวิศวกรแต่ละคน"
คงหมายถึงวิศวะกร ที่เข้าขั้นเทพแล้ว ..
ลองมองมุมผู้จัดการสิครับ.. บอกให้ทำอะไร (เจ้าวิศวะกร/โปรแกรมเมอร์กาก ที่ไม่เคยจะเรียนรู้อะไรใหม่ๆเลย) บอกว่า "ทำไม่ได้ ไม่ทำ!" งี้บริษัทก็เจ๊งพอดี
แต่ถ้าเสนอไอเดียกับวิศวะกร/โปรแกรมเมอร์ ประสบการณ์สูง เรียนสู้สิ่งใหม่ๆ ติดตามเทคโนโลยีใหม่ๆตลอด "ถ้าเค้าบอกไม่ได้" เป็นผม ผมก็เข้าใจนะว่ามันคงยังทำไม่ได้จริงๆ
เห็นด้วยครับ
ถ้าคนขี้เกียจๆเข้ามาอ่านหน่อย ก็จะคิดว่าดีเลย!! ไม่อยากทำก็ไม่ต้องทำก็ได้ แต่คิดว่า FB คงไม่รับคนแบบนี้เข้ามาทำงานหรอกครับ
FB เข้าใจดีว่า อยากทำระบบอะไรเจ๋งๆ บางทีมันกำหนดเวลาเสร็จให้แน่นอนไม่ได้หรอก ถ้ากำหนดเวลาเสร็จ บางทีมันจะทำลวกๆไป ให้มันเสร็จๆ แล้ว Manager ก็จะได้หน้าไป เพราะคุมโปรเจคให้เสร็จทันกำหนดได้ วิศวกรก็เหมือนทำตามคำสั่ง ไอเดียใหม่ๆที่มี ก็ไม่กล้าเอามาใช้ เพราะกลัวไม่ทันเวลา
+1
+1
วิธีล็อบบี้น่าจะใช้กับทุกคนนะ ส่วนเรื่องสั่งแล้วไม่ทำซักอย่าง น่าจะถูกควบคุมด้วยระบบประเมินผลงานอีกที ผมไม่ทราบว่า Facebook ใช้ระบบไหน แต่ถ้าเอาแบบไมโครซอฟท์ที่ตั้งเป้าหมายชัดเจนเลยว่า มีการปลดพนักงานออกทุกปี ไม่แน่ใจตัวเลข แต่น่าจะ 10% bottom ของบริษัท ไม่ว่าคุณจะเก่งแค่ไหนก็ตาม แค่นี้ก็อยู่หมัดแล้วครับ
LinkedIn
ผมว่าเค้าทำแบบนั้นได้เพราะส่วนนึงเค้าเป็นบริษัทชั้นแนวหน้าไปแล้วคัดแต่บุคลากรระดับสูงๆมา มีแต่คนอยากเข้าไม่มีคนอยากออก ประกอบกับคุณภาพของตัวบุคคลเองมีความรับผิดชอบสูงมากเป็นพื้นฐานอยู่แล้วด้วยอีกส่วนนึง
มาบ้านเราระบบแบบนี้คงไม่รอดแหละครับ จะถามว่าดีๆมีมั้ย มันก็มี แต่มีเป็นส่วนมากแบบเค้ามั้ย ผมว่ายังไม่มากขนาดที่จะใช้ระบบแบบนี้ได้
ชื่อ : Not Available at this Moment (N/A)
ผมว่าเรื่องการสั่งงานโดยไม่มีกระบวนการที่ดี เป็นลักษณะโดยทั่วไปของบริษัทในประเทศเราล่ะครับ
ทำงานสั่งมาโดยความต้องการของลูกค้าโดยตรง โดยไม่มีกระบวนการแปลงให้เป็นรูปแบบกระบวนการทำงานเชิงซอรฺ์ฟแวร์
โปรแกรมเมอร์ถึงต้องทำงานหนังกและบางทีก็ทำงานซ้ำซ้อนโดยเสียประโยชน์การใช้งาน
การแปลงกระบวนการเท่าที่ผมเคยเห็นจะมีขั้นตอนประมาณนี้นะครับ
Customer -> Business Analyst -> System Analyst (-> Senior Programmer) -> Programmer
Business Analyst จะแปลงความต้องการของลูกค้าที่บางทียังสับสนอยู่ให้มีความชัดเจน
และเป็นไปในทิศทางเดียวกัน มี Scope งานที่ชัดเจน และเป็นคนนำเสนองานกับลูกค้าได้
เช่นพวก prototype ของงาน
System Analyst จะต้องคุยกับ BA ว่าตามความต้องการ เมื่อแปลงแล้วจะอยู่ในรูปแบบของโปรแกรมในลักษณะใด
เพื่อให้ง่ายต่อการเขียน หรือเขียนให้น้อยที่สุด จนไปถึงการดูแลรักษาเมื่อต้องมีการแก้ไขหรือการเปลี่ยนแปลง
ซึ่งถ้าทำงาน ควบคู่กับ Senior Programmer ซึ่งเป็นผู้รู้ Library และโครงสร้างต่างๆในการทำงาน
จะทำให้ทราบว่าแนวทางการดำเนินงานจะเป็นไปทิศทางใด
ผมว่างานในบ้านเรายังขาด BA และ SA เก่งๆนะครับ เพราะอาจไม่ได้ให้ความสนใจในส่วนนี้เท่าที่ควร
อืมมม...
เห็นหลายคนชอบประโยคนั้น แต่...
หันมาดูตัวเองก่อนหรือเปล่า...
engineer ที่เข้าไปทำงานในระดับนั้นเขามีศักยภาพขนาดไหน ระดับ top ของโลกนะครับ...
ความรู้ ความคิดอ่าน ความรับผิดชอบ ความทุ่มเท ได้เสี้ยวนึงของพวกนั้นหรือไม่...
เดี๋ยวจะลืมตัวไป คิดว่าตัวเองอยู่ในระดับเดียวกัน...
ถ้าตัวเองยังไม่ถึงระดับที่เหมาะสม ไปรอคำสังจากเบื้องบนจะดีกว่านะครับ...
ถ้าใช้ระบบนั้นกับ engineer หรือ programmer ที่พบเห็นส่วนมากในไทย...
เจ๊ง เละ เทะ... กว่าที่เป็นอยู่ แน่นอน (ซึ่งที่เป็นอยู่มันก็เละพอแล้ว)
ผู้ที่ถูกปกครอง ต้องคู่ควรกับระบบการปกครองด้วย
เขียนได้ดีครับ
พูดได้โดนครับ ผมคิดว่าประโยคนั้นเจ๋งจริงๆครับและก็คิดว่าใช้ได้เฉพาะกับ Facebook เท่านั้นครับ
+10000 ไปเลยแม้จะเป็นโปรแกรมเมอร์
คนที่เข้าไปทำงานใน FaceBook มีมือใหม่เข้าไปเสมอครับ
ไม่ใช่ว่าคนที่เข้าไปมีประสบการณ์สุดเทพแทบทุกคน
ทรัพยากรบุคคลที่ดี ดูที่ Potential ด้วย ไม่ใช่แค่ Experience
การปกครองที่มีประสิทธิภาพ ไม่ใช่ว่ารอให้ผู้ที่ถูกปกครองที่คู่ควรเข้ามา
แต่เปนการปกครอง ที่สามารถพัฒนาผู้ที่ถูกปกครอง ให้เข้ากับการปกครองนั้นได้
ที่ผมเขียนไป ไม่มีคำว่าประสบการณ์นะครับ และไม่คิดว่าเกี่ยวด้วย แต่ทีคุณพูดก็ถูกครับ
ส่วนการปกครองที่มีประสิทธิภาพ คือการเลือกรูปแบบให้เหมาะสม ไม่ใช่แบบใดแบบหนึ่ง
แบบที่คุณพูดมา มีส่วนถูกครับ แต่มัน "ไม่ทันกิน" และไม่ค่อยเหมาะกับเอกชน มันเหมาะกับรัฐบาล
การพัฒนาคนสำคัญ แต่การเลือกคนมาพัฒนา สำคัญกว่า
ทรัพยากรมันมีจำกัด เอางบและเวลาไปพัฒนาไอโหลยโท่ย มันจะได้ประโยชน์อะไร
มัน dilemma นะ เด็กบางรายก็มองบริษัทเป็นแค่สถานที่จะอัพรายได้
+1 แต่บางบริษัทก็มองว่า engineer เป็นเหมือน LEGO ถอดเปลี่ยนยังไงก็ได้
โอย อ่านแล้วอยากไปทำงานกับ Facebook ขึ้นอีก 2^32 เท่าเลย !
ในไทย ผมว่าฝ่าย Marketing กับทีม Developer ควรคุยกันให้มากก่อนคิดอะไรเพื่อไปขาย ไปเสนอลูกค้าครับ ไม่ใช่คิดมาแล้ว ทีม Developer ยังไม่รู้เลย ขายได้แล้วก็มาบอก อ้าวเฮ้ย! แบบนี้มันทำไม่ได้! ตึ่งโป๊ะ!!
ควรคุยกันเรื่องแนวทางและความเป็นไปได้กันเยอะๆ จริงๆ ครับ สำหรับบ้านเรา
ที่ facebook ทำได้เพราะเค้ามีจุดขายที่ัชัดเจนว่าจะขายอะไร แต่ในไทยส่วนใหญ่ทำงานรับทำไปทั่วบริษัทไม่มีจุดขายชัดเจน ว่ากันง่ายๆ รับเหมาก่อสร้างโปรแกรมนั่นเอง ฉะนั้น Marketing จึงสำคัญสูงเพราะเป็นหน้าด่านของการหางานมาให้ท่านๆ ได้มีงานทำ Marketing อยากได้งานอะไรก็ตอบว่าได้หมด มันคือสัจธรรม
+100 เลย ที่ผมอยู่ก็เป็น
คุยกัน reply mail กันไปมา คนเขียนโปรแกรมไม่รู้เรื่องเลยสักอย่าง
พอคุยกันเสร็จถึงจะ forward mail มาให้ แล้วมาบอกว่า ให้ศึกษาจากเนื้อความในเมลเอา - -! กรรมเวร
พอรู้อีกทีก็กำหนดเส้นดายมาเลยเสร็จสับ เซ็งงงง!!
^
^
that's just my two cents.
ฝ่ายบริหารและการตลาดไม่สำคัญเท่าวิศวกร
โอ้วจอร์จ บริษัทในฝันเลย
ตรงจุดนี้ผมว่า เป็นเพราะ fb เค้าเป็นบริษัทผู้ให้บริการ ไม่ใช่รับจ้างทำตามความต้องการของลูกค้า
+๑
ตาม [CORRECTION] ในต้นฉบับ
เรื่องไม่ค่อยได้ใช้ automated unit test น่าจะมาจากปาก junior engineer มากๆ ซึ่งข้อมูลนี้น่าจะผิด
ตาม common sense ... ยิ่งไม่มี QA แล้ว automated test น่าจะขาดไม่ได้
ถ้าเทียบอย่างนั้นผมก็เป็นคนเขียน UML ดิ อิอ
ทัศนคติ และ ความสามารถของโปรแกรมเมอร์ไทยยังต้องพัฒนาอีกเยอะ
โปรแกรมเมอร์ต้องทำอย่างอื่นเป็นด้วยนอกจากเขียนโปรแกรม
นึกถึงควาย ต่อให้แรงเยอะไถเร็ว ก็เป็นได้แค่ควายที่ไถนาเก่งที่สุด ยังไงก็ต้องโดนชาวนาจูงจมูกอยู่ดี
กลับกันถ้าคิดเองได้ว่าไถไปทางไหนแล้วจะดี ต่อให้ไม่ใช่ควายที่เก่งที่สุด แต่ผลลัพธ์อาจจะดีกว่าก็ได้ เพราะใครจะรุ้เรื่องการไถนาดีกว่าตัวควายเอง
Edit : แรงไป เอาใหม่
สรุปว่า โปรแกรมเมอร์ = ควาย ใช่มั้ยครับ ? แต่ผมว่าควายมันไถนาไม่ได้นะ ?
อย่า bias ซิครับ ผมนึกแค่ match งานกับสัตว์ที่เก่งในเรื่องที่ตัวเองทำจริงๆ
ถึงเอาช้างตัวใหญ่กว่าแข็งแรงกว่า มาไถนาก็ทำสู้ควายไม่ได้หรอก
เปิดใจมองประเด็นผมหน่อยมั้ยว่า ต่อให้เก่งแค่ไหนถ้าทำอย่างอื่นนอกจากเขียนโปรแกรมไม่เป็น ก็โดนฝ่ายขาย โขกสับไปทั้งชาตินั้นแหละครับ
สมัยก่อน แถบที่มีช้างมากกว่าควาย ก็มีการเอาช้างมาไถนาครับ
ม้าก็มี
แถบไหนครับที่ใช้ช้างไถนาข้าว อันนี้อยากรู้จริงๆ ม้านี่มีใช้จริงๆในแถวๆเขตอบอุ่น แต่ช้างลุยนาข้าวนี่นึกภาพไม่ออก กลัวมันจะติดหล่มด้วยน้ำหนักตัวมันเอง
ผมหา Source ของประวัติศาสตร์ที่ผมเคยอ่านไม่เจอ
แต่สมัยนี้ก็ยังใช้ได้ครับ
ลองดู http://www.youtube.com/watch?v=S7zkB3qv5ic
http://www.bangkokpost.com/tech/computer/22388/
จากแหล่งข่าวนี้ก็มีบอกว่า
"ชาวนากะเหรี่ยงที่อมก๋อยใช้ช้างทำนามาช้านานแล้ว เพราะบนดอยมีดินที่แข็งและมีหินจำนวนมาก ควายมีกำลังไม่พอ จึงต้องไปขอช้างจากป่ามาช่วยทำนาในฤดูปลูกข้าว และปล่อยกลับคืนป่าเมื่อสิ้นฤดู"
ผมกำลังจะบอกว่าคุณต่างหากที่ bias :-)
ควายมันไถนาเองไม่ได้นะครับ คือ ถ้าเราปล่อยให้ควายมันเดินไถนาเอง คุณว่าควายมันจะไถนา หรือ มันจะทำให้นาล่มกันแน่ ? สิ่งที่มันทำก็คือ การเดินไปเรื่อยตามที่ชาวนาจะบอก ไม่ใช่หรือ ไม่ใช่ว่าชาวนาต้องไปผูกคันไถเข้ากับควาย ต้องเดินตามควาย (หรือว่านำ ?) ต้องทำให้ควายไม่เดินออกไปนอกทิศทาง ที่เหลือก็คือการที่คันไถมันครูดไปกับพืนนาจนมันมีรอยไถ หรืออะไรก็แล้วแต่ อย่างนั้นหรอกหรือ
ถ้าคุณไม่คิด bias ว่า โปรแกรมเมอร์มันก็เหมือนกับควาย ผมว่าคุณคงไม่คิดผิดหลักไปไกลขนาดนั้น เป็นผมผมคงจะเทียบกับชาวนามากกว่า ก็เป็นคนที่รู้วิธีการผลิตแต่ขายไม่เป็น หรืออะไรทำนองนี้ไปน่ะ
หรือถ้าคุณใช้งานโปรแกรมเมอร์เหมือนควาย ต้องมานั่งออกคำสั่งทุกอย่าง แถมเชื่อฟังไปซะทุกอย่างด้วย อันนี้ก็คงอีกเรื่องนะ ผมเองก็เคยเห็นโปรแกรมเมอร์ลักษณะนี้บ้างเหมือนกัน
ปล. หน้าตกไปไกลแล้วคงไม่มีใครตอบแล้วล่ะ 555
ผมว่ามันก็ไม่ผิดซะทีเดียวนะ...
ทำงานอยู่นี่บางทีก็จะมีงานแบบ หัวหน้าเขียนคอมเมนท์มาหมดแล้ว เขียนตามก็พอ
รู้สึกว่าตัวเองไถนาอยู่จริงๆ
ชาวนาตามนิยามนี้ออกจะเหมือน ProjectManager หรือ SoftwareEngineer มากกว่า
จับคันไถแล้วสั่งให้เราลากไป
ใครเก่งๆ ก็ใช้เครื่องมือดีๆ ลากควายได้ทีละหลายตัว
หรือควายบางตัวฉลาด แค่พูดๆชี้ๆก็ลากได้
หรือควายบางตัวฉลาดมาก มีคันไถติดตัวก็ลากเองได้
หรือยิ่งกว่านั้นก็วิวัฒนาการเปนชาวนาเองไปเลย
เรื่องนี้เปรียบเทียบกับคนไทยได้ยากครับ เพราะว่า ประเด็นหลักคือ คนไทยเนี่ย เติบโตมาแบบวัฒนธรรมไทย ความเคยชินแบบไทยๆ ฝรั่งเค้าทำได้เพราะ วัฒนธรรมรอบข้างเค้าเป็นแบบแข่งขัน
เค้ามีความรับผิดชอบสูง และเวลามีปัญหาเค้า คุยกันตรงๆ พูดตรงไปตรงมา ไม่อ้อมค้อม ไม่มีลำดับชั้นวรรณะ ทางสังคม อายุไม่เกี่ยวข้่อง ถ้าคนไทย
ไปคุยกันก็กว่าจะอ้อมวนมาเข้าเรื่องก็เสียเวลาไม่อยากคุยบางคนเบื่อไปก่อน
ป.ล. แต่เดี๋ยวนี้เด็กยุคใหม่หลายๆคนก็เริ่มรับวัฒนธรรมแบบฝรั่งมาแต่ยังใช้ไม่ค่อยถูก แต่พูดถึงเรื่อง Server Farm ไม่น่าเชื่อว่าจะมีเยอะขนาดนั้น แค่ ทีม IT Support นี่คงจะใหญ่น่าดู
FREE FOR ALL
คุยกับผู้ใหญ่ ก็ได้แต่ครับๆ ๆ ๆ ทั้งทีใจจริงอยากเถียงใจจะขาด แต่ก็ทำไม่ได้
พอได้ลองเสนอความคิดเห็นไป ก็โดนตอกกลับมาว่า "คุณยังเด็กอย่าพึ่งมาแทรก"...
ที่คั้นประเด็น(ที่คั้นหนังสือ) [Inside A Facebook Server Farm]
http://goo.gl/K8lG5
ที่มา http://www.time.com
หลายๆ คนบอกว่าอยากให้บริษัทไทยเป็นแบบนั้นบ้าง แต่ผมขอแย้งว่ามันแตกต่างกัน (มีคนแย้งไปก่อนห้าแล้วแหละ แต่ขอช่วยยืนยัน) ความแตกต่างที่สำคัญที่สุดคือ facebook เค้าขายผลิตภัณฑ์ ขายลูกค้าเหมือนๆ กันหมด แต่บริษัทในไทยเท่าที่ผมเคยรู้เคยเห็น ส่วนใหญ่จะเป็นบริษัทที่ปรึกษา คือทำตามความต้องการของลูกค้าเป็นรายๆ ไป ซึ่งแบบหลังเนี่ยคุณเริ่มด้วยลูกค้าก่อน ดังนั้นคุณก็ต้องทำอะไรตามลูกค้านั่นแหละ ดีไม่ดียังไงก็ต้องทำเพราะเค้าจ้างคุณไปทำ
โดยทั่วไปบริษัทผลิตภัณฑ์ทั้งหลายตอนเริ่มต้นก็เป็นแบบนั้นหมด แต่พอโตขึ้นก็จะรักษารูปแบบไว้ไม่ค่อยได้ ก็ต้องดูต่อไปว่า facebook จะอยู่แบบนี้ได้อีกนานแค่ไหน
อีกอย่างคือไม่ใช่เอาใครมาก็จะใช้ระบบแบบนี้ได้ผล มันต้องใช้คนที่ผ่านการฝึกฝนมาอย่างดี มีใจรักในสิ่งที่ทำ ถ้าเอาคนที่ทำงานเพื่อเงินมาทำก็จะทำไม่ได้ผล แต่ก็ไม่ได้แปลว่าผลตอบแทนไม่สำคัญ ถ้าทุกอย่างเท่ากันหมดยกเว้นผลตอบแทน คนเก่งๆ เค้าก็เลือกที่ผลตอบแทนดีที่สุดอยู่แล้ว
อยากืราบหน้าที่ ที่ชัดเจนของ software engineer ว่าขอบเขตงานเค้าแค่ไหนครับ
1. เขียน code
2. analysis & design
3. เขียน work flow
และอีกมากมาย
ใครพอทราบบ้างครับ
โดยส่วนตัวผมยังไม่เห็นว่า Fackbook จำเป็นต้องใช้ วิศวะกรมากขนาดนี้เลย
แล้วมันจะไม่ conflict กันหรือครับ
มีคนกดแชร์ไปแล้ว 500 กว่า