Category Archives: Life

Clojure กับการพิสูจน์ตัวเอง

ผมเคยมีปมในใจอยู่เรื่องหนึ่ง การหัดใช้งานภาษา Clojure จนอยู่ในระดับที่ใช้งานได้อย่างมั่นใจช่วยผมแก้ปมในใจนั้นได้

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

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

หลังจากที่ผมทำงานไปได้ซักพัก ผมเริ่มหาภาษาเขียนโปรแกรมอื่น ๆ มาศึกษา อันเนื่องมาจากเหตุผลหลายอย่างที่ขอยังไม่เล่าในตอนนี้เพราะเดี๋ยวจะออกนอกเรื่องไปไกล ตอนนั้นผมเลือกภาษา Scala เป็นภาษาที่ผมจะหัดเป็นภาษาต่อไป เพราะผมเคยเรียน Functional programming ด้วยภาษา Haskell มาบ้างสมัยเรียนในมหาวิทยาลัยซึ่งผมก็ไม่ค่อยเข้าใจหรอก ที่เลือก Scala เพราะตอนนั้นมันโฆษณาว่ามันเป็นภาษา hybrid ที่รวมทั้งแนวคิด Object-Oritend programming (OOP) และ Functional programming (FP) เข้าด้วยกัน ตอนนั้นผมคิดว่าการเอาสองแนวคิดมารวมกันมันต้องเจ๋งมากๆ เลย ภาษาที่เขียนได้สองแบบก็น่าจะได้เปรียบ ผมโหลดหนังสือ Programming in Scala เถื่อนมาปรินท์อ่าน cover to cover จนจบ เข้าใจบ้างไม่เข้าใจบ้าง พอจบแล้วผมเริ่มหาโจทย์มาหัดเขียน ตอนนั้นผมเลือกหัดเขียนเว็บ โดยผมศึกษา Lift ซึ่งเป็นเว็บเฟรมเวิร์คของ Scala ที่ดังในสมัยนั้น ผลปรากฏณ์ว่าไม่ประสบความสำเร็จ มันยากไป ผมไม่เข้าใจอะไรเลย

ผมไปโหลดวิดีโอสอน Haskell ของ Erik Meijer มาดูหวังว่าจะได้เข้าใจพื้นฐาน FP เพื่อจะเอาไปรวมกับความรู้ OO ที่พอมีอยู่บ้างอาจจะทำให้เข้าใจ Scala ได้มาขึ้น ผมดูวิดีโอถึงเรื่อง Functor แล้วผมก็รู้สึกว่าผมไม่เข้าใจเลย และก็หยุดดูไป

หลังจากนั้นผมได้มีโอกาสทำงานที่ใช้ภาษา Ruby ร่วมกับทีมที่ทำ pair programming กันเป็นประจำ ซึ่งทำให้ผมศึกษาภาษา Ruby ได้อย่างรวดเร็วมาก ตอนนั้นผมคิดว่าทำไม Rails มันเข้าใจง่ายกว่า Lift ขนาดนี้ เพียงแค่เวลาประมาณ 1 ปีผมรู้สึกว่าผมเข้าใจ Ruby มาก ๆ

เมื่อรู้สึกมั่นใจในการเขียนภาษา Ruby แล้ว ผมเริ่มมองหาภาษาต่อไปที่จะศึกษาอีกครั้ง ผมเห็น blog อันหนึ่งมีคนเค้าทดลองเขียนและเปรียบเทียบระหว่างภาษา Scala กับ Clojure ซึ่งในตอนแรกที่ผมอ่าน ผมมั่นใจว่าผลลัพธ์จะต้องออกมาเป็นว่า Scala ดีกว่าแน่นอน แต่ blog นั้นก็ทำให้ผมประหลาดใจเพราะในตอนท้ายผู้เขียนสรุปว่าเค้าชอบภาษา Clojure มากกว่า ตอนนั้นผมคิดว่าภาษา syntax ประหลาดนี่อะนะ ภาษาที่ใช้ syntax เหมือนภาษาที่เกิดตั้งแต่ 40-50 ปีที่แล้วนี่เหรอ จะดีกว่าได้ยังไง ภาษา paradigm เดียวจะดีกว่าภาษา 2 paradigm ได้ยังไง

