December 06, 2015

คนชอบแข่งขันมักจะไม่ยินดีกับคนอื่น



ชื่อโพสจริงๆเป็นแค่ประโยตตัวอย่างที่จะใช้ในโพสนี้บ่อยๆ

จุดประสงค์จริงๆของโพสนี้คือการมาพูดคุยเรื่องตรรกศาสตร์กับดราม่า

ท้าวความก่อน

การเล่นเฟสบุคมันมีประโยชน์อย่างนึงตรงที่ได้สังเกตพฤติกรรมของคนเนี่ยแหละ

หลายๆครั้งมักจะมีเรื่องดีๆเกิดกับเพื่อน
ทีนี้เพื่อนก็เลยมาแชร์บนเฟสบุค

แล้วก็จะมีเพื่อนที่เราสังเกตกลุ่มนึง
มีอะไรดีๆเกิดกับเพื่อนในเฟสบุค ก็จะเข้ามายินดีด้วย
เราคิดว่าคนพวกนี้น่ารักดี

"คนที่ยินดีกับคนอื่นเป็นคนน่ารัก"

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

"คนชอบแข่งขันมักจะไม่ยินดีกับคนอื่น"

เอาสองประโยคมารวมกัน
"คนชอบแข่งขันมักจะไม่ยินดีกับคนอื่น"
"คนที่ยินดีกับคนอื่นเป็นคนน่ารัก"

สรุปได้ว่า "คนชอบแข่งขันไม่น่ารัก" ใช่ไหม

ผิดเฟร้ย

ตรรกศาสตร์ตอน ม.4 เคยสอนไว้
จำได้ไหม "ถ้า...แล้ว..."

สมมติว่า ทากามูระ บอกว่า "ถ้าฝนตกแล้วพื้นเปียก"

มีกรณีไหนบ้างที่เราจะบอกได้บ้างว่า ทากามูระพูดผิด

สมมติว่าฝนตกแล้วพื้นเปียก อันนี้ ทากามูระ พูดถูก
สมมติว่าฝนตกแล้วพื้นไม่เปียก อันนี้ ทากามูระ พูดผิด

สมมติว่าฝนไม่ตกแล้วพื้นเปียก อันนี้ ทากามูระ ไม่ผิดนะ
เพราะ ทากามูระ พูดถึงกรณีที่ฝนตก
ถ้าฝนไม่ตกตั้งแต่แรก มันไม่อยู่ในกรณีที่ทากามูระพูดถึง ไปหาเรื่องเค้าไม่ได้

สมมติว่าฝนไม่ตกแล้วพื้นไม่เปียก อันนี้ ทากามูระ ก็ไม่ผิด
เพราะ ทากามูระ พูดถึงกรณีที่ฝนตก
ถ้าฝนไม่ตกตั้งแต่แรก มันไม่อยู่ในกรณีที่ทากามูระพูดถึง ไปหาเรื่องเค้าไม่ได้

"ถ้า A แล้ว B" จะเป็นเท็จ กรณีเดียวเท่านั้น
คือ A เป็นจริง (ฝนตก)
แล้ว B เป็นเท็จ (พื้นไม่เปียก)

มีการตีความอีกอย่างที่สามารถทำได้ ตามหลักตรรกศาสตร์คือ กลับด้าน
การพูดว่า "ถ้า A แล้ว B" มีความหมายเดียวกันกับ "ถ้าไม่ B แล้วไม่ A"
จะตีความยังไงก็ได้ ถูกต้องเหมือนกัน

ฉะนั้นถ้าประโยคของ ทากามูระ สามารถตีความได้อย่างถูกต้องตามหลักตรรกศาสตร์ว่า
"ถ้าพื้นไม่เปียก (ไม่ B) แล้วแสดงว่าฝนไม่ได้ตก (ไม่ A)"



พูดมาทั้งหมดนี้เราลองกลับไปดูตัวอย่างแรกกัน

ถึงแม้ว่า ภาษาไทยอาจจะไม่ได้ใช้คำว่า "ถ้า...แล้ว..." ตรงๆ
แต่หลายๆครั้งคนก็ต้องการสื่ออย่างนั้น

"คนชอบแข่งขันมักจะไม่ยินดีกับคนอื่น"

ตีความได้ว่า "ถ้าเป็นคนชอบแข่งขัน แล้วมักจะไม่ยินดีกับคนอื่น"
และถ้าตีความกลับด้านแบบถูกกฎ
ตีความได้ว่า "ถ้ามักจะยินดีกับคนอื่น แล้วแสดงว่าไม่ได้เป็นคนชอบแข่งขัน"

อีกประโยค
"คนที่ยินดีกับคนอื่นเป็นคนน่ารัก"

เราตีความว่า "ถ้าเป็นคนที่ยินดีกับคนอื่น แล้วแสดงว่าเป็นคนน่ารัก"
และถ้าตีความกลับด้านแบบถูกกฎ
ตีความได้ว่า "ถ้าเป็นคนไม่น่ารัก แล้วจะไม่ยินดีกับคนอื่น"



หลายๆครั้ง คนเรามักจะสับสัน
เข้าใจประโยค "ถ้า...แล้ว..."
เป็นประโยค "... ก็ต่อเมื่อ ..."

บางคนได้ยิน "ถ้ายินดีกับคนอื่น แล้วเป็นคนน่ารัก"
แล้วตีความผิดๆว่า "คนจะยินดีกับคนอื่น ก็ต่อเมื่อเป็นคนน่ารัก"
หรือ "คนที่ยินดีกับคนอื่น เป็นคนน่ารักเท่านั้น ไม่มีคนประเภทอื่น"

ทีนี้เวลาตีความ "A ก็ต่อเมื่อ B"
ตามกฎตรรกศาสตร์ตีความได้หลายแบบ
ตีความว่า "B ก็ต่อเมื่อ A" ก็ได้ (คนน่ารัก จะยินดีกับคนอื่น) ก็ได้
ตีความว่า "ไม่ B ก็ต่อเมื่อไม่ A" (คนไม่น่ารัก จะไม่ยินดีกับคนอื่น) ก็ได้
ตีความว่า "ไม่ A ก็ต่อเมื่อไม่ B" (คนไม่ยินดีกับคนอื่น ไม่น่ารัก) ก็ได้

เวลาตีความแบบนี้ ก็เกิดดราม่าได้เยอะแยะ
เพราะมันมีวิธีตีความในแง่ลบได้ หลายวิธีกว่า

ทั้งๆที่เจ้าของประโยค ตั้งใจจะพูดว่า "ถ้า...แล้ว..." เฉยๆ

พอคนตีความผิดๆก็เลยเกิดการถกเถียงที่ไม่จำเป็นขึ้นมา
แล้วการถกเถียงที่ไม่จำเป็น ก็เป็นหนึ่งที่มาของดราม่านั้นเอง



ทีนี้ลองมาดูกรณี ฮอนดะ พูดคุยกับ ซานกีฟ กันดู

ตัวอย่าง 1

ฮอนดะ: "เฮ้ย ซานกีฟ กูไม่ค่อยเห็นมึงยินดีกับคนอื่นเท่าไรเลย"
ฮอนดะ: "คนชอบแข่งขันมักจะไม่ยินดีกับคนอื่น"
ซานกีฟ: "มึงจะบอกว่ากูชอบแข่งขันเหรอ"
(คุยกันเสร็จ ฮอนดะกับซานกีฟ ต่อยกัน)

ซานกีฟ ตีความผิด สับสน "ถ้า แล้ว" กับ "ก็ต่อเมื่อ" เกิดดราม่า
ที่ฮอนดะพูดตีความได้แค่ว่า
"ถ้า เป็นชอบแข่งขัน แล้ว มักจะไม่ยินดีกับคนอื่น"
"ถ้า มักจะยินดีกับคนอื่น แล้วเป็นคนไม่ชอบแข่งขัน"
มันเอามาเชื่อมกันให้เป็น ซานกีฟชอบแข่งขันไม่ได้

ซานกีฟ ลอจิกผิด
ไม่มีประโยคไหนที่ขึ้นต้นด้วย "ถ้าเป็นคน ไม่ยินดีกับคนอื่น แล้ว ..."

ตัวอย่าง 2

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

ซานกีฟ ตีความผิด สับสน "ถ้า แล้ว" กับ "ก็ต่อเมื่อ" เกิดดราม่า
ที่ฮอนดะพูดตีความได้แค่ว่า
"ถ้า เป็นคนชอบแข่งขัน แล้ว มักจะไม่ยินดีกับคนอื่น"
"ถ้า มักจะยินดีกับคนอื่น แล้วเป็นคนไม่ชอบแข่งขัน"
"ถ้า มักจะยินดีกับคนอื่น แล้วเป็นคนน่ารัก"
"ถ้า เป็นคนไม่น่ารัก แล้ว มักจะไม่ยินดีกับคนอื่น"
วิธีการตีความข้างบน มันเอามาเชื่อมกันว่า "ถ้าเป็นคนไม่ยินดีกับคนอื่น แล้วเป็นคนไม่น่ารัก" ไม่ได้

ฉะนั้น สำคัญมาก เรื่องการตีความประโยคคนอื่น
เราเชื่อว่า ถ้าคนเราแค่แยก "ถ้าแล้ว" กับ "ก็ต่อเมื่อ" ออก
จะลดดราม่าไปได้เยอะเลยทีเดียว



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

สำหรับ "ถ้า A แล้ว B" เรารู้สึกว่ามีการถกเถียงที่เกิดประโยชน์ได้หลายๆทาง

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

เราจะเถียงได้ในกรณีที่ "เป็นคนชอบแข่งขัน (A) แต่ดันยินดีกับคนอื่น (ไม่ B)"

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

หรืออาจจะเถียงว่า
"การคิดว่าคนชอบแข่งขันทุกคนเหมือนกัน มันหว่านเกินไปว่า คนชอบแข่งขันเป็นเหมือนกันทุกคน
ควรจะพูดหว่านให้น้อยกว่านี้หน่อย พูดให้มันกระชับขึ้น เช่น
คนที่อยากเอาชนะคนอื่นด้วยทุกวิถีทาง มักจะไม่ยินดีด้วยกับคนอื่น"



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

