https://www.facebook.com/photo.php?fbid=10155084469169337&set=a.10150294960069337.352558.621879336&type=3&theater

ความรู้สึกเมื่อได้มีโอกาสเป็น Speaker งาน Firebase Dev Day…

Kittisak Phetrungnapha
iTopStory
Published in
4 min readFeb 26, 2017

--

สวัสดีครับผู้อ่านทุกท่าน สำหรับบทความรอบนี้แหวกแนวมาหน่อยนึง เขียนจาก inner ของผมเอง โดยเมื่อวันเสาร์ที่ 25 กุมภาพันธ์ 2560 ทาง FirebaseThailand ร่วมกับ GDG Thailand ได้ร่วมกันจัดงาน Firebase Dev Day ขึ้นที่ตลาดหลักทรัพย์แห่งประเทศไทย ตึกใหม่ โดยเป็นงานสำหรับนักพัฒนาสาย Web, iOS, Android ซึ่งไม่อยากที่จะทำ Backend เองทั้งหมด ซึ่งเจ้า Firebase นี้ ก็ได้เข้ามาทำหน้าที่เป็น Backend as a Service (BaaS) แทนเรียบร้อยแล้ว สามารถอ่านสรุปเนื้อหาในงานได้จากบทความนี้ครับ เขียนไว้ค่อนข้างละเอียดทีเดียว

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

พอถึงช่วงสองสัปดาห์ก่อนที่จะประกาศรับสมัครรอบแรก 300 คน ทาง FirebaseThailand ก็ติดต่อมาว่า อยากให้ไปเป็น Speaker ในงานนี้ด้วยในฝั่งของ iOS เพราะ Firebase Dev Day เป็นงานที่ไม่ได้แบ่งแยกว่าจะต้องเป็น Android, iOS, หรือ Web นะ ทุก Platforms สามารถทำงานร่วมกันได้หมดโดยผ่าน Firebase ทางผู้จัดจึงอยากให้มี Speakers ครบทุก Platforms

ซึ่งเอาตรงๆ ตอนแรก ผมก็มีความลังเล กังวลใจ และกดดันสูงมาก เนื่องจากงานนี้เป็นงานที่ใหญ่ (มาก) ผู้ฟังส่วนใหญ่ก็เป็นนักพัฒนาที่มีประสบการณ์ค่อนข้างสูงอยู่แล้ว บวกกับรายชื่อ Speakers แต่ละท่านในงานนี้… ผมนี่อึ้งไปเลย มีแต่คนเก่งๆ เต็มไปหมด พอเห็นโปสเตอร์ด้านล่างนี้แล้ว ก็ยังนึกงงๆ ตัวเองว่า ตรูหลุดเข้าไปในนั้นได้ไงฟระ = =*

https://www.facebook.com/FirebaseThailand/photos/pb.548266378686903.-2207520000.1488087835./674437179403155/?type=3&theater

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

ซึ่งผมก็ได้เลือกหัวข้อเกี่ยวกับการทำ Firebase Authentication บน iOS ซึ่งเคยได้ลองจับๆ และเล่นๆ มันมาบ้างตั้งแต่ตอนที่ Google I/O 2016 เปิดตัว Firebase ขึ้นมา ก็เตรียม Demo project เตรียมสไลด์โน่นนี่ไปตามปกติ ก็คิดว่าพร้อมระดับนึงล่ะ แต่ปรากฏว่า… อ้าวต้องขึ้นไป code battle ใน session สุดท้ายอีกด้วยหรออออ กับ GDE Web และ GDE Android ส่วนตัวเราก็ทำในส่วนของ iOS… โดยต้องใช้ Firebase Authentication, Firebase Realtime Database, และ Firebase Storage ในการทำแอปแชทข้อความและรูปภาพ ขึ้นมาอย่างง่ายๆ ภายในเวลา 45 นาที… เครียดหนักสิครับ แต่ก็เหมือนเดิมอีกนั่นแหละ ก็ตอบตกลงไป ยังไงเราก็ได้เปรียบสุด มีแต่เท่าทุนกะกำไร ฮ่าๆ หลังจากนั้นก็นัดแนะมาซ้อม code battle กันครั้งนึง (ครั้งเดียวจริงๆ) โดยตอนนั้นทุกคนยังไม่ได้เริ่ม project code battle กันสักตัวเดียว (ยกเว้นผม ไปทำ Chat UI มาก่อนนิดหน่อย โดยใช้ JSQMessagesViewController ช่วยครับ) ภาพด้านล่าง คือ บรรยากาศที่ซ้อม code battle กัน พี่ๆ GDE ทั้งสองท่าน เก่งมากจริงๆ ผมเสร็จช้าสุดเลย TT

https://www.facebook.com/FirebaseThailand/photos/pb.548266378686903.-2207520000.1488087835./676262199220653/?type=3&theater

ซึ่งทางเราทั้งสามคนก็ตกลงกันว่า ยังไงก็ต้องทำ code snippets นะ เพราะเวลาน้อยมาก ถ้ามาพิมพ์โค้ดสด อาจจะใช้เวลาเยอะเกินไป ก็โอเค ก็ทำๆ กันไปตามปกติ เตรียมพร้อมตัวเองในส่วนที่จะเตรียมได้ โดยก่อนวันงานหนึ่งวัน ก็ได้มีการไปเตรียมสถานที่ ที่ตึก SET กันนิดหน่อย โดยลองต่อสี่จอขึ้นจอใหญ่เพื่อให้สามารถโชว์ได้ในตอน code battle