จุดสำคัญต่อมาที่ทำให้ผมสนใจภาษา Clojure คือมันมีหนังสือที่ชื่อ Joy of Clojure ผมอยากรู้ว่าความ joy นี้มันเป็นอย่างไร แม้กระทั่งภาษา Ruby ที่เค้าบอกว่า optimize for programmer happiness ยังไม่เห็นมีคนเขียนหนังสือ Happy Ruby เลย แล้ว Clojure นี่มันจะ joy ได้ซักขนาดไหน ผมเป็นคนที่แสวงหาความสุขจากการเขียนโปรแกรมอยู่เสมอ อันนี้ก็ขอเก็บไว้เอาไปเขียนได้อีกเรื่องหนึ่งเหมือนกัน ผมตัดสินใจซื้อหนังสือ Joy of Clojure มาอ่าน(รอบนี้ผมซื้อแล้ว😄) ผมอ่านไปได้ประมาณ 1 บทและเปิดข้าม ๆ จนจบเล่ม ผมหาความ joy ไม่เจอ ผมไม่เข้าใจความ joy ของ Clojure ผมไม่เข้าใจ Clojure

ลองนึกย้อนกลับไป ผมพบว่าผมไม่เคยหัดเขียนภาษาไหนได้ประสบความสำเร็จด้วยตัวเองเลย ตั้งแต่ VB, Scala, Haskell มาจนถึง Clojure ภาษาที่ผมเขียนได้อย่างมั่นใจมีแต่ภาษาที่มีคนสอน* อย่างเช่น Java กับ Ruby ผมไม่มีความสามารถในการศึกษาหาความรู้ด้วยตัวเองเหรอ ผมอิจฉาหลาย ๆ คนที่ผมมีโอกาสได้รู้จัก เค้าเหล่านั้นเปลี่ยนอาชีพมาเป็นโปรแกรมเมอร์ทั้ง ๆ ที่ไม่ได้เรียนจบสายคอมพิวเตอร์มา เค้ายังทำได้และเป็นโปรแกรมเมอร์ที่เก่งอีกด้วย ผมทึ่งและอิจฉาในความสามารถของคนกลุ่มนี้มาก ไม่ใช่แค่เรื่องเขียนโปรแกรมเพียงอย่างเดียวผมยังชื่นชมคนที่หัดทำสิ่งยาก ๆ ด้วยตัวเอง (self learner) อย่างอื่น อย่างเช่นการหัดเล่นเครื่องเล่นดนตรีอีกด้วย ผมอยากทำแบบนี้ได้บ้าง ผมอยากพิสูจน์ได้ว่าตัวผมมีความพร้อมที่จะใช้ชีวิตบนโลกนี้ต่อไป โดยไม่ต้องรอให้ใครมาป้อนอะไรให้ ผมอยากที่จะสามารถหัดและทำในสิ่งที่ผมอยากทำ อยากรู้ได้ด้วยตัวเอง