ผิดเฟร่ย

ไม่ใช่ทุกคนที่สามารถจะมาถกเถียงได้ทุกเมื่อ

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

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



สุดท้ายนี้ ขอสรุปว่า

การที่เราตีความประโยคที่คนอื่นพูดออกมาให้ถูก
รู้จักแยกแยะ "ถ้า...แล้ว..." กับ "...ก็ต่อเมื่อ..." ได้
เท่านี้ก็ลดดราม่าไปได้เยอะแล้ว เพราะวิธีตีความที่ถูกต้องตามกฎตรรกศาสตร์มันน้อยลง
พอมีวิธีตีความน้อยลง ก็แปลว่ามีโอกาสตีความในแง่ลบได้น้อยลง

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

แต่เราก็ยังต้องคำนึงในใจไว้เสมอว่า
คนเรามันมีอารมรณ์ด้วย ไม่ได้เป็นมนุษย์เหตุผลเสมอไป
จะถกเถียงให้เกิดผลประโยชน์ ดูกาละเทศะด้วย

October 27, 2015

ปัญหาเด็กใหม่ขี้อาย


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

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

หลายๆครั้ง เราเองก็มักจะเสนอคนเพิ่งรู้จักว่า "มีอะไรให้ช่วยบอกได้เลยนะ"

หลังจากการได้คุยกับคนจำนวนหนึ่งที่เป็นระดับหัวหน้า
ทำให้พบว่า เด็กใหม่ขี้อาย เป็นปัญหาที่พบอยู่เป็นประจำ
มีจำนวนน้อยๆที่เจ๋งๆแหละ ที่เป็นคนที่กล้าถาม กล้าพูด กล้าคิด

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

สิ่งที่เราเห็นไม่บ่อยก็คือ การที่ผู้มีประสบการณ์เป็นฝ่ายเข้าหาเด็กใหม่ มากกว่าที่จะรอให้เด็กใหม่มาถาม

เรามักจะเห็นแต่ไอ้ "มีอะไรให้ช่วยบอกได้เลยนะ" อยู่ตลอดเวลา
หรือ "บอกแล้วว่ามีอะไรถามได้ตลอด ทำไมไม่เข้ามาถามตอนติดปัญหาละ"

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

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

แม้ว่าเราจะเป็น CEO ของบริษัท ที่มีพนักงานเป็นพันๆคนก็ตาม
เราสามารถมอบหมายงาน ช่วยเหลือเด็กใหม่ ให้หัวหน้าย่อยในแต่ละทีมได้อยู่ดี
แล้วเราในฐานะ CEO ก็แค่พยายามทำให้แน่ใจว่าทีม 10 คนระดับ VP ของตัวเองอะ ทำได้ดีแล้วยัง

จริงอยู่ ที่ว่าเป็นหน้าที่ของเด็กใหม่ที่ควรจะเรียนรู้วัฒนธรรมของสังคมใหม่
แต่เราคิดว่าเป็นหน้าที่ของสังคม(ที่ดี)ด้วย โดยเฉพาะผู้นำของสังคมนั้น
ที่จะต้องช่วยให้เด็กใหม่คนนั้น ซึมซับวัฒนธรรมของสังคมให้เร็วที่สุด
นอกจากจะทำให้เด็กใหม่ได้เรียนรู้เร็วขึ้น ยังทำให้เด็กใหม่รู้ว่าเราใส่ใจเค้าอีกด้วย

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

September 04, 2015

สิ่งที่ควรรู้เวลาสมัครงาน


ไม่นานมานี้ มีรุ่นน้องคนนึงถามว่าเรามีคำแนะนำในการสมัครงานไหม
เราก็ตอบไปแบบ randomๆ แต่ไม่ได้เรียบเรียงความคิดให้ดี

เนื่องจากว่า เทอมนี้มีรุ่นน้องกำลังจะจบหลายคน (และมีที่เพิ่งจบเทอมที่แล้ว)
โพสนี้อาจจะใช้งานได้ สำหรับหลายๆคน

เพื่อเพิ่มความน่าเชื่อถือของโพสนี้ ขอแนะนำตัวก่อน

ตั้งแต่เริ่มป.ตรี (เมื่อประมาณ 15 ปีที่แล้ว)
เรามีทำงานมาแล้ว รวมทั้งหมดน่าจะประมาณ 6 ที่
แปลว่าสัมภาษณ์ผ่าน 6 ที่ และที่เหลืออีกหลายๆที่คือ ไม่แม้แต่จะเรียกสัมภาษณ์ หรือสัมภาษณ์ไม่ผ่าน

งานที่ทำมีทั้ง ในประเทศไทย และในอเมริกา
งานที่ทำมีตั้งแต่ตำแหน่งเด็กฝึกงาน และพนักงานเต็มเวลา
งานที่ทำมีตั้งแต่ start up ยันบริษัทใหญ่ ยันงานภายในมหาวิทยาลัย

นอกจากนั้นสมัยทำงานอยู่ start up เราเคยไป career fair เพื่อพยายามเกณฑ์นักศึกษามาทำงานด้วย
รวมไปถึงเป็นคนอ่าน resume โทรสัมภาษณ์ สัมภาษณ์ตัวต่อตัว โทรหา reference มาเป็นสิบๆแล้ว
ฉะนั้นถึงเราจะไม่ใช่ HR มืออาชีพ แต่เราพอมีประสบการณ์ที่หลากหลาย ที่น่าจะเอามาสรุปและแบ่งปันได้

หลักจากขี้โม้ไปประมาณ 10 บรรทัด เราก็เข้าเรื่องได้ละ

นี่คือบทเรียนในชีวิต เรื่องการสมัครงาน


รู้จักคนข้างในทำให้ได้สัมภาษณ์ง่ายที่สุด


คนที่เก่งกว่า profile เจ๋งกว่า แต่ไม่รู้จักคนข้างในบริษัท
มีโอกาสถูกเรียกสัมภาษณ์น้อยกว่า คนที่ห่วยกว่า แต่รู้จักคนข้างใน

ลองคิดดูว่า เวลามีคนไม่รู้จักอีเมลมาขอความช่วยเหลือ หรือมีเพื่อนมาขอความช่วยเหลือ
อันไหนมีน้ำหนักกว่ากัน

มันก็เหมือนๆกับแผนกบุคคลในบริษัท ถ้ามีคนรู้จัก (คนที่อยู่ในบริษัทด้วยกัน)
แนะนำให้หยิบ resume ใครซักคนนึงขึ้นมาอ่าน
มันมีโอกาสที่จะถูกอ่านมากกว่า ใครก็ไม่รู้ส่ง resume มาหา


ถ้าไม่รู้จักคนข้างในต้องพยายามทำ cover letter กับ resume ให้ดี


เคล็ดลับของ cover letter คือ ต้องสั้น
หลักๆคือ บอกว่าสมัครตำแหน่งอะไร ทำไมถึงสมัคร และอะไรที่ทำให้เราเจ๋งสำหรับตำแหน่งนั้น อย่างละ 1 ประโยค
ตอนเราสมัครงานบริษัทนึง เราส่งไปว่า

เราอยากสมัครตำแหน่ง software engineer
ส่วนตัวเราก็ใช้ product ของบริษัท และอยากมีส่วนร่วมในการพัฒนา
ทักษะที่เราได้จากประสบการณ์นี้ๆๆๆ น่าจะประยุกต์ได้โดยตรงกับตำแหน่ง

แค่ 3 ประโยค

เราเคยได้ cover letter ที่คนส่งร่ายประวัติศาสตร์การทำงานมาเป็น paragraph มาเต็มหนึ่งหน้า
ผลคือเราก็ขี้เกียจอ่าน พออ่านแล้วก็ไม่แน่ใจว่าใจความที่สำคัญที่สุดคืออะไร บางทีเราก็เลยแทบไม่ได้อ่านเลย
ผู้สมัครก็เสียโอกาสที่จะโฆษณาตัวเองเลย

ต่อไปก็ resume

ส่วนตัวรู้สึกว่า resume ไม่เคยจะมีผลอะไรทั้งนั้นในการสมัครงาน
ส่งไปก็หายไปในหลุมดำ

น่าจะเป็นเพราะเราเขียน resume ดีๆไม่เป็น
ฉะนั้นตรงนี้อาจจะแชร์บทเรียนมากไม่ได้

แต่อย่างน้อย จากการที่เคยเป็นฝ่ายที่อ่าน resume มาเยอะพอสมควรแล้ว พบว่า

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

อ้อๆๆๆ อีกอย่าง ถ้าไม่ใช่ 4.0 ก็ไม่จำเป็นต้องใส่เกรด


หลังจากได้สัมภาษณ์ resume ไม่มีผลอะไรทั้งสิ้น


อันนี้อย่างน้อยในสาขาโปรแกรมเมอร์ สาขาอื่นไม่ชัวร์

หลังจากได้สัมภาษณ์แล้ว ไม่ว่า resume เราจะสวยแค่ไหน มันก็ไม่สำคัญแล้ว
สิ่งที่สำคัญที่สุดคือ ฝีมือการสัมภาษณ์

อันนี้เตรียมได้เหมือนเตรียมสอบ

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


ความรู้สึกว่าสัมภาษณ์ผ่านไปด้วยดี ไม่มีน้ำหนักอะไรทั้งสิ้น


หลังจากสัมภาษณ์บางทีเราจะรู้สึกว่า เออ ก็ผ่านไปด้วยดีนะ มีโอกาสได้แน่เลย
หลังจากนั้นก็ตกสัมภาษณ์ เราผ่านแบบนี้มาพอสมควรละ

ฉะนั้นถ้ายังไม่ได้ offer จากที่ไหน
ให้หางานใหม่ไปเรื่อยๆเหมือนว่าเพิ่งโดนปฏิเสธมา

เราสามารถถอนใบสมัครได้ตลอดเวลา ไม่มีอะไรเสียหาย
และเรายังได้อีเมล แผนกบุคคลของบริษัทต่างๆเพิ่มมาด้วย ถ้าเค้าเรียกสัมภาษณ์
เผื่อใช้งานได้ในอนาคต


