January 21, 2017

ประสบการณ์ฝึกงานที่ Google รอบสอง



โพสนี้เราจะมาเล่าประสบการณ์ การไปฝึกงานที่ google สาขา mountain view เป็นรอบที่สอง ซึ่งทีแรก ก็นึกว่าจะไม่ต่างจากครั้งแรกเมื่อปีที่แล้วเท่าไร (อ่านประสบการณ์ฝึกงานรอบที่แล้ว คราวที่แล้วเรื่องการสัมภาษณ์ได้ที่นี่ และเรื่องการทำงานได้ที่นี่) ปรากฏว่า รอบนี้มีความแตกต่างกันมากทีเดียว ทั้งเรื่องตัวงาน หัวหน้า เพื่อนและครอบครัว ซึ่งทำให้มีความรู้สึกดีๆเทียบกับคราวที่แล้วมากๆ เอามาแบ่งให้อ่านๆกัน รวมถึงเตือนตัวเองในอนาคตด้วย


หมายเหตุ


สิ่งที่เขียนทุกอย่างเป็นความเห็นและประสบการณ์ส่วนตัว ไม่ใช่ความคิดเห็นของ google ข้อมูลการทำงานภายใน google ที่เขียนในนี้ทั้งหมด สามารถ search หาได้ public เราแค่เอามารวมไว้เล่าเรื่องราวให้ต่อเนื่องเป็นชิ้นเป็นอัน รวมเข้ากับประสบการณ์ส่วนตัวเท่านั้น


สัมภาษณ์


เราไม่รู้ว่าเราทำงานเมื่อปีที่แล้วดีแค่ไหน แต่เราคิดว่าเราทำได้ตามเป้าหมายพอดีๆ รอบนี้เราเลยไม่ต้องสัมภาษณ์แบบเขียนโปรแกรมอีกแล้ว เค้าให้ข้ามไปขั้นตอนเลือกทีมได้เลย ขั้นตอนการเลือกทีมเหมือนกับครั้งที่แล้วแหละ คือ เรากรอกแบบฟอร์มว่าเรา ถนัดทำอะไร สนใจทำอะไรบ้าง และอยากทำออฟฟิสไหน ฯลฯ แล้วทางทีมใน google ซึ่งมีโปรเจคที่เหมาะสมก็จะติดต่อมา โดยจะมีผู้ประสานงานฝ่าย HR เป็นคนนัดประชุม ส่งข่าว และจัดการเรื่องการเซ็นสัญญา รอบนี้กรอกฟอร์มไปแบบ flexible มาก คือ ไม่จำเป็นต้องเกี่ยวกับสิ่งที่วิจัยอยู่ตอนนี้ ทำอะไรก็ได้ ขอแค่ได้เรียนรู้อะไรใหม่ๆก็พอละ รับชั้นทีเถอะนะ ขอร้อง รอบนี้ดวงดีกว่าคราวที่แล้วมากๆๆๆ มีทีมติดต่อมาเร็วมาก ก็ติดต่อกันทางโทรศัพท์เพื่อหัวหน้าโปรเจคจะได้คุยรายละเอียดกับเรา คนที่ติดต่อมารอบนี้ เป็นพี่แขกผู้หญิง ชื่อ อะดีตี้ (ต่อไปนี้จะเรียก เจ๊) ซึ่งสำเนียงแขกนี่ เราก็คิดว่าเราชินมาจากมหาวิทยาลัยแล้วนะ ก็ยังฟังยากอยู่ดี แต่ อย่างน้อยก็จับใจความสำคัญโต้ตอบได้ สรุปว่า โปรเจคเกี่ยวกับการเขียน compiler สำหรับภาษาหนึ่งที่ใช้ภายใน google ก็ตรงกับ background ที่เรียนมา เช็ดโด้ว์ ไม่คิดว่าจะได้ทำด้านนี้จริงๆ เราก็ถามคำถามเค้าค่อนข้างเยอะ ตั้งแต่ว่าทีมมีกี่คน ติดต่อกับทีมอื่นไหม ประชุมบ่อยไหม ใช้ภาษาอะไร ใช้ tool ตัวไหน ถ้าหัวหน้าไม่อยู่ให้ติดต่อใคร มีเด็กฝึกงานคนอื่นไหม ที่จะทำเป็น service หรือ standalone ต้องติดต่อ service อื่นบ้างไหม ต้องดูข้อมูลอะไรบ้าง test ระบบยังไง ประเมินผลยังไง ซึ่งเราคิดว่าจากจำนวนคำถามบวกกับน้ำเสียงที่ตื่นเต้นของเรา ทำให้เจ๊พอจะรู้ว่าเราสนใจโปรเจคนี้มาก นอกจากแสดงให้เห็นว่าเราสนใจ เราก็ต้องพยายามขายว่าเรามี background ด้านนี้จริงๆ เราก็จะพยายามขุดโปรเจคอะไรก็ตามที่เกี่ยวกับ compiler ตั้งแต่ตอนเรียนโท ตอนทำงานเก่า ขุดขึ้นมาพูดเรื่อยๆระหว่างคุยกัน คุยเสร็จก็บอกเจ๊ไปอย่างชัดเจน ว่า เราสนใจโปรเจคนี้มาก อยู่ในกำมือของเจ๊แล้วแหละ ว่าเห็นเราเหมาะสมกับงานหรือไม่ ประมาณหนึ่งสัปดาห์ถัดมา HR ส่งอีเมลมาแสดงความยินดี คุณได้ทีมแล้ว เย่