ผมจึงตัดสินใจใช้ภาษา Clojure เป็นการพิสูจน์ตัวเอง เนื่องจากมันมีความต่างและผมรู้สึกว่ามันยากเพียงพอที่ถ้าผมทำได้สำเร็จผมจะมั่นใจว่าผมไม่ได้โกงโดยการเอาสิ่งง่าย ๆ มาหัด ผมซื้อหนังสือ Programming Clojure มาอ่าน ผมทำแบบฝึกหัด 4clojure ซึ่งเป็นแบบฝึกหัดที่ทำให้ผมเริ่มมองเห็นความ joy ในภาษา Clojure โดย ณ เวลานั้นผมชอบเขียนภาษา Ruby มาก หนึ่งในฟีเจอร์ของ Ruby ที่ผมชอบมากที่สุดคือ การใช้งานเมท็อดต่าง ๆ ใน class Enumerable เช่น map, select, inject, group_by และอื่น ๆ อีกมากมาย ซึ่งจริงๆ แล้วมันคือ กลุ่มของเมท็อดที่ได้รับอิทธิพลมาจาก FP ที่พอได้มาทดลองแก้ปัญหาใน 4clojure แล้ว พบว่าสิ่งที่ผมชอบใน Ruby มันเก่งยิ่งกว่าขึ้นไปอีกบน Clojure  ทุกอย่างสั้น กระชับ และเชื่อมต่อกันได้อย่างแนบเนียนมาก และผมก็ติดใจภาษา Clojure ตั้งแต่นั้นเป็นต้นมา

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

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

Sandi Metz at Keep Ruby Weird 2015 – Be Yourself

“In order to make a best group we can be, then each of you have to act as you are the only one here.”

งานนี้ Sandi Metz เป็น keynote speaker เลยไม่ได้พูดเรื่องโค้ด แต่พูดในลักษณะให้แนวคิดแก่ community และเซต theme งาน

เธอเล่าถึงการทดลองเกี่ยวกับพฤติกรรมมนุษย์ 3 ชิ้น
Asch conformity experiments, Milgram experiment, Latané and Darley(Bystander effect)

แนะนำให้ใส่หูฟังๆ เพราะคุณภาพการอัดเสียงของ video นี้ไม่ค่อยดีเท่าไหร่

ต่อไปนี้จะเป็นการ spoil สิ่งที่ Sandi สรุปจากการทดลอง ดู/ฟังการทดลองก่อนจะสนุกกว่านะครับ

จาก Asch:

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

จาก Milgram:

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

จาก Latané and Darley

  • ถ้าต้องการให้ไม่มีใครตอบสนองคำขอร้อง ให้ขอโดยตรงจากกลุ่ม
  • ถ้าต้องการให้มีคนตอบสนอง ให้ขอไปที่คนโดยตรง

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

“Not conforming with the Group. Be yourself.”

ผมกับ Amazon Customer Service

กำลังมีปัญหาสั่งของจาก taobao แล้วยังไม่ได้รับ เลยทำให้นึกถึงเหตุการณ์ที่นี้ที่เกิดขึ้นเมื่อ 2 ปีที่แล้ว ช่วงนั้นผมมีโอกาสได้ไปทำงานจากอ๊อฟฟิศของบริษัทที่ซานฟรานซิสโกเป็นระยะสั้น ๆ เพื่อนร่วมงานของผมที่สิงคโปร์ฝากผมซื้อ Kindle และเอากลับไปให้เค้า ด้วยเหตุผิดพลาดนิดหน่อยจึงทำให้ผมได้มีปฏิสัมพันธ์กับฝ่ายบริการลูกค้าของ Amazon อย่างน่าสนใจ เลยอยากจะจดและเล่าให้ฟังก่อนจะลืมมันไปมากกว่านี้ โดยเนื้อหาส่วนมากนำมาจาก email โต้ตอบกันที่ผมยังเก็บไว้อยู่บวกกับสิ่งที่ผมจำได้ อาจจะมีคลาดเคลื่อนและผิดพลาดไปบ้างนะครับ

ผมซึ่ง ณ​ ตอนนั้นไม่มีบัตรเครดิตได้ไปซื้อ Amazon Gift Card และใช้ในการสั่ง Kindle โดยให้มันไปส่งที่อ๊อฟฟิศเพราะบางช่วงเวลาที่ไม่อยู่ที่ที่พักจะไม่มีคนรอรับของ

วันที่ 17 ก.ค.
ผม: สั่ง Kindle ผ่านทางเว็บไซต์ของ Amazon