reference อย่าแย่ก็พอละ


reference คือ คนที่สามารถพูดถึงความสามารถเราได้
อย่างเช่น เวลาเราสมัครเป็นคนเลี้ยงแมว
เราสามารถให้ลูกค้าเก่าๆที่เราเคยเลี้ยงแมวให้เป็น reference ได้
ลูกค้าใหม่ที่จะจ้างเรา ก็จะสามารถโทรไปถามลูกค้าเก่าว่า เราเลี้ยงแมวดีหรือไม่

การสมัครงานหลายๆที่ก็มี reference แบบนี้เหมือนกัน

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

reference ไม่ต้องดีมาก แค่เฉยๆก็ได้
แต่ reference แย่ๆ ทำให้อดได้งาน

เคยมีคนนึงมาสมัครบริษัทที่เราทำงานอยู่
ผ่านสัมภาษณ์อะไรเรียบร้อยละ
โทรไปหา reference แล้วเค้าบอกว่า คนนี้ทำงานไม่ค่อยดี
คนนั้นก็อดได้ offer ไป


สมัครติดที่เดียวก็พอ


การสมัครงานนี่ให้เตรียมพร้อมไว้เลยว่าจะมีที่ที่ไม่รับมากมาย
แล้วก็จะผ่านความจิตตกอยู่เรื่อยๆ

ให้รู้ไว้ว่านี่เป็นเรื่องธรรมดามาก
ฝึกจิตตกไปเยอะๆ จะได้เก่งเรื่องการรับความเครียดด้วย

พยายามไปเรื่อยๆ ขอให้ติดแค่บริษัทเดียวก็คือได้งานทำแล้ว

เราจำไม่ได้ว่า โดนปฏิเสธไปกี่รอบแล้ว
มันก็จะชินขึ้นเรื่อยๆ
แรกๆนี่เดือนนึงกว่าจะหาย จิตตก
หลังๆนี่ไม่กี่วันก็หายละ

สำหรับพวก competitive พวกนี้จะทำใจยากกว่าเพื่อน
แต่ถือเป็นบทเรียนในชีวิตที่ดี


งานแรกอย่าเรื่องมาก


อย่างสุดท้ายที่เรียนรู้มาก็คือ งานแรก อย่าเรื่องมาก
ถ้าสมัครไป 10 บริษัท

ได้งานในบริษัทที่ ไม่ได้ชอบที่สุด
แต่อีก 9 บริษัทยังไม่ได้แม้แต่เรียกสัมภาษณ์เลย

ก็เอาๆไปเหอะ

หลังจากทำงานแรกแล้ว
การหางานอื่นมันจะง่ายขึ้น



โชคดีเรื่องสมัครงานนะน้องรักทั้งหลาย

August 25, 2015

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

หลังจากสัมภาษณ์ผ่านและรอจนถึงหน้าร้อนก็ได้เวลาทำงานละ
โพสนี้อาจจะมีศัพท์โปรแกรมเมอร์หลุดมาเยอะนิดนึงนะ
เพราะคิดว่าเหมาะสมกับการอธิบายประสบการณ์การทำงานสำหรับโพสนี้ได้ดีที่สุด



หมายเหตุ


ตรงไหนที่เราเขียนค่อนข้างคลุมเครือๆ แปลว่าเราลงรายละเอียดไม่ได้นะๆ
และสิ่งที่เราเขียนทุกอย่างนี้เป็นความเห็นส่วนตัวทั้งหมด 100%
ความเห็นของ Google สามารถหาได้ที่ offical blog ของบริษัท


โปรเจค


จากที่เกริ่นไว้ตอนที่เล่าเรื่องสัมภาษณ์
(อ่านประสบการณ์ตอนสัมภาษณ์ได้ที่นี่)
เราได้คุยกับ tech lead ของทีมที่เราจะเข้าไปทำงานด้วย
ก็พอได้รู้เรื่องคร่าวๆว่าจะทำโปรเจคอะไร

สรุปว่าเราได้ไปพัฒนาระบบ continuous integration (ตัวย่อว่า CI) ของ Google
หรือก็คือไอ้ระบบที่มันคอย compile กับ test ทุกอย่างที่เรา commit โดยอัตโนมัติ

ระบบ CI ทั่วไปมันก็มีแบบ open source ที่โหลดมาใช้ได้ง่ายๆเช่น jenkins
แต่ Google กลับพัฒนาระบบ CI ของตัวเอง

แล้วทำไม Google ถึงต้องอินดี้ด้วยวะ

สาเหตุที่ต้องอินดี้เพราะว่าของที่มีให้โหลด ไม่ตอบสนองความต้องการของ Google
ความต้องการนั้นก็คือ ขนาดของ repository มันใหญ่มาก และมีคน commit code ทุก 5 วินาที
ระบบทั่วไปทำงานไม่ทัน

โปรเจคหน้าร้อนของเราคือทำให้ระบบนี้ทำงานได้เร็วขึ้น
โดย tech lead มีไอเดียคร่าวๆมาให้แล้ว
สิ่งที่เราต้องทำคือ ทดสอบ แต่งเติม ตัดทิ้ง พัฒนา และลงมือทำไอเดียให้เป็นจริงถ้าเหมาะสม


orientation


สำหรับคืนก่อนวันทำงานวันแรก ก็ดูแผนที่ล่วงหน้า
โอ้ยชิวครับ บ้านห่างออฟฟิสไปแค่ 25 กม.
ขับรถ 100-120 กม./ชม. แค่ 15 นาทีก็ถึง

"ซะที่ไหนเล่า เจ้าเซ่อ" เราพูดกับตัวเองขณะขับรถวันถัดมา
เมื่อได้เจอพลังรถติดแห่ง silicon valley เข้าไป

ไปเลทแต่วันแรกเลยกรู

สัปดาห์แรกเข้าไปเจอ orientation ทั้งสัปดาห์
ยังไม่มีอะไรตื่นเต้นเท่าไร

ตัว orientation มันก็แบบประมาณว่า
อยากให้รู้ว่าบริษัทคิดยังไง ทำงานกับเพื่อนร่วมทีมยังไง อะไรสำคัญบ้าง ใช้ tool อะไร
ซึ่งก็มาตรฐาน orientation ของบริษัททั่วๆไป


เจอทีม


หนึ่งสัปดาห์ผ่านไปเราถึงได้มีโอกาสเจอทีมตัวเป็นๆซักที

ตัว tech lead ที่เราคุยด้วยทางโทรศัพท์ก็จะเป็นคนหลักๆที่จะคอยทำงานกับเรา ชื่อ เอริค
เอริคก็แนะนำเราให้ทีมรู้จักเป็นที่เรียบร้อย
เป็นทีมที่ค่อนข้างหลากหลายทางเชื้อชาติและอายุ แต่ที่เห็นชัดๆคือทุกคนดูอัธยาศัยดีและเป็นมิตร

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


วอร์มอัพ


สัปดาห์แรกๆของการทำงานก็จะเป็นการ set up เครื่องคอม
เรียนรู้ว่าระบบต่างๆของ Google มันทำอะไรบ้าง
เวลาจะ commit code มีขั้นตอนยังไง ฯลฯ

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

นอกจากนั้นเราก็ยังให้เอริคอธิบายคร่าวๆเกี่ยวกับระบบ CI ของ Google
ว่ามันทำงานยังไง แล้วโปรเจคเราทำอะไรกันแน่ เพราะจนป่านนี้รู้สึกว่าโปรเจคยังคลุมเครือ

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


code review


เนื่องจากโปรเจคย่อย มีขนาดเล็ก เราก็เลยทำแบบชิวๆ ใช้เวลาประมาณ 5 วัน
ก่อนที่เราจะส่ง code ให้ เอริคทำ code review

ที่ Google เค้าจะมีที่เรียกว่า style guide ให้ตาม
หลักๆก็จะเป็นการตกลงกันทั้งบริษัทว่า code ภาษานี้ เราจะเขียนกันยังไง
จะใช้ space กี่ตัว จะตั้งชื่อตัวแปรยังไง จะใช้วงเล็บยังไง
หลักๆก็คือ อะไรที่เกี่ยวกับ format และไม่เกี่ยวกับความหมายของโปรแกรม

ดูตัวอย่าง style guide ของ java ได้ทีนี่

สาเหตุที่จะต้องมี style guide เป็นเพราะมีพนักงานเยอะมากๆ
ถ้าทุกคนใช้ format ต่างกัน จะทำให้อ่าน code ยากมาก
ในทางกลับกัน ถ้ามี style guide จะทำให้สายตาพนักงานชินกับการอ่าน code ที่ format เหมือนๆกัน

เนื่องจากเราเคยทำงานใน start up ซึ่ง founder ก็เป็นพนักงาน Google เก่า
เค้าก็ให้บริษัทใช้ style guide พวกนี้เหมือนกัน เราก็เลยชินกับตรงนี้

แต่หลังจาก code เราได้ format ตาม style guide
ทีนี้ก็เหลือส่วนการ review ความหมายของโปรแกรม
ว่าทำงานถูกต้องหรือไม่
อ่านง่ายแค่ไหน
ใช้ data structure หรือ algorithm เหมาะสมไหม
ใช้ library เหมาะสมหรือเปล่า ไม่ใช่เขียนอะไรที่มี library อยู่แล้ว
class member ที่ควรจะ private ได้ private ไว้หรือเปล่า
class นี้ทำหน้าที่เกินหนึ่งอย่างหรือเปล่า
ฯลฯ

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

อีกอย่างนึงที่อยากจะพูดถึงเกี่ยวกับ code review ที่ Google
คือ Google มันจะมีระบบ code review แบบที่ไม่ต้องมานัดประชุม
หรือเรียกคนมาดู code หน้าคอมหรือผ่านโปรเจคเตอร์พร้อมกัน

start up ที่เราเคยทำงาน ใช้ระบบที่ชื่อว่า gerrit
(github ก็มีอะไรคล้ายๆกัน หน้าตางี้)

