mockgle - mock's love story

Story of a man who falls in love with Google. Sorry, people of the World, but this is in Thai.

Friday, February 03, 2006

[3] Waiting - การรอคอย

เวลาผ่านล่วงเลยไปนานจนกระทั่งปิดเทอมเมื่อช่วงกลางเดือนธันวา 05 ในช่วงนั้นผมมัววุ่นกับการสมัครมหาวิทยาลัยต่างๆ (เพื่อหาที่เรียนต่อ PhD) ในขณะเดียวกันก็วางแผนการเที่ยวกับเพื่อนๆ ว่าปีใหม่นี้จะไปเที่ยวไหนกันดี ผลสรุปคือไปเที่ยว San Francisco และเมืองใกล้เคียง (เช่น LA, Lake Tahoe, Yosemite, Las Vegas) [อ่านเรื่องเล่าจากทริปนี้ได้ที่ http://mock.suwannatat.com/journal/sftrip/]

เมือง San Francisco นี้อยู่ใกล้ๆ กับเมือง Mountain View ซึ่งเป็นที่ตั้งของ Google (สำนักงานใหญ่) ผมหวังนิดๆ ว่าจะได้มีโอกาสผ่านไปเห็นสักหน่อยว่าหน้าตาเป็นอย่างไร

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

Google สัญญากับผมว่าจะติดต่อกลับมาในเดือน ม.ค. ผมตั้งตารอเป็นอย่างมาก และแล้วเมื่อ 19 ธ.ค. (ก่อนเวลานัดหมายตั้งครึ่งเดือน) ผมก็ได้รับอีเมลล์จากคุณ เจนนิเฟอร์ บอกว่าอยากจะนัดสัมภาษณ์ผมทางโทรศัพท์เป็นเวลา 45 นาที ในระหว่างวันที่ 4-6 ม.ค. 06 ขอให้ผมตอบกลับไปว่าผมว่างช่วงเวลาไหน

ผมตอบกลับไปว่าว่างทุกวัน-ทุกเวลา อยากโทรมาตอนไหนโทรได้เลย ขอเพียงให้บอกล่วงหน้าสักหน่อยจะได้เตรียมตัวเตรียมใจ คุณเจนนิเฟอร์ตอบว่าจะให้คุณอาร์ทูโร่ (วิศวกรคนหนึ่ง) โทรหาผมวันที่ 6 ม.ค. เวลา 5:30pm (ตามเวลาเมือง Pittsburgh)

ผมตอบตกลงกับวันและเวลาดังกล่าว ความจริงเป็นเรื่องดีเพราะผมจะเที่ยวอยู่ที่แคลิฟอร์เนียจนถึงวันที่ 3 ม.ค. พอกลับมาก็จะมีเวลาพักผ่อน 2 วันก่อนสัมภาษณ์

*** น้องๆ ที่อายุต่ำกว่า 21 ปี (สำหรับอเมริกา) หรือ 18 ปี (สำหรับประเทศไทย) โปรดข้ามย่อหน้านี้ไป ***
คืนวันที่ 2 ม.ค. ผมและเพื่อนๆ เดินทางจาก Los Angeles กลับสู่ San Francisco (เพื่อขึ้นเครื่องบินกลับ Pittsburgh ในวันรุ่งขึ้น) ระหว่างที่พักในโรงแรมพวกเรามองเห็นขวดขวดหนึ่ง ภายในบรรจุของเหลวบางอย่างที่พวกเรายังดื่มกันไม่หมด เพื่อไม่ให้มันหนักกระเป๋าในตอนขากลับเกินไปนักพวกเราจึงตัดสินใจแบ่งๆ กันดื่ม คนละอึกสองอึก ของเหลวยังไม่หมดขวดแต่พวกเราก็หน้าแดง และวิงเวียนศีรษะกันไปคนละเล็กละน้อย (ถึงปานกลาง)

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

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

ไปขับรถดีไหม? -- ไม่ดีแน่! ผิดกฏหมาย และยังอาจทำลายชีวิตตัวเองและคนอื่น

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

ผมเปิดคอมพิวเตอร์ เริ่มต้นเขียนอะไรบางอย่างลงไป ผมคิดว่างานเขียนนี้แหละเป็นงานที่ต้องการสมาธิและความรอบคอบ ถ้าไม่เมาผมควรจะเขียนได้ดี แต่ถ้าเมาจริงคงเขียนไม่ได้แน่ เวลาผ่านไปสักพัก (ใหญ่ๆ) ผมได้สิ่งนี้ออกมา (ตัดมาเฉพาะบางส่วน, จัดบรรทัดใหม่เพื่อให้ประหยัดพื้นที่)
int b[MAXCELLS];
void merge(int* a, int l, int m, int r) {
int i1, i2, j;
i1 = l; i2 = m+1; j = l;
while (i1<=m && i2<=r) {
if (a[i1] < a[i2]) b[j++] = a[i1++];
else b[j++] = a[i2++];
}
while (i1<=m) b[j++] = a[i1++];
while (i2<=r) b[j++] = a[i2++];
for (j=l; j<=r; j++) a[j] = b[j];
}

void msort(int* a, int l, int r) {
int m = (l+r)/2;
if (l>=r) return;
msort(a,l,m); msort(a,m+1,r); merge(a,l,m,r);
}
จากการช่วยทดสอบโดยฆนัท (ซึ่งไม่ได้ดื่ม -- ส่วนจะเมาจากอย่างอื่นหรือเปล่าผมไม่ทราบ) พบว่าน่าจะเป็น merge sort ที่ถูกต้องพอสมควร ... ผมสรุปว่าตัวเองไม่เมา ;)