วันที่ 18 ก.ค.
ระบบ Amazon: แจ้งว่าของได้ถูกส่งออกแล้ว

วันเสาร์ที่ 20 ก.ค.
ระบบ Amazon: แจ้งว่าของได้ถึงมือผู้รับแล้ว

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

วันจันทร์ที่ 22 ก.ค.
ผมไปถึงอ๊อฟฟิศแล้วไม่พบของ ถามใครก็ไม่เห็นผมเลยทำการโทรไปที่ Amazon Customer Service ต่อไปนี้ขอเรียกย่อ ๆ ว่า ACS นะครับ
10:?? – ผม: โทรไปหา Amazon จำเนื้อหาที่คุยไม่ได้ แต่เค้าบอกให้ลองเช็คจากเว็บไซต์ของผู้นำส่งคือ USPS (ไปรษณีย์สหรัฐฯ) ดู
10:58 – ผม: เข้าไปที่ support website ของ Amazon เพราะว่ารอบแรกรู้สึกว่าคุยไม่รู้เรื่อง ถ้าพิมพ์เอาน่าจะง่ายกว่า ผมบอกเค้าไปว่าทางเว็บไซต์ของ USPS บอกว่าของส่งถึงมือผู้รับแล้ว
11:25 – ACS: ส่ง email มาสรุปการสนทนาทางโทรศัพท์ และบอกผมมาว่าให้ผมรอของถึง 5 โมงเย็น ถ้าไม่ได้รับเค้าจะทำการ refund ให้
13:17 – ACS (คนละคน): ตอบที่ผมเข้าไปถามในเว็บไซต์บอกว่าในกรณีนี้เค้าคิดว่าของน่าจะหายแล้ว เค้าตั้งใจจะส่งของมาให้ใหม่แต่พบว่าที่อยู่ของผมมีการเปลี่ยนแปลง* เค้าจึงทำการ request สำหรับการ refund ให้แล้วโดยจะใช้เวลา 2 – 3 วัน ถ้าสั่งใหม่แล้วอยากได้ ship ด่วนใน 1 วันฟรี ให้กดลิงค์นี้…

*ช่วงที่ผมหาของไม่เจอ ผมไป update address นิดหน่อยตรง zipcode โดยแก้ไข block code (code ประจำช่องถนน) จำไม่ได้ว่าทำให้ละเอียดขึ้นหรือลดออก (เข้าใจว่าไม่ต่างกัน)

13:33 – ผม: ตอบเค้ากลับไปว่าผมไม่อยากได้ refund เพราะไม่รู้ว่าจะได้เมื่อไหร่ และกำลังจะออกนอกประเทศในวันที่ 27 แล้วกลัวจะสั่งใหม่ไม่ทัน ช่วยส่งเป็นของใหม่มาให้เลยได้มั้ย ตามที่อยู่ที่เขียนไปให้นี้
15:11 – ระบบ Amazon: แจ้งมาว่า refund สำเร็จ*

*ตรงนี้ผมเข้าใจว่าเพราะเป็น gift card เลยทำการ refund ได้เร็วมาก

15:26 – ผม: ผมตอบกลับไปว่าผมได้รับ refund แล้ว สั่งใหม่ไปแล้วด้วย ไม่ต้องการ ship ฟรี 1 วัน (เพราะตอนนั้นอยู่ในช่วง trial  ของ Amazon Prime ได้ของเร็วอยู่แล้ว)
16:17 – ACS: ตอบผมกลับมาว่า refund ไปแล้ว แก้ไขไม่ได้ให้ผมสั่งใหม่เอง
18:32 – ACS: ตอบกลับมาว่า รับรู้ว่าผมได้รับการ refund และสั่งใหม่แล้ว

วันอังคารที่ 23 ก.ค.
ช่วงสาย ๆ จำเวลาแน่นอนไม่ได้ เพื่อนร่วมงานผมเอา Kindle มาให้บอกว่ามันอยู่ในตู้ไปรษณีย์บริษัท*