หลักๆก็เป็นเหมือนว่าเรา commit code ไปแล้ว code มันก็ไปอยู่ใน "สถานบำบัด code" ก่อนที่มันจะเข้า repository หลัก
จากนั้นเราก็ส่งอีเมลให้คนอื่นบอกว่ามา review ให้หน่อยๆ
คนอื่นก็จะเปิด browser เข้าไปดู ซึ่งหน้าตามันจะคล้ายๆ tkdiff หรือ meld หรือโปรแกรม GUI อะไรก็ตามที่ใช้ diff code

แล้วคนอื่นอยากเม้นอยากกดไลค์กับ code บรรทัดไหน ก็เข้าไปเขียนได้เลย
ซึ่ง code ที่อยู่ในสถานบำบัด code จะไม่ถูกปล่อยเข้า repository หลักจนกว่าจะ approve

ส่วน Google ก็อินดี้ตามสไตล์ มีระบบของมันเองที่หน้าตาคล้ายๆกัน

สิ่งหนึ่งที่เราคิดว่าเจ๋งที่สุดก็คือ
เราสามารถดู code review ของใครก็ได้

ลองคิดดูดิ

นี่มันเป็นวิธีเรียนรู้ที่สุดยอดเลยนะ

อย่างแรกคือเราเข้าไปดู code review ที่เอริค review ให้แพททริกได้ เราจะได้ไม่ทำความผิดพลาดคล้ายๆกัน

อย่างที่สองคือเราเข้าไปดู code และ review ของพวกเทพทั้งหลายใน Google ได้
ว่าคนระดับ top ของ Google เวลาเค้า review code เค้าโหดแค่ไหน เค้าเม้นอะไรบ้าง เค้าชอบอะไรบ้าง ฯลฯ

สนุกมาก


เขียน code โปรเจคหลัก


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

โปรเจคหลักก็เลยกลายเป็นอะไรที่ตรงไปตรงมา
มีต้องติดต่อกับทีมอื่นเพื่อถามคำถามบ้างเล็กน้อย แต่ไม่ได้ลำบากอะไรเลย

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

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

ก็เขียน code เสร็จ ผ่าน code review เรียบร้อย เพิ่งถึงประมาณครึ่งทางการฝึกงาน

เหมือนว่าโปรเจคใกล้จะเสร็จ
แต่ความสนุกเพิ่งเริ่มตะหาก


จ้องข้อมูล


จากที่เขียนด้านบน โปรเจคเราคือทำให้ระบบ CI ของ Google ทำงานได้เร็วขึ้น

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

เนื่องจาก Google เป็นบริษัทที่เก็บข้อมูลเยอะมากกกกกกกกกกกกก
สิ่งที่เราต้องทำตอนนี้ก็คือการจ้องข้อมูล

จ้องว่า ข้อมูลอย่างนี้ แปลว่าที่เราทำไปได้ผลไหม ได้ผลแค่ไหน
จ้องว่า ข้อมูลอย่างนี้ แปลว่าที่เราทำไปถ้าไม่ได้ผล จะแก้ยังไง

จากประสบการณ์นี้ นอกจาก software engineer
เรารู้สึกว่าเราได้ทำงานเป็น data scientist ด้วย

มีข้อมูลจำนวนมหาศาล เราก็นั่งเขียน script ดึงข้อมูลที่ตัวเองสนใจออกมา
เพื่อจะได้เปิดใน excel แล้วมองเห็นเป็นสีๆง่ายๆ

อันนี้ใช้เวลาอาจจะนานกว่า code อีกเลยมั้ง ถ้าจำไม่ผิด
แล้วก็จ้องข้อมูลจนมึนเลย

แต่จากการใช้เวลาจ้องข้อมูล ทำให้เรารู้ว่า เราควรจะแก้ code อะไรของเราเพิ่ม
เพื่อให้ที่เราเขียนไปมันได้ผลดีขึ้น


เขียน code รอบสอง


ที่นี้เราก็กลับไปเขียน code ต่อ
เอาผลที่ได้จากการจ้องข้อมูล มาใส่ใน code

มาถึงตอนนี้เอริคบอกว่าให้ส่ง code ไปให้ tech lead อีกคนนึงบ้าง ชื่อ ซานจีฟ
ตอนจบการฝึกงานเค้าจะได้เขียน evaluation ให้เราด้วย

เราก็ส่ง code ไปให้ซานจีฟ review เป็นชุดใหญ่
แต่ช่วงนั้น ซานจีฟงานเข้าเยอะมาก รวมถึงมีวันลาพักพอดี
กว่าจะ review ได้ครบก็ถึงสองสัปดาห์สุดท้ายของการฝึกงานแล้ว

ส่วนนึงที่เรารู้สึกว่าเราทำพลาด คือ การไม่ทำให้แต่ละ commit มันเล็กพอ
ซานจีฟซึ่งไม่คุ้นกับ code เราต้องมานั่งเรียนรู้ commit ใหญ่ๆก็เลยใช้เวลามากกว่าปกติด้วย


ได้ผล


หลังจาก code ใหม่ที่ commit ไปมัน run มาซักพัก ก็ยังดูเฉยๆเนือยๆอยู่
ไม่ได้มีผลอะไรมาก เหมือนประมาณว่า ไอ้ที่เราทำอะ มันเฉยๆ ไม่ได้เจ๋งอะไร ไม่ได้ช่วยให้ระบบมันเร็วขึ้นเท่าไร

ในขณะที่เราได้ยิน ซานจีฟชมแพททริกว่า "เฮ้ย งานมึงสุดยอด"

เราก็อดคิดในใจไม่ได้ว่า
"ไอ่ แพททริก อย่าเก่งนักดิวะ ช่วยทำงานออกมาเฉยๆหน่อยดิ
กรูโดนเปรียบเทียบกับเมิง กูก็ซวยดิวะ"

แต่แล้วก็มีปาฎิหาริย์เหมือนในพระคัมภีร์อีกแล้ว

สัปดาห์นั้นมีคน commit code ซึ่งมีปัญหากระทบคนจำนวนมาก
แล้วไอ้โปรเจคที่เราทำไปมันเก่งด้านตรวจจับแบบนี้ได้พอดี
โปรเจคของเราอยู่ๆก็เลยเหมือนช่วย Google แบบเห็นได้ชัด

โอ้โห กรูดูดีขึ้นมาทันทีเลย จังหวะนี้กรูเก่งที่สุดในโลกทันที

ก็เลยกลายเป็นว่าไอ้ที่เรานั่งจ้องข้อมูลจนมึน
มันก็ส่งผล ทำให้โปรเจคเราดูดีขึ้นมา

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

สรุป กูยอด :)


present


มาถึงสัปดาห์ใกล้ๆสุดท้าย สิ่งที่เค้าแนะนำให้เด็กฝึกงานทำ ก็คือให้ present งานที่ตัวเองทำ

ด้วยความที่เราเพิ่งไป present เปเปอร์มาช่วงต้นๆหน้าร้อน
ทำให้เราได้ฝึกทักษะการ present มาประมาณนึงแล้ว

ก็ไหลลื่น ไม่มีอะไรเครียด
มีการซ้อมกับตัวเอง ซ้อมกับเอริค ซ้อมกับ manager ก่อนถึงวันจริง

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

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

แล้วก็จบการฝึกงานที่สนุกของหน้าร้อนนี้


สิ่งที่น่าสนใจและสิ่งที่เรียนรู้


อาวหละครับ ได้เวลามานั่งคิดว่าสิ่งที่น่าสนใจและสิ่งที่ได้เรียนรู้มีอะไรบ้าง
เผื่อเราจะได้เอาไปใช้ในชีวิตประจำวัน


ความขี้อาย


สำหรับพนักงานใหม่ ไม่ว่าที่ไหนก็ตาม
สิ่งที่จะทำให้เรียนรู้ได้เร็วมากๆก็คือ การถามคนอื่นในทีม
ถึงเราจะเก่งแค่ไหน หลายๆครั้งคนอื่นมักจะรู้ตัวระบบภายในได้ดีกว่าเรา
และการถามคนอื่นทำให้สนิทกับคนในทีมอีกตะหาก

ยิ่งขี้อายเท่าไร ก็จะยิ่งอายที่จะถามคนอื่นและงานจะออกมาได้ช้าลง
ถ้าเป็นไปได้ ควรจะต้องกล้าถามมากกว่านี้ โดยเฉพาะถ้าเราเห็นว่าคนอื่นเป็นมิตร เราต้องถามได้

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


ความเก่ง


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


เขียน code ให้อ่านง่ายไว้ก่อน


เอริคบอกเราว่า code เราจะถูกอ่านมากกว่า code เราถูกเขียน

แปลว่าอะไร

แปลว่า ถ้าเราเขียน code ที่อ่านง่าย ใช้เวลาทำความเข้าใจน้อยลง 5 นาทีจาก code ที่อ่านยาก
ถ้า code นั้นมีคน 2 คนอ่านเดือนละครั้ง แล้วจะอยู่ในระบบไปอีก 5 ปี
เราสามารถประหยัดเวลารวมไปได้ 10 ชั่วโมง

ถ้าเราเขียน code ด้วยความคิดนี้ทั้งระบบ ซึ่งมีคนอ่าน code ตลอดเวลา จะประหยัดเวลาได้มหาศาล


commit เล็กๆ


ส่วนตัวคิดว่าอันนี้ทำยาก ทั้งๆที่เป็นความคิดง่ายๆ

เหมือนกับการที่หนึ่ง class ควรมีหนึ่งหน้าที่
หนึ่ง commit ก็ควรมีเป้าหมายเดียว

ถ้าจะแก้ค่า constant ก็แก้ในหนึ่ง commit
ถ้าจะ refactor บางอย่างก็ให้แก้ในหนึ่ง commit
การจะเปลี่ยน logic ก็ให้เปลี่ยนในหนึ่ง commit

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

การแยก commit ให้เล็กๆ จะทำให้แต่ละ commit เข้าใจง่ายและ review ได้ง่าย
ทำให้ความผิดพลาดน้อยลง และอาการ "เอ๊ะ review อันนี้ใหญ่ ไว้ทำทีหลังดีกว่า" น้อยลง