ทำงาน

รอบนี้ทำ 12 สัปดาห์เหมือนคราวที่แล้ว แต่เจ๋งตรงที่ไม่ต้องนั่ง orientation หลายๆวันเหมือนคราวที่แล้ว
รายงานตัวครึ่งวันปุ๊ปเริ่มทำงานได้เลย รอบนี้ทีมเล็กกว่าคราวที่แล้ว หลักๆทำงานกับ เจ๊ กับ team lead อีกหนึ่งคน ไม่มีเด็กฝึกงานคนอื่นให้เปรียบเทียบผลงาน (รอดตายแล้วๆ เพราะเรากระจอกกว่าแน่นอน) แต่เจ๊เองก็เป็นพนักงานประสบการณ์น้อยกว่า เอริก (หัวหน้าเมื่อปีที่แล้ว) ค่อนข้างเยอะ เวลา code review จะเรียนรู้อะไรน้อยกว่าคราวที่แล้วหน่อย แถมมีหลายๆครั้งที่ไม่เห็นด้วยกับสิ่งที่เค้ารีวิวมา ก็มีโต้ตอบกันไปมา (อย่างมีเหตุมีผล) อยู่เรื่อยๆ แต่สิ่งที่เจ๊มีแต่เอริกไม่มีคือ เวลา รอบที่แล้วเราเจอ เอริก ประมาณสัปดาห์ละครั้ง รอบนี้ เจ๊ มาคุยที่โต๊ะหลังทุกพักเที่ยง แวะมาครั้งละ 30 วินาทีถึง 5 นาที เพื่อถามว่ามีอะไรติดขัดไหม ส่วนใหญ่แล้ว เรื่อง technical จะโอเค แต่เรื่องที่เจ๊ช่วยได้เยอะที่สุด คือ ช่วยวางแผนว่า ทำอะไรต่อดีใน 24 ชั่วโมงถัดไป มีอะไรที่เจ๊จะคุยกับทีมอื่นให้ได้หรือไม่ หรือมีอะไรที่เจ๊ช่วยลด scope ได้หรือไม่ (บางทีปัญหามันใหญ่เกินไปจะทำไม่ทันเอา ก็ต้องลด case ที่จะ handle ให้น้อยลงอะไรงี้)
สรุปคือ อะไรที่เราจัดการได้ เจ๊ไม่ยุ่ง แต่อะไรที่เจ๊มีอำนาจตัดสินใจและช่วยเราได้ เค้าช่วยเต็มที่ แต่มีวิธีทำงานอย่างนึงที่เจ๊อยากให้ทำ แต่เราไม่เห็นด้วยคือ การ commit code ยักษ์ ก็คือ หนึ่ง commit แบบเป็นพันๆ line of code เราก็พยายามดันๆเล็กน้อย ขอเป็น commit จิ๋วๆหลายๆอัน
เค้าก็บอกว่า อันนี้ให้รวมกับ commit ใหญ่ไปเลย เป็นงี้หลายๆครั้งเราก็โอเค ตราบใดที่เจ๊ review ให้ทันเราฝึกงานจบได้เป็นพอ เอาที่เราสามารถส่ง code คุณภาพให้ได้เยอะสุด พอละ
ประมาณ 4 สัปดาห์แรก ใช้เวลาไปกับการเขียน code ใหม่ โปรเจคของเรา ตอนแรกมันฟังดูจะเป็นอะไรที่ lightweight มาก เลยไม่อยากไปพยายาม extend code เดิมที่มีอยู่แล้ว ซึ่งค่อนข้างจะซับซ้อน ต้องเข้าไปทำความเข้าใจอีก แต่จบไป 4 สัปดาห์ เจ๊ บอกว่า ไอ้ที่เราทำมันจะคล้ายอันที่มีอยู่แล้วเข้าไปทุกทีละ สรุปก็คือต้อง extend code เดิมอยู่ดี แล้วก็โละ code ใหม่ของเราทิ้งให้หมด ซึ่งเป็นการตัดสินใจด้วยกันที้เราเห็นด้วยและแฮปปี้ที่จะทำ กลับมาอ่าน code รอบนี้ ก็เข้าใจ code มากขึ้นเยอะแล้ว ที่เหลือก็เลยเป็นอะไรที่ตรงไปตรงมา รอบนี้โชว์ผลงานง่ายกว่าคราวที่แล้ว ประมาณว่า เราเขียน compiler หน้าที่มันก็คือ ต้อง compile code ที่ซับซ้อนพอให้ได้ แล้วทางเจ๊ ก็มี code ที่ใช้ test รอเราอยู่แล้ว ก็เลยแค่ทำไปเรื่อยจนมัน compile ได้ก็ถือว่าตามเป้าแล้ว