https://www.facebook.com/FirebaseThailand/photos/pb.548266378686903.-2207520000.1488087835./678433429003530/?type=3&theater

1 st Firebase Dev Day in Thailand

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

https://www.facebook.com/FirebaseThailand/photos/pb.548266378686903.-2207520000.1488087835./678742172305989/?type=3&theater

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

https://www.facebook.com/FirebaseThailand/photos/pb.548266378686903.-2207520000.1488087835./678772582302948/?type=3&theater

Firebase Authentication’s session

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

https://www.facebook.com/photo.php?fbid=10155084223044337&set=pcb.10155084223919337&type=3&theater
Firebase Authentication session

Firebase Code Battle

ถือว่าเป็นช่วง Highlight ของงานเลยทีเดียว นั่นก็คือ Firebase Code Battle ระหว่าง 3 Platforms (Web, iOS, Android) ซึ่งก็อีกนั่นแหละ ตื่นเต้นสุดๆ พิมพ์ไปมือก็สั่นไป เพราะขนาดมี code snippets มาช่วยแล้ว แต่พอขึ้นไปอยู่เวทีจริง คนดูก็เยอะ Android กะ Web ก็เบ้มใส่อีก เวลาก็น้อย ทำให้ลืม snippet keys อีก กว่าจะนึกออกแต่ละตัว เหมือนโดนสกิลสตั้นใส่ยังไงยังงั้นเลย แต่สุดท้ายก็ผ่านมาถึง step สุดท้ายได้ นั่นก็การ Sign out

https://www.facebook.com/photo.php?fbid=10209027500179841&set=a.1804912117726.2090335.1087560657&type=3&theater

Change role to sign out

อันนี้มี Gimmick นิดหน่อย โดยให้ทุกสลับที่นั่งกันเพื่อ implement feature sign out โดยผมไป Web พี่เอกไป iOS พี่ตั้งไป Android โดยทุกคนก็มีการเตี้ยม snippet ให้แต่ละคนเรียบร้อยแล้ว ต่อมาก็ให้เริ่มทำทีละคน พี่ตั้งผ่าน พี่เอกผ่าน และผมเป็นคนสุดท้าย ก็พิมพ์ keyword logout ตามที่พี่ตั้งบอกมา ผลลัพธ์แทนที่จะออกมาเป็น code ที่ใช้ logout ฝั่ง Web ได้ กลับกลายเป็น

คิดว่าจะให้ snippets จริงๆ หรอออออ

ณ จุดนั้น ผมพีคเลยครับ เอาแล้วไง ตรูโดนเล่นแล้ว ทุกคนหัวเราะกันทั้งห้องประชุมเลย พอหอมปากหอมคอแล้ว พี่เขาก็มาบอก keyword ที่ถูกต้องให้ว่า addlogout แต่ปรากฏว่าดันพังอีก ผลลัพธ์เลยออกมาเป็นดังภาพด้านล่าง

https://www.facebook.com/photo.php?fbid=10208663117041856&set=a.1095604516845.2014402.1428550061&type=3&theater

และก็ได้มีบทความด้านล่างนี้โผล่ขึ้นมาอย่างรวดเร็ว (เขียนไวมากพี่)

https://www.facebook.com/FirebaseThailand/photos/pb.548266378686903.-2207520000.1488090768./678865432293663/?type=3&theater

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

สุดท้าย

สุดท้ายนี้ก่อนจากกันไป ผมก็อยากจะขอบคุณทาง FirebaseThailand และ GDG Thailand อีกครั้งครับ ที่ให้ผมได้มีโอกาสดีๆ อย่างนี้ ถึงแม้มันจะตื่นเต้น กดดัน และก็เครียดมากๆ แต่สิ่งที่ได้รับกลับมานั้น มันช่างคุ้มค่ามากเหลือเกิน อยากฝากถึงท่านผู้อ่านทุกท่านเช่นกันนะครับ ว่าถ้ามีโอกาสอะไรก็ตามที่คิดว่ามัน “ใช่” เข้ามาในชีวิตเรา อย่าลังเลที่จะคว้ามันไว้ครับ เพราะมันอาจจะมาเพียงแค่ครั้งเดียวก็เป็นได้ ใครจะไปรู้ ดังที่พี่คนหนึ่งในบริษัทพูดให้ผมฟังบ่อยๆ ว่า

ทำแล้วเสียใจ ดีกว่าเสียใจที่ไม่ได้ทำ

สำหรับวันนี้ ลากันไปเท่านี้ก่อน พบกันใหม่ บทความหน้า สวัสดีครับ :)

ติดตามเรื่องราวต่างๆ ทั้งเทคโนโลยี มุมมองชีวิต การเรียนรู้ การใช้ชีวิต ได้ที่ https://www.facebook.com/itopstory/

--

--

Kittisak Phetrungnapha
iTopStory

I am a software engineer who fall in love to code, read, and write. :) itopstory.com