เรียนรู้จากคนอื่น


สิ่งหนึ่งที่เราชอบที่สุดที่ Google คือเราสามารถเห็น code review ทุกคนได้
วิธีการเรียนแบบนี้สามารถเอาไปประยุกต์ได้นอกจากการเขียน code

เช่น ในมุมมองของเจ้านาย
ถ้าบริษัทเรามี culture ที่สามารถติชมผลงานกันได้ด้วยความเคารพ จริงใจ และเป็นมิตร
เราสามารถที่จะแบ่ง feedback ที่เรามีต่องานของคนนึง ให้คนอื่นเรียนรู้ได้

ในมุมมองพนักงาน
แบบนี้เราจะลดการเสียเวลา แก้ปัญหาความขี้อาย แก้ปัญหากลัวถามโง่ได้
เพราะแทนที่เราจะต้องเข้าไปถามพนักงานคนอื่นว่า "เฮ้ย ทำอันนี้ ทำยังไง มีข้อแนะนำหรือเปล่า"
เราก็เข้าไปดูตัวอย่างและ feedback ของงานเก่าๆของพนักงานคนนั้นได้


อไจล์


สมัยนี้ คนเค้านิยมอไจล์กัน เลยเอามาเขียนนิดนึง
ดูเหมือนว่า อย่างน้อยทีมที่เราทำงานด้วย เค้ามีความอไจล์สูง
เราไปอ่านเจอมาว่า Google โดยรวมก็มีความอไจล์สูงเหมือนกัน

ไม่ใช่สูงเพราะใช้ scrum หรือ kanban หรือ ฯลฯ เก่ง
แต่สูงเพราะว่า ในทีมเค้ามีไอเดียประมาณว่า "ทำอะไรก็ได้ทีมทำงานได้ลื่นที่สุด"

ไม่ว่าจะเป็นการ pair programming เฉพาะเวลาที่คุยกันต่อหน้าเร็วกว่าอ่าน code review
หรือการ refactor รัวๆ เพราะจะได้ประหยัดเวลาคนในอนาคต
หรือการ standup ที่เน้นว่าติดอะไรอยู่ เผื่อคนในทีมจะช่วยแก้ได้

เหมือนเค้าเลือกเฉพาะอะไรที่น่าจะมีประโยชน์กับการทำงานมากกว่าที่จะทำตามตำรา


Google ต่างจากบริษัทอื่นยังไง


อาหารฟรี? บริษัทอื่นๆเดี๋ยวนี้มีเยอะแยะแล้ว

จำนวนและขนาดข้อมูล? เราคิดว่า twitter ก็อาจจะไม่แพ้กัน

พนักงานเก่งๆ? บริษัทอื่นๆแถว silicon valley มีหมดแหละ

เงินเดือนสูง? บริษัทที่เงินเดือนสูงกว่า Google มีอยู่

สิ่งที่เราคิดว่า Google ต่างจากบริษัทก็คือ

(1) จำนวนทีมและโปรเจค

Google ในจังหวะนี้มีขนาดใหญ่มาก
เรียกได้ว่าถ้าได้เข้ามาแล้ว แล้วอยากย้ายไปหาอะไรที่ชอบมันก็น่าจะมีแหละ
เช่นโปรเจคประมาณแบบเขียน compiler หรือ ออกแบบ programming language ใหม่
ซึ่งบริษัททั่วๆไปไม่มาเสียเวลาทำกัน

(2) ระบบ infrastructure ที่มีอยู่

Google อยู่มาซักพักแล้ว เกิดก่อนบริษัทดังๆบริษัทอื่นที่มี infrastructure ดีๆ เช่น facebook หรือ twitter
ทำให้ได้เปรียบว่าได้เริ่มก่อน
มันก็จะมีระบบอะไรๆที่เข้าที่เข้าทางพร้อมให้ใช้งาน เช่น big table, map reduce ฯลฯ
ไม่ต้องมานั่งเขียนใหม่

ซึ่งตรงนี้จะทำให้พนักงานสามารถโฟกัสกับงานตัวเองได้มากกว่างาน infrastructure

ในตอนที่เราทำงานอยู่ start up เราต้องเขียน database ขึ้นมาเอง
เพราะว่า ไม่มี open source หรือ service ที่ตอบสนองความต้องการของบริษัท
มันก็สนุกไปอีกแบบเพราะได้จับทุกอย่าง
แต่ว่าแทนที่จะได้เขียนส่วนที่ทำเงินให้บริษัทโดยตรง ก็ต้องมาเขียน infrastructure ก่อน

(3) โปรเจค "บ้าไปแล้ว"

เนื่องจาก Google เหมือนจะมีเงินเหลือ
มันเลยสามารถส่งเสริมให้พนักงานทำโปรเจคประเภท บ้าไปแล้ว โดยไม่เจ๊งได้
อย่างเช่น google glass หรือรถไร้คนขับได้
ซึ่งเรารู้สึกว่ายังไม่มีบริษัทไหนที่มีโปรเจคบ้าไปแล้วเยอะแบบ Google


บริษัทอื่นมีอะไรที่ Google ไม่มี


เรารู้จักคนที่ลาออกจาก Google และพนักงานปัจจุบันที่คิดจะลาออกด้วย
สาเหตุใหญ่ๆที่คนเหล่านี้มองหาประสบการณ์อื่นๆ ฟังดูเหมือนจะเป็นเหตุผลต่อไปนี้

เนื่องจาก Google มันใหญ่ขึ้นเรื่อยๆ การจะทำอะไรที่รู้สึกว่าส่งผลให้บริษัท หรือการจะทำอะไรเร็วๆง่ายๆ มันยากขึ้น
พนักงานแต่ละคนก็เป็นเพียงฟันเฟืองเล็กๆในเครื่องจักรใหญ่ ซึ่งถ้าฟันเฟืองนั้นหลุดไป Google ก็หามาแทนได้

การออกไปทำบริษัทที่เล็กกว่า หรือ start up มันรู้สึกว่าตัวเองได้ทำอะไรที่มีผลกระทบกับโลกโดยตรงมากขึ้น

บน quora มีคนถามคำถามนี้ด้วย ลองไปอ่านเพิ่มก็มันส์ดี

เรายังไม่ได้ทำงานนานพอที่จะเจอเรื่องพวกนี้ที่ทุกคนเล่า
แต่เราก็เรียนรู้มาว่ามันไม่มีที่ไหนที่ดี 100% หรอก
ตราบใดที่เรารับอะไรที่แย่ๆได้ และชอบในส่วนที่ดี เท่านั้นก็โอเคแล้ว

ฉันใดก็ฉันนั้น การจะหาเจ้าชายในฝันมันไม่มี
ตราบใดที่เรารับข้อเสียของอีกฝ่าย และรักในข้อดีของอีกฝ่ายได้ รู้จักปรับตัว
เราก็จะมีความสุข
(เข้าเรื่องนี้ได้งัยวะ)


จบแล้ว


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

บ๊ายบาย

August 16, 2015

ประสบการณ์ฝึกงานที่ Google: ตอน สัมภาษณ์

เมื่อหน้าร้อนที่ผ่านมาเราโคตรโชคดี มีโอกาสได้ไปฝึกงานที่ Google



หลังจากได้ข่าวดีว่า Google รับเราเข้าฝึกงาน
เราก็จัดการประกาศข่าวดีลงเฟสบุค เพื่อจะให้คนมายินดีด้วย (เพิ่มอีโก้ให้ตัวเอง แหะๆ)

มีเพื่อนจำนวน >= 1 คน ในทั้งหมดที่มายินดีด้วย
บอกว่าฝึกงานเสร็จอย่าลืมเล่าประสบการณ์ให้ฟังนะ

สำหรับตอนนี้การฝึกงานก็ได้จบลงไปแล้ว
คิดว่าน่าจะเป็นเวลาที่ดีที่จะเอาประสบการณ์มาแบ่งกันละ

จะพยายามแบ่งเป็นตอนๆ จะได้ไม่ยาวเกิน
และหนึ่งโพสจะได้มี theme เดียวด้วย



หมายเหตุ
เราอีเมลไปสอบถาม แผนกข่าวและการตีพิมพ์ของ Google ว่าโอเคไหมที่จะแบ่งปันประสบการณ์ผ่าน blog
เค้าก็บอกว่าโอเค เขียนเล่าประสบการณ์ได้ แต่อย่ารั่วข้อมูลภายในเด็ดขาด
ฉะนั้นถ้าเพื่อนๆเห็นว่าตรงไหนที่เราเขียนค่อนข้างคลุมเครือๆ แปลว่าเราลงรายละเอียดไม่ได้นะๆ

อีกอย่างนึง คือ สิ่งที่เราเขียนทุกอย่างนี้เป็นความเห็นส่วนตัวทั้งหมด 100%
ความเห็นของ Google สามารถหาได้ที่ offical blog ของบริษัท


คุยกับ recruiter


เมื่อตอนเดือนกันยายนปีที่แล้ว มหาวิทยาลัยเราจัด career fair
ที่มันจะเอาพวกบริษัทต่างๆมาตั้งซุ้ม

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

หนึ่งในบริษัทนั้นก็ Google เนี่ยแหละ เราก็เข้าไปคุยกับพนักงานที่มาโฆษณาบริษัท
(เป็น software engineer มาเอง ไม่ใช่ฝ่ายบุคคล)
แล้วก็ยื่น resume ไป

ข่าวคราวเงียบหายไป แต่เราก็เรียนวุ่นจนไม่ได้ติดตามอะไร

หนึ่งเดือนถัดมา (ตุลาคม) มีอีเมลมาจากแผนกบุคคล (จากนี้ไปจะเรียก recruiter อ่านว่า รี ครู้ เต้อ)
อีเมลบอกว่า "เฮ้ หวัดดี นี่จาก Google นะ สนใจสัมภาษณ์ไหม"
เราก็ตอบไปว่า "เอ้ว สนใจดิ"
ก็เลยนัดสัมภาษณ์รอบถัดไป


คุยกับ software engineer สามคน