ประเมินผลงาน

สรุป ผ่านไปจนจบ 12 สัปดาห์ ส่งงานได้ตามเป้า ไม่มีเรื่องตื่นเต้นเท่าไร แต่ผลประโยชน์โดยรวมที่โปรเจคนี้มีให้ google ก็ไม่ได้เยอะเมื่อเทียบกับคราวที่แล้ว เข้าเรื่องผลประโยชน์ที่ทำให้บริษัทนิดนึง ภาษาอังกฤษเค้าใช้คำว่า impact ไหนๆรอบนี้ได้ทำงานกับเจ๊ ก็เลยได้เปรียบเทียบกับ เอริก เมื่อปีที่แล้ว สิ่งที่ทำให้เอริกมีตำแหน่งสูงไม่ใช่แค่ความเก่ง แต่เป็นเรื่อง impact ที่ทำให้บริษัท เอริกได้สร้างระบบที่มีประโยชน์กับ google ที่พนักงานเป็นร้อยๆทีมได้ใช้ประโยชน์ ตำแหน่งเค้าก็เลยสูง (https://www.quora.com/How-do-engineers-get-promoted-at-Google) เราว่าอันนี้เป็นข้อคิดที่สำคัญใช้ได้เลย ไม่ใช่แค่ในเรื่องการทำงาน แต่เป็นเรื่องการดำเนินชีวิตด้วย คนเรานอกจากจะพยายามพัฒนาตัวเอง ควรจะเอาจุดแข็งของตัวเองมาทำประโยชน์ให้คนอื่นด้วย แล้วสังคมจะยินดีต้อนรับขึ้น




บรรยากาศการทำงาน


รู้สึกว่าคราวที่แล้วไม่ได้เขียนเรื่องนี้ เลยเอามาแปะตรงนี้แหละ
บรรยากาศการทำงานที่ google ที่เราประทับใจที่สุด คือ การให้ความเคารพซึ่งกันและกัน

ทุกคนที่นี่เก่งหมด
เท่าที่ผ่านมาในชีวิต เรารู้สึกว่า คนเก่งจะมี ego นิดนึง
แต่ที่ google เหมือนว่าทุกคนจะเคารพความคิดเห็นซึ่งกันและกันเยอะ

แนะนำให้อ่านโพสนี้ ซึ่งรายงานผลการวิจัยของทีมภายใน google
ว่า ความรู้สึก "ปลอดภัย" ว่าเราสามารถแสดงความคิดเห็นได้โดยไม่กลัวโดนว่า
เป็นหนึ่งในสิ่งที่สำคัญที่สุด ของทีมที่ทำงานได้ดีใน google

ไม่ใช่แค่เรื่องเคารพความคิดเห็นกัน
เหมือนว่า พนักงาน google เคารพในความเป็นมนุษย์ของทุกคนอะนะ
ภาษาอังกฤษเรียกว่า respect อธิบายเป็นไทยไม่ค่อยถูกนะ
แต่คือ เคารพทุกอย่าง การกระทำทุกอย่างที่ออกไป พยายามไม่ก้าวก่ายอีกฝ่าย

ถ้าเรามีบริษัทของเราเองซักวัน
เรื่องความเคารพ เพื่อนร่วมงานนี่จะเป็นอันดับต้นๆที่จะพยายามปลูกฝังพนักงานเลย




เพื่อน


รอบนี้มีเรื่องที่ประทับใจเป็นพิเศษ เมื่อเทียบกับคราวที่แล้ว ปีที่แล้ว เรามีน้องคนไทยที่มาฝึกงานที่เมืองเดียวกัน แค่หนึ่งคน เท่าที่รู้ มีคนไทยอีกอย่างน้อยหนึ่งคน แต่เค้าไปทำอีกเมืองนึงเลยไม่ได้เจอกัน รอบนี้มีคนไทยฝึกงานเมืองเดียวกันอีกอย่างน้อย 5 คน แต่ที่เจอแบบบ่อยมากๆๆๆๆ ก็ 4 คนนี้แหละ

ทุกคนนี่มีความโหดๆทั้งนั้น ตั้งแต่เด็กคณิตศาสตร์โอลิมปิกเหรียญทอง จนถึงคนที่เก่ง competitive programming ระดับต้นๆ ร้อยๆคนแรกของโลก พวกนี้เด็กกว่าเรา 10 กว่าปี ก็มี เราก็เลยเป็นคุณลุงโปรแกรมเมอร์ธรรมดาๆคนนึง ที่ได้มีโอกาสเข้าไปอยู่ท่ามกลางเด็กๆเก่งๆหลายๆคน
สนุกดีนะ

พวกนี้น่าจะเก่งกว่าเราทุกคนอะนะ
แต่ที่น่ารักก็คือ เวลาเราพูดอะไร เค้าก็ฟังกันหมดนะ
แบบ เป็นเด็ก เนิร์ด ที่น่ารักๆอะ เลยทำให้เราสนิทกับกลุ่มนี้อยู่
แล้วจะด้วยเหตุผลอะไรก็ตาม อยู่ๆรอบนี้มีคนลากเข้า group chat ใหญ่ ที่มีพวก fulltime และเด็กฝึกงานที่ google ทั้งหลาย เลยได้รู้จักคนเพิ่มขึ้นเยอะ (เทียบกับปีที่แล้วอยู่อย่างเปล่าเปลี่ยว) เวลามีกินข้าวหรือกิจกรรมอะไรกัน เราก็เลยได้ไปร่วมเรื่อยๆ ค่อนข้างจะกลมเกลียวกันดี อย่างนีงที่เราชอบมากๆกับกลุ่มๆนี้ คือ ไม่มีใครวิชาการเลย เวลานั่งคุยกัน จะเป็นเรื่องไร้สาระซะเยอะ อะไรที่ไม่เป็น ก็จะไม่อวด เช่น เตะบอลไม่เป็น เค้าก็จะบอกว่า “โอ้ย ผมกากครับ” ปล่อยมุกใส่เค้าก็ไม่ถือสา ช่วยหัวเราะ 5555 ให้อีกตะหาก รู้สึกเป็นตัวของตัวเองมาก รอบนี้ จากกิจกรรมกลุ่มภายใน google เราก็เลยได้ไปกิจกรรม คนไทยใน bay area ด้วย (bay area คือชื่อเรียกเมืองต่างๆบริเวณนั้นโดยรวม) ซึ่งหลักๆที่เราร่วมก็คือ กีฬาเนี่ยแหละ ซึ่งมีตั้งแต่ตีแบต เล่นบาส และเตะบอล แล้วพี่ๆน้องๆที่เจอมาทั้งหมด ก็ได้อารมณ์เดียวกัน คือ นิสัยดี เป็นมิตร มีความเป็นผู้ใหญ่ ไม่อวดฉลาด ฯลฯ


ครอบครัว


อีกอย่างนีงที่ต่างไปสำหรับรอบนี้ คือ ได้อยู้บ้านเดียวกับเดียร์ (ภรรยา) ได้เจอกันทุกวัน คราวที่แล้ว เดียร์อยู่เมืองที่ห่างไป 2.5 ชั่วโมง มารอบนี้เดียร์ได้ทำงานอย่างเต็มตัว อยู่ห่างไปแค่ 1 ชั่วโมงนิดๆ เราก็เลยขับไปกลับได้ทุกวัน เวลาเดินทาง 2 ชั่วโมงต่อวันก็เหมือนๆกับสมัยตอนทำงานอยู่ กทม เลยไม่ได้รู้สึกว่ามันนานมากขนาดนั้น

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

รอบนี้เหมือนมีบ้านให้กลับไปพักผ่อนทุกวัน ทำให้ฝึกงานรอบนี้ รู้สึกชิวๆ สบายๆ กว่าคราวที่แล้ว


บทเรียน


ก็เล่าประสบการณ์เท่าที่จำได้ไปหมดละ อยากจะสรุป บทเรียนต่างๆที่คราวนี้ได้มา
เป็นบทเรียนส่วนตัวนะ อาจจะมีทั้งที่ตรง และไม่ตรงกับความคิดใครหลายๆคน
มีบ้านไว้พักผ่อนเสมอ
ไม่ว่าเราไปที่ไหนก็ตาม ควรจะมีสิ่งที่รู้สึกเหมือน “บ้าน” ไว้พักผ่อน บ้านเป็นที่ที่เราอยู่แล้วได้รู้สึกว่า หลุด จากโลกภายนอกจริงๆ ไม่ว่าจะเป็นบ้านที่มีภรรยารออยู่ ที่พักที่มีเพื่อนสนิท โซฟาที่ใช้นั่งดูหนัง ตู้ปลา เบาะโยคะ ฯลฯ หาบ้านของตัวเองให้เจอ เพื่อนสำคัญ อันนี้เพิ่งเขียนถึงเมื่อโพสที่แล้ว เข้าไปอ่านได้ที่นี่ ถึงกิจกรรม สิ่งที่ทำจะไม่ฟิน ตราบใดที่เพื่อนฟิน ทุกอย่างจะดีเอง เก่งไม่พูด เก่งถาม เราถูกล้อมรอบด้วยคนที่เก่งกว่าเราเต็มไปหมด สิ่งที่เราสังเกตได้ คือ เวลามีคำถามอะไรขึ้นมา พวกนี้ไม่อวด ไม่รีบแย่งตอบ เค้าจะรอฟังคนอื่นตอบแล้วเค้าก็จะแซมๆขึ้นมา เวลาเราเล่าอะไรให้ฟัง พวกนี้จะค่อยๆให้เราเล่า ไม่แทรกด้วยอะไรที่เค้ารู้อยู่แล้ว แล้วก็จะถามคำถามต่างๆด้วยความอยากรู้อยากเห็นอย่างจริงใจ ในสายตาเรา พวกเนี้ยะแหละเก่งจริง
พัฒนาตัวเองเพื่อทำประโยชน์ให้คนอื่น อันนี้อาจจะมีคนไม่เห็นด้วยอยู่บ้าง แต่เราคิดว่าเป้าหมายการพัฒนาตัวเองน่าจะเป็นเพื่อเอาไปช่วยคนอื่น มากกว่าที่จะพัฒนาตัวเองเพื่อตัวเอง มีแนวคิดนึงที่เราใช้ในการเล่นดนตรี
เผื่อคนอื่นเอาไปประยุกต์กับกิจกรรมอื่นได้

เก่งดนตรีมันก็สนุกอะนะ แต่ถึงเราเก่งดนตรีแค่ไหน ถ้าช่วยให้เพื่อนเล่นเพลงเพราะขึ้นไม่ได้ มันก็สนุกไม่สุด ช่วยลูกน้องในสิ่งที่ลูกน้องทำไม่ได้ เมื่อเราเป็นหัวหน้าคน เราต้องช่วยให้คนในทีมประสบความสำเร็จ อะไรที่เค้าทำได้ ก็อย่าไปควบคุมเค้า (micro-manage) ให้ช่วยในอะไรที่เค้าต้องการความช่วยเหลือเท่านั้น หรือถ้าอยากช่วยอะไรที่เค้าทำเป็นแล้ว ก็ช่วยเพื่อประหยัดเวลาลูกน้อง เค้าจะได้เอาเวลาไปทำอย่างอื่นที่เป็นประโยชน์กว่า เราคิดว่า หน้าที่ของหัวหน้าที่ดี คือช่วยให้ลูกน้องทำงานได้เต็มที่ไม่ติดขัด คอย อุดช่องโหว่ ในการทำงานให้เค้า อันนี้ต้องขอบคุณ เจ๊ ที่ทำให้การทำงานของเราโคตรจะราบรื่น รู้จักปรับตัวตามเพื่อนร่วมงาน
หลายๆ อย่างในชีวิต มันไม่อุดมคติ
ถ้าเป็นไปได้ โลกที่สวยงาม คือ ทุกคนยอมรับความคิดเห็นอีกคนนึงและยอมเปลี่ยน แต่โลกที่สวยงามนั่นมันสร้างยากนะ ต้องใช้เวลา

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




สรุป

ฝึกงานรอบนี้สนุกมาก ได้บทเรียนดีๆเยอะอยู่ ขอบคุณทุกคนที่ทำให้การฝึกงานผ่านไปอย่างสนุก ขอบคุณผู้อ่านทุกคนที่ติดตามด้วย