* ด้วยความที่ Kindle มันเล็กมากจนใส่ในกล่องไปรษณีย์ของบริษัทประจำตึกได้ (อยู่ในห้องที่รวมตู้รับจดหมาย ๆ ของคนที่อยู่ในตึกนั้น) คนส่งซึ่งเป็นไปรษณีย์ของสหรัฐฯจึงสอดไว้ในตู้เลย

14:11 – ผม: ติดต่อไปที่ support ว่าเจอของแล้ว ขอให้ cancel order ใหม่และไม่ต้อง refund ให้ผมด้วย
17.07 – ACS: ตอบมาว่าไม่ทันแล้วของออกไปแล้ว ก็แค่ไม่ต้องรับของ ของก็จะกลับไป

วันพุธที่ 24 ก.ค.
10:54 – ผม: ตอบกลับไปว่าผมได้ refuse ของตามที่แนะนำแล้ว
11:27 – ACS: ตอบกลับมาว่าโอเค ได้ทำการ refund ให้แล้ว
11:32  – ผม: ตอบกลับไปว่าผมไม่ต้องการ refund ไปอ่านดูการสนทนาก่อนหน้านะ
12:55 – ACS: ตอบกลับมาว่ายกเลิกการ refund แล้ว

เรื่องราวเหมือนจะจบลงแค่นี้ แต่แล้ว

วันที่ 10 ส.ค.
8:55 – ระบบ Amazon: ได้รับของที่คุณคืนมาแล้ว จะทำการ refund ให้
9:25 – ระบบ Amazon: ทำการ refund เรียบร้อย

ผม: Orz

โดยความขี้เกียจที่ต้องไปค้นข้อมูลการสนทนาออกมาอธิบาย และอีกส่วนนึงก็คิดว่าจนถึงตอนนี้ผมคงใช้ค่าแรง man hour ของทีม support ของ Amazon เกินกว่าราคาเครื่อง Kindle ประมาณ $100 ไปแล้ว ถ้ายิ่งตอบกลับไปอีกก็ยิ่งเสียเวลาเค้าไปอีก ยิ่งถ้าเรา request เข้าไปด้วยเหตุการณ์แปลกๆ ที่เค้าไม่เคยเจอเค้าก็จะทำอะไรผิดพลาดเสียเวลาไปกันใหญ่ ผมก็เลยเก็บเครดิตนั้นไว้ แล้วก็เอาไป shopping ของอื่นซะเลย 😀

สิ่งที่ผมได้เรียนรู้จากเรื่องนี้

  • Support policy ของ Amazon สร้างความมั่นใจให้แก่ลูกค้าได้ดีมาก
  • ระบบ support ของเค้ายังมีช่องโหว่อยู่ พอมีหลายคนสลับกันมา อ่าน/ตอบ issue ทำให้เกิดความสับสน โดยเฉพาะการเจอ case แปลกๆ อย่างเช่น การคืนของและไม่ขอ refund

ความเท่าเทียม

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

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

แต่หลังจากนั้นผมก็ได้มีโอกาสฟัง podcast สองอันนี้ ทำให้ผมเข้าใจอะไรมากขึ้น
http://devchat.tv/ruby-rogues/101-rr-diversity-with-ashe-dryden,
http://devchat.tv/ruby-rogues/179-rr-accountability-and-diversity-with-meagan-waller

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