ก็ได้วันนัดสัมภาษณ์ทางโทรศัพท์ ซึ่งก็คืออีกหนึ่งเดือนถัดมา (พฤศจิกายน)
โดยจะมีแจกัน (คนโท! เอ้ย คนโทร!) มาสามคน
เราจะได้คุยด้วยคนละ 45-50 นาที และจะมีเวลาพักระหว่างแต่ละคนประมาณ 10-15 นาที
ก็คือสัมภาษณ์ทางโทรศัพท์ 3 ชั่วโมงนั่นแหละ ได้เวลา 3-6 โมงเย็นมา

ก็หนึ่งเดือนถัดไปจนถึงวันสัมภาษณ์
การเตรียมตัว เราก็อ่านไอ้หนังสือเล่มเนี้ย
ซึ่งวางตั้งอยู่ในแลบของเราเป็นการเตรียมตัว

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

แต่ละคนที่โทรมาสัมภาษณ์
ลักษณะก็คือ แนะนำตัว ถามคำถาม ถกเรื่องคำตอบว่าคำตอบไหนดีไม่ดียังไง
พอตกลงคำตอบที่โอเคแล้ว
ก็เขียนโค้ดคำตอบที่ตกลงกันได้ลง google doc เดี๋ยวนั้น
หลังจากเขียน code แล้ว ก็จะคุยกันว่า code มันเร็วแค่ไหน มี bug ไหม
ถ้าทำให้โจทย์ยากขึ้นจะเพิ่มอะไรใน code บ้าง

โดยรวมแล้วเราคิดว่าความยากไม่เวอร์
สิ่งที่ต้องมีคือ พื้นฐานป.ตรีด้าน discrete math, data structure และ algorithm แน่น
ก็คือ ต้องพิสูจน์ทางคณิตศาสตร์เป็น
ต้องรู้ว่าพวก binary tree, graph ฯลฯ ทำงานยังไง
ต้องรู้ว่า big O คืออะไรและเขียนโค้ดยังไงสำหรับ big O ต่างๆ
จะเห็นได้ว่าการเตรียมสอบสัมภาษณ์ก็อารมณ์ประมาณเตรียมสอบไฟนอลสามวิชาพร้อมๆกัน

แต่นอกจากความยากของโจทย์
คิดว่าเป็นเรื่องของการสื่อสารที่ต้องคุยภาษาวิชาการทางโทรศัพท์ให้อีกฝ่ายเข้าใจได้ง่ายๆ

การพูดคุยทางโทรศัพท์รู้สึกว่าทุกอย่างผ่านไปด้วยดี


คุยกับทีมที่จะทำงานด้วย


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

เราก็ใส่ไปในฟอร์มว่า
"อยากได้อะไรที่เกี่ยวกับที่วิจัยอยู่
ถ้าเป็นอะไรแนว programming language หรือ compiler
หรืออะไรเงี้ยะๆ ได้ไหมอ่าห์เธอว์"

ก็รอไปสิ สองสัปดาห์ผ่านไป แบบเงียบๆ ไม่มีอะไรเกิดขึ้น
ท่าทางว่าจะไม่มีทีมไหนอยากได้คนเรื่องมากอย่างเรา

เราก็เริ่มทำใจละว่า
อุตส่าห์สัมภาษณ์วิชาการผ่าน แต่เรามันเป็นหมาหัวเน่าไม่มีใครสนใจ


ปาฏิหาริย์


และแล้วปาฎิหาริย์อย่างในพระคัมภีร์ก็เกิดขึ้น

ย้อนความนิดนึงคือ เมื่อเทอมแรกที่เราเข้าไปเรียนป.เอก
เราต้องเป็นผู้ช่วยสอน (TA) วิชา software engineering ให้อาจารย์คนนึง
แล้วทีนี้เราทำงานถูกใจอาจารย์ (ได้รางวัล TA ดีเด่นเลยเชียวนะเว่ย โม้หน่อยๆ)
อาจารย์เลยมีความเชื่อใจในความสามารถเรา

ทีนี้อาจารย์คนนี้ก็มีคนรู้จักกว้างขวาง รวมไปถึงคนใน Google ด้วย
มีทีมนึงอีเมลมาถามอาจารย์คนนี้ว่า
"เฮ้ย นายอะ มีลูกศิษย์คนไหน สนใจฝึกงานกับเราไหม ปีนี้เราจะรับนักศึกษาฝึกงานได้อีกหนึ่งคน"

อาจารย์คนนั้นก็ส่ง forward เมลให้ทุกคนใน lab ว่า
"เฮ้ย พวกเมิง ใครสนใจทำงาน Google เดี๋ยวแนะนำให้คนกลุ่มนี้รู้จัก"

หลังจากเราขอบคุณพระเจ้าเสร็จ เราก็ส่งอีเมลไปหาอาจารย์คนนี้บอกว่า
"กระผมสัมภาษณ์รอบแรกผ่านละ กำลังหาทีมอยู่พอดีเลย ช่วยหน่อยจิๆ"

อาจารย์ก็จัดให้
เห็นผลชัดเจนเลย

วันต่อมา recruiter ส่งอีเมลมาบอกว่า
"เย่ มีคนอยากได้หมาหัวเน่าอย่างมึงแล้ว"

ก็นัดสัมภาษณ์ทางโทรศัพท์อีกที เพื่อดูว่าเรากับทีมนั้นเหมาะสมกันจริงหรือเปล่า
ถึงวันที่ต้องโทรคุยกัน ทาง tech lead ของทีมนั้นก็โทรมา
เล่าให้ฟังว่าโปรเจคมันคืออะไร
ก็ไม่ได้เกี่ยวกับ programming language หรือ compiler อย่างที่เราทำวิจัยอยู่
แต่เป็นงานด้าน software engineer
แต่เป้าหมายใหญ่ก็เหมือนๆกันคือ ทำอะไรก็ได้ให้ชีวิตโปรแกรมเมอร์ดีขึ้น
เราก็เลยแสดงความสนใจไป บอกว่าอยากทำงานด้วยนะ

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

ชีวิตเราที่ผ่านมาประมาณ 10 ปีล่าสุดที่เจอแต่คนที่เก่งกว่าและน่าสนใจกว่ารอบๆตัว
ทำให้เราได้ฝึก skill นี้มาเป็นอย่างดี
รอบนี้เลยรู้สึกธรรมชาติมาก

ช่วงนั้นเป็นช่วงใกล้ๆคริสมาส เราก็กลับบ้านที่เมืองไทย
ส่วนทีมนั้นก็คงจะมีวันหยุดคริสมาสอะไรงี้
พอหลังเทศกาลปีใหม่ ก็ได้อีเมลมา "ยินดีด้วย!"

จังหวะนั้น ชั้นนี่คือแบบกรี๊ดสุดๆอะเมิง
ก็เล่าให้ที่บ้านฟัง แล้วก็โพสอวดทางเฟสบุคเป็นที่เรียบร้อย
กลายเป็นการกลับไปพักผ่อนที่ไทยที่สนุกคูณสองเลย

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


สิ่งที่น่าสนใจ


สิ่งที่น่าจะฝากคนอื่นได้จากการสัมภาษณ์ที่ Google ก็คือ
จากที่เราเจอมา เหมือนความสามารถในการเขียนโค้ดมันจำเป็นระดับนึง
แต่พอเลยระดับนึงนั้นไปแล้ว สิ่งที่สำคัญมากๆสำหรับการทำงาน
ก็คือ ความสามารถในการสื่อสาร การอธิบายความคิดตัวเองที่คนอื่นเข้าใจได้ และความเป็นเพื่อนร่วมงานที่ดี

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


สมัครบริษัท Asana ด้วยแต่สอบตก


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

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

นอกจาก Google แล้ว เรายังสมัครบริษัท start up ที่ชื่อว่า Asana ด้วย
สาเหตุที่สมัครบริษัทนี้เพราะว่าที่นี่มี culture ที่น่าทำงานมาก
ก็คือเรื่องของการ คิดถึงเค้าคิดถึงเรากับทุกสิ่งทุกอย่าง (มันใช้คำว่า mindfulness)

แถมเราก็ยังไปอ่านเจอมาว่าพนักงาน Asana มีความสุขมากกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกก

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

เราก็เลยสมัครไป ส่ง resume กับกรอกฟอร์มทางเวบ
สมัครไปไม่กี่ชั่วโมง (สาบานได้ว่าหลักชั่วโมง)
มี recruiter อีเมลมาบอกว่า
ขอบคุณมากที่สนใจ Asana เราอยากรู้ความสามารถการเขียนโปรแกรมของคุณ


รอบแรก เขียนโค้ดออนไลน์


เค้าก็ส่ง link มาให้ซึ่งเป็น link ที่พอเปิดปุ๊ป จะมีโจทย์ให้เขียนโปรแกรมภายใน 30 นาที
ให้เขียนในนั้น ห้ามใช้ IDE ให้ใช้ notepad แล้ว copy paste ลง browser
เพราะอยากรู้ว่าเขียนโปรแกรมโดยไม่พึ่ง IDE ได้ไหม แล้วเป็นคนละเอียดแค่ไหน
ก็เขียนแล้วก็ส่งไป


รอบถัดมา คุยกับ software engineer หนึ่งคน


สามวันต่อมา recruiter บอกว่า "อื้ม ดูดี เข้ารอบ
เดี๋ยวรอบต่อไปโทรศัพท์คุยกับ software engineer เราคนนึง"

ไม่กี่วันถัดจากนั้นก็ได้คุยโทรศัพท์สัมภาษณ์กับ software engineer คนนั้น
อันนี้อารมณ์เหมือน Google ก็ใช้ความรู้พื้นฐานป.ตรีเหมือนกันเลย
ก็สัมภาษณ์เสร็จก็คิดว่าผ่านไปด้วยดี ถามคำถามไปเยอะเหมือนกันเพราะอยากรู้เกี่ยวกับการทำงานใน Asana


ไปสัมภาษณ์ที่ออฟฟิส