หมายเหตุ: เดิมทีผมตั้งใจจะเขียน quick sort แต่เพื่อนท้วงติงว่าผมเคยเขียนบ่อยแล้ว (เขากล่าวหาว่าผมท่อง code ได้) และเมื่อปาร์ตี้คราวที่แล้วผมก็เพิ่งเขียนไป ... ผมจึงเสนอเขียน merge sort (ซึ่งไม่เคยเขียนมาหลายปีแล้ว -- และแน่นอน ยังไม่เคยเขียนใน C) ในคราวนี้ และคราวหน้าผมจะเขียน heap sort บ้าง (หลังจากนั้นคงเป็น dijkstra's shortest path algorithm)

เช้าตื่นขึ้นมาปวดหัวเล็กน้อย ผมบอกเพื่อนๆ ว่าผมไม่เมา ผมพิสูจน์แล้ว แต่ดันไม่มีใครเชื่อ กลับใส่ร้ายป้ายสีหาว่าผม "เมาแล้วเนอร์ด" บ้าง "เมาแล้ว geek" บ้าง -- ล้วนแต่เป็นข้อกล่าวหาที่ไร้ความยุติธรรมโดยสิ้นเชิง (ผมไม่ได้เมา, ผมไม่ได้ nerd, ผมไม่ได้ geek ... จริงๆ นะ พับผ่า! จะต้องให้ผม implement อีกกี่ algorithms จึงจะเชื่อ?!)

อ้าว.. นอกเรื่องไปนาน ถึงไหนแล้ว? อ้อ! ถึงเมื่อคืนวันที่ 2 ม.ค.

วันที่ 3 ผมเที่ยว San Franฯ ต่ออีกวันแล้วบินกลับถึง Pittsburgh เช้าวันที่ 4 เนื่องจากทราบชื่อของผู้ที่จะโทรมาสัมภาษณ์าผมล่วงหน้า ผมจึงจัดแจงเตรียมตัวโดยการค้นหาประวัติและเว็บส่วนตัวของคุณ อาร์ทูโร่ เครสโป้ ... และแน่นอน อุปกรณ์ที่ผมใช้ค้นหาก็คือ google.com นี่เอง

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

โบราณว่า รู้เขา-รู้เรา รบร้อยครั้งชนะร้อยครา

วันที่ 6 ม.ค. 06 ก่อนเวลานัด 15 นาที ผมปิดห้อง, แปะป้าย "ห้ามรบกวน", ปิด msn, เติมน้ำเย็นเต็มแก้ว (เผื่อคอแห้ง), เตรียมดินสอ ยางลบ กระดาษทด เครื่องคิดเลข, ฯลฯ เรียกได้ว่าเตรียมพร้อมรอการสัมภาษณ์ทางโทรศัพท์ครั้งนี้อย่างเต็มที่

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

5 นาทีถัดมาคุณอาร์ทูโร่ก็โทรมา ขอโทษขอโพยใหญ่ว่างานยุ่งมากทำให้ลืมเวลานัด ผมยิ้ม (เขาไม่เห็นหรอกว่าผมยิ้ม -- แต่ยิ้มไว้ก่อน เผื่ออะไรๆ จะดีขึ้น) แล้วบอกเขาว่าไม่เป็นไร จะสัมภาษณ์เลยไหม เขาบอกว่างานเขายังยุ่งอยู่มากๆ อยากขอเลื่อนเป็นวันอื่น! อ้าว! ซะงั้น... ผมเสียเส้นเหมือนกันเพราะวันนี้อุตส่าห์เตรียมการมาแล้ว แต่ไม่เป็นไร ยังยิ้มได้ และตอบกลับไปว่า "ไม่มีปัญหาครับ สบายมาก เลื่อนเป็นวันไหนก็ได้ครับ ตามที่ท่านจะกรุณา"

วันนี้วันศุกร์ เขาขอเลื่อนเป็นวันจันทร์ที่ 9 ม.ค. ผมตอบตกลงแต่โดยดี

ผมวางหูโทรศัพท์ ทำหน้าบูดเบี้ยว ในใจก็แอบคิด "หรือว่านี่เขาไปสัมภาษณ์คนอื่นแทนซะแล้ว? หรือว่าจะมีคนอื่นที่เขาสนใจมากกว่าเรา?" -- น่าน! คิดอย่างกับคนขี้หึงซะแล้วเรา :P

"หรือบาปกรรมจะส่งผลทันใจ? ที่ผมซวยในวันนี้เป็นผลจากการที่ผมผิดศีลเมื่อคืนวันที่ 2 หรือเปล่านะ?" ผมคิดในใจ [เปล่าครับ ผมไม่ได้หมายถึงข้อสาม]

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

5 Comments:

  • At 12:19 AM, Blogger n* said…

    "เมื่อปาร์ตี้คราวที่แล้วผมก็เพิ่งเขียนไป ..." <<<< what *kind* of parties do you go to? ;)

    anyway, thanks for sharing this set of experience though. :) Definitely really useful. :D

    (PS.... 2 whole years of not having done any programming-related stuff, i'm really forgetting everything. :$)

     
  • At 5:17 AM, Blogger mock said…

    oh, noi

    hehe...it was just a normal party where people drank. but, u know, i was feeling like "am i drunk?" then "nah..i'm not" and then "how do i know? huh?"

    to answer myself i needed a proof, and just like this time, i coded, and i chose quicksort to code.

    it ran beautifully, so i concluded i wasn't drunk. actually i was never drunk (by this standard).

     
  • At 4:49 PM, Anonymous Anonymous said…

    haha... drunken code... hoho...
    You should change the subject to a blind date. :)

     
  • At 12:04 AM, Blogger keaw said…

    หมายเหตุ: เดิมทีผมตั้งใจจะเขียน quick sort แต่เพื่อนท้วงติงว่าผมเคยเขียนบ่อยแล้ว (เขากล่าวหาว่าผมท่อง code ได้) และเมื่อปาร์ตี้คราวที่แล้วผมก็เพิ่งเขียนไป ...

    หมายความว่านายเมาแล้วเขียนโปรแกรมใช่ป่ะ เฮอะๆ
    แต่ก็จริงอย่างที่คนอื่นว่า เราว่านายจำcode qsort ได้ว่ะ

     
  • At 3:56 AM, Blogger mock said…

    น้องวาว: ฮ่ะๆๆ บอกแล้วไงครับ พี่ไม่เคยเมา (วาวก็ไม่เคยเมาใช่ไม๊? -- ฮี่ๆๆๆ)

    พี่แก้ว: แหะๆ อะไรกันครับพี่ ผมเคยท่องอะไรได้ที่ไหน? -- "while สอง loops, if หนึ่งอัน, repeat ครอบ, recursiveๆ" (เอ ... นี่มันอะไร?)

     

Post a Comment

<< Home