เรื่องหนึ่งที่เค้ากล่าวถึงใน podcast ที่ผมคิดไม่ถึงเลยคือ วิธีการตัดเตือนคนที่ใช้คำพูดไม่เหมาะสมอาจจะเพื่อความสนุกเฮฮาหรืออย่างไรก็ตาม เค้าเล่าว่าเราไม่ควรพูดกว่า “คุณไม่ควรพูดอย่างนี้นะ เพราะมีผู้หญิงอยู่ที่นี่ด้วย มันทำให้พวกเธออึดอัด” แต่เราควรพูดว่า “คุณไม่ควรพูดอย่างนี้นะ เพราะมันทำให้ผมไม่ชอบ” ผู้หญิงจะรู้สึกไม่ดีหากเราใช้คำพูดตัดเตือนด้วยวิธีแรก เพราะเธอไม่อยากเป็นคนที่ถูกมองว่าเป็นตัวการที่ทำให้คนอื่นไม่สนุก

แม้กระทั่งผู้หญิงที่เคลื่อนไหวด้านความเท่าเทียม เค้ายังออกมายอมรับว่าบางครั้งเค้าก็ตัดสินคนอื่นจากภายนอกเช่นกัน เค้าเล่าให้ฟังว่าตอนที่เค้าเจอผู้หญิงที่แต่งตัวสวยๆในงาน meetup เค้าคิดทันทีว่าผู้หญิงคนนั้นต้องไม่ใช่ developer แน่ๆ ต้องเป็น recruiter หรือ project manager แน่ๆ แล้วเค้าก็พบว่าเค้าคิดผิด ผู้หญิงเป็นคนนั้นเป็น developer ที่มีประสบการณ์มากกว่าเขาเสียอีก ผมได้ยินเรื่องนี้มาจาก podcast อันนี้ https://thechangelog.com/146/

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

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

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

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

ผมยังอ้อนด้อยนักได้เรื่องนี้ หากโพสนี้ทำให้ใครต้องไม่พอใจ ผมใช้คำพูดใดไม่เหมาะสม ขอให้แนะนำมานะครับ

คุณพร้อมจะสู้กับความยากลำบากใดในชีวิต

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

ผมมีโอกาสได้อ่าน  blog The Most Important Question in Your Life เค้าเสนอแนวคิดว่า แทนที่จะถามคำถามว่าอยากมีชีวิตอย่างไร ให้ถามว่าพร้อมที่จะเหนื่อย พร้อมที่จะลำบากกับสิ่งใด สิ่งใดที่เราอยากได้แต่เราไม่พร้อมที่จะลำบากเพื่อแลกมันมาถือว่าไม่มีความหมาย ความยากลำบากที่เราพร้อมจะเผชิญเหล่านั้นจะเป็นหนทางสู่ความสำเร็จ

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

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

ได้ยินเรื่องนี้มาจาก Ben Orenstein ในช่วงท้ายบทสัมภาษณ์ของเค้าที่ The Cognicast EP 075

ออกกำลังกายทำให้มีเวลาเยอะขึ้น

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

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

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

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

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

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

เรื่องมันเริ่มต้นจาก Avdi Grimm หนึ่งใน panel ของรายการได้เขียน blog เกี่ยวกับ Passion ซึ่งก่อให้เกิดการถกเถียงกันในวงกว้าง 2 blog นี้

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

คำว่า Passion ที่หากค้นความหมายจาก dictionary จริงๆ จะพบว่าหมายถึง ความรู้สึกอย่างแรงกล้ามากๆ ในระดับที่ทำให้เราเสียใจเจ็บปวดอย่างมาก พบว่าถูกใช้บ่อยๆ ในประกาศรับสมัครงาน เช่น เราต้องการโปรแกรมเมอร์ที่มี passion ซึ่ง Avdi กลับเห็นว่าตัวเค้าเองเป็นคนที่ชอบเขียนโปรแกรมอย่างมาก แต่ไม่ได้มีความชอบมากถึงในระดับที่ทำให้เสียใจขนาดหนักได้ ต่างกับสิ่งที่เค้ามี passion คือ ครอบครัว ภรรยา และลูกๆ ที่เค้าพร้อมจะทุ่มเททุกอย่างให้ เค้ามองว่าเค้ามี passion ในเรื่องครอบครัว แต่เค้าเพียงแค่มี enthusiasm in programming

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

Continue reading