สามวันถัดมาได้อีเมลมาจาก recruiter บอกว่า โอเค เข้ารอบต่อไป
เผอิญตอนนั้นเป็นช่วงปลายๆเทอมเรากำลังจะสอบเสร็จและบินไปหาเดียร์พอดี
เราเลยขอเค้าว่า เข้าไปสัมภาษณ์แบบตัวเป็นๆเลยได้ไหม เพราะจะบินไปแถวนั้นอยู่แล้ว

เค้าก็นัดวันสัมภาษณ์มา เป็นสัมภาษณ์แบบครึ่งวัน
นัดไว้เที่ยงครึ่ง ไปถึงก็เจอออฟฟิสสวยดี


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


เจอคนแรกเริ่มหืด


สัมภาษณ์แรกก็เริ่มเห็นความโหดละ

คนสัมภาษณ์แนะนำตัวว่าเป็นเด็กป.เอก MIT แล้วเบื่องานวิจัยเลยลาออกมาทำ Asana
เห็น profile คนสัมภาษณ์เราก็เริ่มขี้หดละ
คำถามก็เกี่ยวกับ probability และต่อด้วยปัญหา dynamic programming
รู้สึกสัมภาษณ์ไม่ค่อยลื่นปรื๊ดเหมือนรอบแรกๆ แต่คิดว่าพอถูๆไถๆอยู่


เจอคนถัดก็หืดขึ้น


รอบต่อไปเค้าให้เข้าไปในห้องคนเดียว จากนั้นเค้ามีโจทย์มาให้สองหรือสามข้อเนี่ยแหละ
แล้วให้เปิด text editor ใน laptop ส่วนตัวของเราที่เอามา
ห้ามใช้ IDE แล้วก็ให้เขียนโค้ดภายใน 1.5 ชั่วโมงมั้ง ถ้าจำไม่ผิด
ก็เขียนทันอยู่นะ พอดีๆ เป็นโค้ดที่ตรงไปตรงมา คล้ายๆชีวิตประจำวันโปรแกรมเมอร์
(ไม่ได้มาแนวโจทย์ algorithm จ๋าเท่าไร)

จากนั้นมี software engineer เดินเข้ามาในห้องสองคนมาทำ code review
แล้วก็คุยกันว่าที่เขียนมานี่ big O เท่าไร ตรงนี้มีบั๊กนะ จะแก้ยังไง
รอบนี้ก็เริ่มตะกุกตะกักละ นอกจากขรี้หด ตอนนี้ก็ตดเล็ดด้วย
ผ่านการ code review ไปเรียบร้อยก็หันไปทางกระดาน

"เอาหละ เรามาคุยเรื่อง design ดีกว่า"
เค้าก็เริ่มถามเรื่อง database กับ mysql ซึ่งเราไม่ได้แตะมาชาตินึง
แต่เนื่องจากเป็นโจทย์ design เลยไม่จำเป็นต้องมีความรู้ภาษา sql
เป็นแนวให้ออกแบบ table มากกว่า
อันนี้คิดว่าผ่านไปโอเคอยู่ ไม่แย่ๆ

สุดท้ายเค้าก็ให้เราถามคำถามบ้าง
เราก็ถามว่าสองคนนี้เคยทำงานที่ไหนยังไงบ้าง
คนนึงก็เคยทำงาน Quora คนนึงเคยทำงาน Google
ทั้งสองคนบอกว่า Asana ดีที่สุดเท่าที่เคยทำมาในเรื่องของทีม
ทุกคนเหมือนเปิดที่จะสามารถคุยกันได้ทุกอย่าง
ไม่มีความคิดไหนเรียกว่าโง่ ฯลฯ
ได้ยินงี้เลยยิ่งอยากเข้าเลยสิวะครับ


ปิดการสัมภาษณ์


แล้วสุดท้ายก็กลับไปเจอ recruiter อีกครั้ง เค้าก็อธิบายให้ฟังว่าขั้นตอนอะไรต่างๆเป็นยังไง
แล้วก็ถามเราว่ารู้สึกยังไงเกี่ยวกับการสัมภาษณ์บ้าง

ก็จบการสัมภาษณ์วันนั้น กลับไปแบบมึนๆ ไม่รู้ว่าจะได้หรือไม่ได้

หลังจากนั้นวัน christmas eve เราก็ได้โทรศัพท์มาจาก recruiter บอกว่า
"ขอบคุณเธอนะ แต่ฉันรับเธอไม่ได้"

ตอนนั้นก็จิตตกอยู่ประมาณนึง รู้สึกเสียดายที่ได้อดทำงานบริษัทเจ๋งๆอันนี้
แต่ซักพักเรื่องนี้ก็กลายเป็นเรื่องเล็กๆที่เราลืมไปในเวลาไม่นาน
แถมได้มาเล่าให้คนอื่นฟังในนี้ด้วยอีกต่างหาก


สิ่งที่น่าสนใจ


แต่จากประสบการณ์การสอบตกสัมภาษณ์เราก็ยังได้ข้อคิดเอามาแบ่งกัน

เรามาลองวิเคราะห์วิธีสัมภาษณ์ของ Asana แล้วเราชอบมากเลย
รู้สึกถึงความใส่ใจได้อย่างชัดเจน
ถ้าได้ฝึกงาน คงจะได้เรียนรู้อะไรด้านอื่นๆอีกเยอะเลย
เดี๋ยวหน้าร้อนหน้า ไม่แน่ๆ อาจจะลองใหม่

อย่างแรก ที่มีการเขียนโปรแกรม 30 นาทีส่ง
รู้สึกว่าเข้าท่าดี เพราะ ไม่เสียเวลาพนักงานเท่ากับที่ต้องคุยโทรศัพท์ live
พนักงานที่มา review คำตอบสามารถหาเวลาว่างได้โดยไม่โดน interrupt เวลาที่ตัวเองวุ่นๆ

อย่างที่สองคุยโทรศัพท์กับพนักงานคนเดียว
แทนที่จะแบบทีละสองสามคน
ข้อเสียคือถ้าคุยกันไม่ถูกใจกับคนนี้ก็จบเลย
แต่ข้อดีก็คือ ไม่เสียเวลาพนักงานอีกหนึ่งถึงสองคนถ้าเกิดผู้สมัครไม่เวิร์คขึ้นมา
การทดสอบทักษะ data structure และ algorithm ก็เหมือนบริษัทอื่นๆเท่าที่อ่านมา ไม่มีอะไรเป็นพิเศษ เห็นด้วยว่า สัมภาษณ์โปรแกรมเมอร์ เวลาวัดพื้นฐานตรงนี้มักจะได้โปรแกรมเมอร์ดีๆ

อย่างที่สาม คุยกันบนกระดาน
อันนี้จำลองการถกกันที่เกิดขึ้นบ่อยๆในบริษัทจริงๆ
เวลาออกแบบ algorithm หรือ design อะไรก็ตาม
มักจะมาในรูปแบบการแตะไหล่ tech lead แล้วชวนไปคุยกันหน้ากระดานว่าไอเดียโอเคไหม

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

โดยสรุปแล้วเรารู้สึกว่า Asana ได้ออกแบบระบบการสัมภาษณ์มาอย่างดี เพราะ
(1) ไม่รบกวนพนักงานปัจจุบันจนเกินไป
(2) จำลองการทำงานจริงๆ หลายๆแบบทั้งการ design หรือ code review
(3) วัดความสามารถการเขียนโค้ด การ design และการสื่อสารของผู้สมัครได้
(4) แต่ละรอบได้คำตอบเร็วมากว่าผ่านไม่ผ่าน เพราะว่าเค้าเคารพเวลาผู้ไปสัมภาษณ์
(5) พร้อมที่จะพัฒนาเสมอ โดยการถามคนสัมภาษณ์ว่ารู้สึกยังไงบ้างหลังสัมภาษณ์


สรุป


สรุปแล้ว นี่คือ ประสบการณ์การสัมภาษณ์งานตำแหน่งเด็กฝึกงานใน sillicon valley
สำหรับหน้าร้อนปี พ.ศ. 2558

สอบได้หนึ่งที่ สอบตกหนึ่งที่ เป็นรสชาติของชีวิตที่ค่อนข้างอร่อย
หวังว่าใครมาอ่านแล้วคงได้ไอเดีย และแนวคิดเผื่อจะเอาไปประยุกต์กับการสัมภาษณ์บริษัทตัวเองบ้าง

ขอบคุณครัสสสส

July 21, 2015

ทำยังไงถึงจะเทพ

ขอเริ่มต้นโพสด้วยภาพประกอบ เกรดเมื่อตอนเป็นเฟรชชี่ธรรมศาสตร์ปี 1


blurred


เมื่อตอนประถมกับมัธยมเรามักจะได้ทอปวิชาภาษาอังกฤษกับเลขเสมอ
ตอนจบ ม.6 เกรดเฉลี่ยเราได้ที่หนึ่งของสายวิทย์ด้วยซ้ำ (แต่จริงๆแล้วสาเหตุที่ช่วยมากๆ คือ คนเก่งๆออกไปเตรียมอุดม หรือเรียนต่างประเทศหมด)


แต่ว่าหลังจากเราจบมัธยมออกไปแล้ว
เราก็ได้เจอคนที่เก่งกว่าเราเต็มไปหมด


ตั้งแต่ป.ตรี เราก็เจอคนที่เด็กกว่าที่ส่งโปรเจคเข้า NECTEC ชนะเลิศ
ตอนทำงานที่แรก เราก็เจอคนที่เขียนโปรแกรมหา memory leak อัตโนมัติ ด้วยตัวคนเดียว
ตอนป.โท อาจารย์สอนอะไรตามไม่ทัน ต้องกลับไปอ่านเองเป็นชั่วโมง เราก็เจอคนที่เข้าใจในห้องเรียนทันทีและตอบคำถามอาจารย์โช๊ะๆๆ
ตอนทำงานอีกที่นึง เจ้านายเราอ่านเปเปอร์วิจัยเพื่อเอาไอเดียมาเขียนเวบแอพ และเหมือนจะทำอะไรเป็นทุกอย่าง ตอนนี้ startup ไปได้สวยมาหลายปีแล้ว
และตอนนี้เราเรียน ป.เอก เราก็เจอคนที่เขียน code ประเภทแข่งขันระดับโอลิมปิกตัวเป็นๆหลายคน


ด้วยสาเหตุนี้เราจึงไม่เคยเรียกตัวเองว่า expert หรือแม้แต่คำว่า geek (ใครเรียกเราว่า geek โกรธ แฮ่ๆ)


เรารู้สึกว่าคนพวกนี้มีอะไรที่เราไม่มี สองอย่าง ก็คือ (1) ความสามารถ และ (2) การใช้เวลากับสิ่งที่สนใจ






ความสามารถ


ไม่ว่าใครจะว่ายังไงก็ตาม คนเราเกิดมาด้วยสมองไม่เท่ากัน
บางคนไม่ว่ายังไงก็ฉลาดกว่าเราจริงๆ


สิ่งที่คนพวกนี้ได้เปรียบก็คือในหนึ่งวันเค้ามีเวลามากกว่าเรา


หมายความว่า ถ้าเราต้องใช้เวลา 1 ชั่วโมงเข้าใจอะไรบางอย่าง
คนเหล่านี้จะใช้เวลาประมาณ 10 นาที
พวกนี้ได้กำไรในชีวิต ชั่วโมงละ 50 นาที มากกว่าคนเดินดินอย่างเรา






การใช้เวลากับสิ่งที่สนใจ


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


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






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


เกริ่นมานาน ขอเข้าเรื่อง “ทำยังไงถึงจะเทพ”


ข่าวดีก็คือ (1) เราเทพได้ถ้าอยากเทพ และ (2) เราไม่จำเป็นต้องเทพ






เราเทพได้ถ้าอยากเทพ


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


ประเด็นคือ คนเราเกิดมาด้วยประสบการณ์ที่แตกต่างกัน ทุกคนมีประสบการณ์เป็นเอกลักษณ์แม้กระทั่งฝาแฝด
ความเทพที่เป็นเอกลักษณ์ของเรา ก็เลยเป็นอะไรที่รวมความสามารถหลายๆอย่าง จากประสบการณ์ที่เป็นเอกลักษณ์ของเรานั่นเอง


ถ้าเราสามารถหาวิธีเอาประสบการณ์การเขียนโปรแกรมที่ธรรมดาๆ บวกกับการเล่นกีฬาที่ธรรมดาๆ บวกกับการเล่นดนตรีที่ธรรมดาๆ บวกกับ …
มาทำให้เกิดประโยชน์กับคนได้ เท่านั้นเราก็บังเกิดความเทพที่เป็นเอกลักษณ์ขึ้นมาได้ละ






เราไม่จำเป็นต้องเทพ


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


มาลองคิดดู มันฝังมาในสมอง ว่าคนเราชอบสังคม
คนเราต้องการการยอมรับจากสังคม หนึ่งในวิธีให้คนยอมรับก็คือ การเป็นเทพ


หรือออออ


อีกหนึ่งวิธีที่ทำให้สังคมยอมรับ ก็คือ ทำอะไรดีๆให้สังคม


ไม่ว่าสังคมขนาดเท่าไหน เราก็ทำอะไรดีๆได้
เริ่มจากสังคมที่มีคนแค่สองคน เคยช่วยเหลือรับฟังทุกข์สุขกันบ้างไหม
หรือสังคม 3-5 คน เคยเล่นดนตรีเพื่อความสนุกของคนอื่นในวง มากกว่าสั่งให้เล่นให้ตามเพลงเป๊ะกันบ้างไหม
หรือสังคม 11 คน เคยเตะบอลเพื่อความสนุกของคนอื่น มากกว่า ด่าเวลาคนอื่นเล่นห่วยบ้างไหม
ฯลฯ


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


​ฉะนั้นยังไม่สาย มาหาความสามารถที่ผสมผสานกันเป็นเอกลักษณ์ของตัวเอง และทำสิ่งดีๆให้คนอื่นกันดีกว่า


เนอะ :D

March 09, 2015

วิธีการให้คำแนะนำที่ดีเพื่อให้เพื่อนคบกันต่อไป

ตลอดประมาณสองปีที่ผ่านมา เราได้มีโอกาสรู้จักกับเพื่อนใหม่ๆค่อนข้างเยอะอยู่
เกือบทั้งหมดจะเป็นรุ่นน้อง (แบบรุ่นน้องสัดๆ อายุต่างกันประมาณ 1 รอบหรือมากกว่าก็มี)

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

ในอีกมุมนึง เราก็ขอคำแนะนำคนอื่นบ่อยอยู่
เพราะทุกคนย่อมมีอะไรที่รู้มากกว่าคนอื่นอยู่ เช่น ล่าสุดเราเพิ่งขอคำแนะนำรุ่นน้องในการเล่นบาส หรือยกเวท

และนอกจากนั้น เราก็ได้คำแนะนำจากคนอื่นบ่อย ถึงแม้จะไม่ได้ขอก็ตาม

จากการวิเคราะห์ดู เราคิดว่าเราพอจะกลั่นวิธีการให้คำแนะนำที่ดี ออกมาหลักๆได้สามข้อ ก็คือ

(1) อย่าให้คำแนะนำคนอื่น ถ้าคนอื่นไม่ได้ขอ

จากประสบการณ์พวกเก่งๆ จะปฏิบัติข้อนี้กันอย่างขะมักเขม้น
และจากประสบการณ์ พวกไม่เก่งจริง แต่อยากโชวพาว ก็ปฏิบัติข้อนี้กันอย่างขะมักเขม้น เช่นกัน

ยกตัวอย่าง justin bieber คุยกับ tailor swift
justin: วันก่อนเล่นคอนเสิร์ต รู้สึกคนดูไม่ค่อยสนุกเลยอะ เซ็งวะ
tailor: ศิลปินที่ยิ่งเจอความกดดัน แล้วสามารถสู้กับมันได้ มักจะก้าวหน้าในการงานอาชีพ

สิ่งที่ justin อาจจะได้ยินคือ "มึงต้องเรียนรู้อีกเยอะ จะได้เก่งเหมือนกู"
(อาจจะฟังดูเว่อร์ แต่บางทีเรารู้สึกอย่างนี้เวลามีคนให้คำแนะนำเรา เวลาที่เราไม่ได้ขอ)

จากเหตุการณ์นี้ justin คงจะไม่ไปหา tailor เวลามีเรื่องกลุ้มใจ

วิธีที่ tailor สามารถตอบได้ดีกว่านี้ก็คือ

justin: วันก่อนเล่นคอนเสิร์ต รู้สึกคนดูไม่ค่อยสนุกเลยอะ เซ็งวะ
tailor: โหย จ๋อยแย่เลยดิ

สิ่งที่ justin อาจจะได้ยินก็คือ "เห็นใจอ๊ะ"
ตอบง่ายกว่าเยอะ
justin และ tailor ก็ยังคบกันต่อไป

(2) ถ้ามีคนมาขอคำแนะนำ เวลาให้คำแนะนำไป ไม่ต้องพยายามหล่อมาก

ยกตัวอย่าง harry potter คุยกับ สมีกัล
harry: เนี่ย ทำแหวนหายเป็นประจำเลย ปกติสมีกัลทำงัยบ้าง แหวนถึงได้ไม่เคยหายเลย
สมีกัล: ถามคำถามผิดแล้ว ต้องถามตัวเองก่อนว่า แหวนมีความสำคัญกับตัวเอง จริงๆหรือเปล่า ฯลฯ ฯลฯ ฯลฯ

สิ่งที่ harry ได้ยิน "คำถามมึงโง่ แต่เอาเหอะ กูจะตอบให้"

สมีกัลอาจจะรู้จริง ไม่มีใครเถียงได้ แต่แค่วิธีการตอบเท่านั้นที่ทำให้ harry รู้สึกงี้ด

วิธีที่สมีกัล สามารถตอบได้ดีกว่านี้ก็คือ
harry: เนี่ย ทำแหวนหายเป็นประจำเลย ปกติสมีกัลทำงัยบ้าง แหวนถึงได้ไม่เคยหายเลย
สมีกัล: อันนี้วิธีที่เราคิดนะ อาจจะไม่เหมือน harry แต่สำหรับเรา แหวนมันสำคัญกับเรามาก เราคิดเสมอว่า ถ้าแหวนหายไปเราจะทนอยู่ได้ยังไง ฯลฯ ฯลฯ ฯลฯ

สิ่งที่ harry ได้ยิน "กูก็ไม่ได้รู้ทุกอย่าง แต่จะพยายามตอบให้ดีที่สุด จากประสบการณ์กู"
harry และ สมีกัล ก็ยังคบกันต่อไป

(3) ถ้ามีคนมาขอคำแนะนำ เวลาให้คำแนะนำไป อย่าคาดหวังว่าคนจะทำตาม

ยกตัวอย่าง นารูโตะ เคยให้คำแนะนำในการแยกร่างกับ ลูฟี่ไป แต่ลูฟี่ไม่ทำตาม

ลูฟี่: อยากขอคำแนะนำเรื่องการจีบสาวหน่อย
นารูโตะ: แนะนำอะไรไป มึงก็ไม่เห็นฟัง จะมาขอทำไมวะ

นารูโตะโกรธ ส่วนลูฟี่จ๋อย
ไม่ดีสำหรับทั้งคู่

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

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

ลูฟี่: นารูโตะ เราลองเอาไอเดีย การแยกร่าง ไปประยุกต์กับการล่าสัตว์ มันเจ๋งมากเลย
นารูโตะ: (ซึ้ง มีคนฟังเราด้วย)

หรือถ้าไม่คิดจะทำเลย อย่างน้อยก็อย่าลืมขอบคุณ ทุกครั้งที่ขอคำแนะนำ

ลูฟี่: เรื่องคำแนะนำในการแยกร่างคราวที่แล้ว ขอบคุณมากเลย คราวนี้อยากขอคำแนะนำเรื่องการแปลงร่างหน่อยได้ป่าว
นารูโตะ: (อย่างน้อยมันก็จำได้เว้ย) ได้ๆ

ลูฟี่ และ นารูโตะ ก็ยังคบกันต่อไป