Fanboi Channel

มิตรสหายนักพัฒนาซอฟต์แวร์ท่านหนึ่ง

Last posted

Total of 364 posts

1 Nameless Fanboi Posted ID:ZcCGcY0t+a

แตกมาจากกระทู้ มิตรสหายท่านหนึ่งในห้อง lounges
แต่อันนี้สำหรับ Software Developer

เริ่มจากอันนี้

ชอบอันนี้

มีประเด็นอยากพูดถึง คือ Pinterest เขาใช้ Kafka ซึ่งก็ถือว่าเป็นระบบที่ส่วนตัวผมคิดว่าเสถียรมากๆ แล้ว แต่สุดท้ายก็ไปเจอปัญหาว่า เวลาส่งข้อมูลจาก App ไป Kafka อาจเกิดเหตุการณ์ที่ว่า App ติดต่กับ Broker ไม่ได้ (อาจจะตายจริงหรือ Network connection หรืออะไรก็ตามแต่) ซึ่งทำให้เกิด Data loss ขึ้น

ขั้นแรกเขาก็ทำ Buffer ไว้ ถ้าสมมติติดต่อกับ Broker ไม่ได้ ก็เอาของที่เคยคิดว่าจะส่งให้ Kafka เก็บไว้ใน Memory ของ App ก่อนนะ พอมันติดต่อกับ Broker ได้เมื่อไหร่ค่อยส่งไปทีเดียว

ปัญหาที่ตามมาก็คือ Buffer เต็มเพราะ Memory มีจำกัด สุดท้ายเขาก็แก้โดยการ Write ลง Disk ซะเลย

ประเด็นที่น่าคิด

- Tools ไม่ได้แก้ปัญหาได้ทุกอย่างในโลก ใช้ Kafka ไม่ได้แปลว่าคุณได้ Relliablility & Scalability โดยอัตโนมัติแต่อย่างใด นี่ก็ต้องไปสร้าง Layer บน Kafka อีกทีเพื่อกันเรื่อง Data loss สิ่งที่น่าสนใจคือ การอ่านเขียนลงไฟล์สดกับ Kafka มัน Performant เท่ากันมั้ย อะไรจะกลายเป็น Bottleneck ในกรณีไหน (ผมใบ้ให้ว่าไม่เท่ากัน แต่มีจุดคุ้มทุนทาง Performance ต้องเข้าใจด้วยว่า Kafka มันเล่นไปจนถึงระดับระบบไฟล์ที่ทำไงให้ Seek disk ได้เร็วเลย เขียนอ่านไฟล์ธรรมดา "อาจจะ" สู้ไม่ได้ในกรณี 1-1 วัดกัน)

- เขาเลือกที่จะ Write buffer ลง Disk ซึ่งช้ากว่า Memory การอ่านกลับมาจากดิสก์ซึ่งช้ากว่า Memory ทำให้เกิด Lag time ระหว่าง Application กับ Message Queue มากขึ้น ทำให้ข้อมูลกระจายไปแต่ละส่วนในระบบช้าลง ถ้าในบริบทของ Pinterest ก็เป็นไปได้ว่าเรา Pin สิ่งนึงแต่ของคนอื่นกว่าจะขึ้นเห็นของที่เรา Pin ก็กินเวลาไปบ้าง ไม่ต้องนับเรื่องการเก็บ Stats ซึ่งช้าและไม่ Real-time เท่าเดิม นี่คือ Trade-off ที่เกิดแน่ๆ กับการเลือกทางนี้ ทำไมเขาถึงเลือก Trade-off แบบนี้ผมก็ไม่ทราบ แต่ก็เป็นเรื่องฝากให้คิดว่าทุกอย่างบนโลกมี Trade-off

- ทำไมระบบแบบนี้เกิด Data loss ไม่ได้จนต้องลงทุนขนาดนี้? นี่คือลงทุนให้ Data propagate ช้าลงซึ่งอาจจะกระทบ User experience ได้ด้วยซ้ำ เขาทำที่ Layer ไหนของระบบที่ Data เสียไม่ได้แล้ว

- ข้อสังเกต: ทำไม Buffer ไว้ใน Memory ถึงมีปัญหา Buffer เต็มได้ นั่นสะท้อนว่า Data loss "เคย" เกิดขึ้นเยอะมากระดับนึง มีปัญหาติดต่อ Broker ไม่ได้เยอะประมาณนึง พอคิดได้แบบนี้แล้วสิ่งที่ต้องถามต่อมาคือ อัตราการ Failed ของ Broker มันเยอะขนาดไหนกันนะ มันปกติหรือผิดปกติ แล้วจริงๆ สิ่งที่ Pinterest ทำมันเมคเซนส์มั้ย นี่คือ Workaround ที่ถูก หรือควรจะไปสืบหาต้นตอว่าทำไม Broker failed บ่อยขนาดนั้น? ผมตอบไม่ได้นะ บางทีมันอาจจะเป็นปกติอยู่แล้ว แต่อันนี้ให้ดูไว้ว่าเวลาดูงานพวกนี้ด้วย Critical thinking มันไม่ควรจะเชื่อถือไปเลยเพียงเพราะเขาเป็น Pinterest หรือบริษัทใหญ่

ประเด็นที่อยากสื่อทีสุดคืออันแรกนั่นแหละ อย่าโดนขายของด้วย Tool จนขาดความสามารถในการเข้าใจ System at Scale เพราะสุดท้ายคุณอาจจะต้องทำแบบ Pinterest ก็ได้นะที่ต้องทำอะไรบางอย่างเพื่อสู้กับ Trade-off ของตัว Tool เอง

2 Nameless Fanboi Posted ID:5xftt4MgqF

คำถามยอดฮิต จะเป็น Data Scientist จะเรียน Operations Research (แบบแป้ง) หรือจะเรียน Computer Science (แบบน้องเปรียว Senior Data Scientist ของ Coraline) ดีนะ

ตอบแบบนี้นะคะ

บอกก่อนว่า ทั้งสองศาสตร์ สามารถเป็น Data Scientist ได้เหมือนกัน แต่ทำงานได้ไม่เหมือนกันค่ะ

OR จะเป็นการ Applied Math เพื่อให้เข้ากับ Process ของปัญหา และกลั่นกรองออกมาเป็นสมการ หรือ Model เพื่อนำไปวิเคราะห์ด้วยคอมพิวเตอร์ต่อไป

Com Sci เป็นศาสตร์ที่เรียนเพื่อเข้าใจกระบวนการของ Computer โดยมีโจทย์ให้ แล้วประยุกต์ใช้ Computer ในโจทย์นั้นๆ

((ความเป็นจริงแล้ว ใน OR เอง และ Com Sci เอง ก็มีแขนงแยกออกมาอีกมากมาย เอาไว้แป้งจะเล่าให้ฟังในครั้งต่อไป))

คราวนี้ กลับมาตอบว่า จะเรียน OR หรือ Com Sci ต้องถามตัวเองค่ะ

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

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

สำหรับแป้ง ใน Coraline แป้งจะบอกทีมงานเสมอว่า ทุกคน "เท่าเทียมกัน" ไม่มีใครโดดเด่นกว่าใคร ทุกคนต่าง "โดดเด่น" เหมือนๆ กัน

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

แต่ ด้วยความที่ ส่วนตัวแป้งมองว่า อาชีพ Data Scientist เป็นอาชีพที่เสี่ยงตกงาน ในวันที่ AI เข้ามาครองโลก

ดังนั้น แป้งวาง Career Path ของแต่ละคนไว้ต่างกัน

OR จะเหมาะกับสาย Business ด้วย นอกจากต้องเรียนรู้การสร้าง Model ก็ควรจะเรียนรู้งานด้าน Business เพื่อสามารถตีโจทย์ให้ออก

Coder หรือ Com Sci ควรแบ่งร่างส่วนหนึ่ง เรียนรู้ส่วนงานอื่นที่เกี่ยวข้อง เช่น Com Engineer, Software Developer, UX/UI หรือ Application ต่างๆ

อย่างไรก็ตาม การที่คุณจะมี Degree ที่ 2 ได้ จงทำ Degree แรกของคุณให้เข้มแข็ง เพราะใน 1 วัน มีเพียง 24 ชั่วโมง ทั้งหมดทั้งปวง อยู่ที่การ "บริหารเวลา" ที่ดี

สุดท้ายนี้ จะเป็น OR หรือ Com Sci ก็แล้วแต่ความถนัดของแต่ละคน

ที่สำคัญที่สุด "ทุกคน.... เท่าเทียมกัน"

3 Nameless Fanboi Posted ID:R0vni+UmZe

เตือนภัย.โปรแกรมเมอร์ทีม.
แก้งค์ขโมย ฟอก source ผู้อื่น แห่งยุค
ท่ามกลางความเงียบ
ขณะที่คุณกำลัง coding ในทีมสุดเลิฟของคุณอยู่นั้น
รู้ตัวบ้างหรือป่าวถึงมหันตภัยเทียบเท่าชีวิตคุณว่า
มีบางคน บางกลุ่ม กำลังขโมย กำลังทำการฟอก
source ของคุณ ทำการศัลยกรรมใหม่
ไปเป็นของตัวเองสำเร็จ
หลังจากนั้น
เมื่อชีวิตต้องอาศัย coding เลี้ยงชีพ
ทั้งชีวิตของท่านนั้น ผลงานกว่า20ปีของท่านนั้น
จะปรากฎอยู่ที่เก้าอี้ตัวไหน?

4 Nameless Fanboi Posted ID:B507mX.k7y

ทำไมนักพัฒนาซอฟต์แวร์ต้องคุยกับคนอื่นไม่ค่อยรู้เรื่องครับ ยกตัวอย่างกระทู้นี้ เปิดกระทู้ได้สมกับเป็นนักพัฒนาซอฟต์แวร์ดี

5 Nameless Fanboi Posted ID:w8KZTt1Zzy

ลองติดตามคนนี้ดูครับ เห็นว่าเป็นเจ้าของเว็บที่มีชื่อเสียงแห่งหนึ่ง
https://mobile.twitter.com/gridth1

6 Nameless Fanboi Posted ID:q.Gd.MC0Bn

>>4 โปรแกรมเมอร์ไม่ได้คุยกับคนอื่นไม่รู้เรื่อง คนอื่นต่างหากที่คุยกับโปรแกรมเมอร์ไม่รู้เรื่อง

7 Nameless Fanboi Posted ID:6JEHn+xPZv

สวัสดีครับ วันนี้มาแชร์ประสบการณ์ตัดขาดกับลูกค้ารายแรกครับ

[tl;dr]
ลูกค้ารายแรก
อยากได้แอพเซต wallpaper ติดโฆษณา
ทำให้ทุกอย่าง
คิด 2500
ส่งมอบครบจบ
มีคำถาม ผมตอบ
ถามอีกเรื่อย ๆ ผมตอบบ้าง
เริ่มไม่ใช่คำถามเกี่ยวกับงาน ผมตอบบ้าง(แต่ไม่อยากตอบแล้ว!)
ลูกค้าไม่เข้าใจ ทำแล้ว error เขียนโค้ดไม่เป็นแต่อยากทำเอง
ผม....(ปัจจุบัน).... จึงตอบกลับไปว่า:
{
เอ่อคือ ก่อนอื่น ต้องขอโทษก่อนเลยนะครับ

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

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

ถ้าจะทำแอพลงสโตร์เพื่อเอาค่าโฆษณาในแอพแล้วไม่คิดจะทำต่อไม่อัพเดทอีกเลย รอกินตังค์อย่างเดียว ... นั่นไม่ใช่วิถีนักพัฒนาครับ อย่างน้อยก็ไม่ใช่ที่ครูสอนผมมา

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

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

สรุป
หยุดถาม "อะไรที่เกินขอบเขตงานผม" หรือ "อะไรที่มันหาวิธีแก้เองได้" ได้แล้วครับ
กรุณามีความเกรงใจในการถามด้วย
ผม ไม่ รับ สอน เขียน โปรแกรม ครับ

ขอบคุณครับ
}

ขอบคุณที่อุตส่าห์อ่านจนจบครับ
สุดท้ายนี้ คิดว่าถ้าเป็นทุกท่าน จะทำอย่างไรครับ? 😶

8 Nameless Fanboi Posted ID:mYgwFGAlSh

>>7 ให้เบอร์ติดต่อ คาสโต๊ด

9 Nameless Fanboi Posted ID:m+hQ2LUtM.

>>8 เป็นการแก้แค้นที่ดีครับ น่าสนใจมาก 👍👍👍

10 Nameless Fanboi Posted ID:n502njM+Nk

หลายคนสงสัยว่าจะเขียนโค้ดได้ต้องเก่งคณิตศาสตร์ด้วยหรือเปล่า ก็แล้วแต่เป้าหมายของเราครับ ถ้าต้องการหางานทำในบริษัทชั้นนำของไทย มีความรู้คณิตศาสตร์ในชีวิตประจำวันก็เพียงพอแล้วครับ เช่น ซื้อของ 250 บาท ลด 30% เหลือกี่บาท หรือ ฝากเงิน 10,000 บาทในธนาคารได้ดอกเบี้ยคงที่ 1.65% ผ่านไป 3 ปีจะมีเงินกี่บาท ถ้าสามารถแก้ปัญหาพวกนี้ได้ก็หางานประจำทำได้ในบริษัทชั้นนำแล้วครับ

แต่ถ้าอยากเขียนโค้ดเก่งระดับโลก อยากทำงาน Google, Facebook หรือ CERN, UN ต้องมีพื้นฐานที่แข็งแกร่งนั่นคือ Discrete Mathematics ครับ หนังสือเล่มนี้ Professor จาก Cornell แจกฟรีครับ

https://www.cs.cornell.edu/~rafael/discmath.pdf

11 Nameless Fanboi Posted ID:zq7l+Uk8mM

>>10 ขอบคุณครับ โม่ง โค้ดสตา

12 Nameless Fanboi Posted ID:wuxoIlAZeO

>>11 ด.. เดี๋ยวนะ
รู้ได้ยังไงว่าโพสต์ใน >>10 มาจาก โค้ดตา

13 Nameless Fanboi Posted ID:gyKi2NYqHq

ช่วงนี้กำลังเมามันกับ approximation algorithms มาก เพื่อน ๆ อาจสงสัยว่ามันคืออะไร

ยังงี้ครับ สมมติว่าในโรงงาน เราต้องการที่จะหาค่าใช้จ่ายที่ตำ่ที่สุด แต่หาไม่ได้ “ง่าย” ๆ เราจะทำอย่างไรนะครับ approximation algorithms เป็นวิธีที่ให้คำตอบที่การันตีได้ว่าไม่เกินเท่าไร (เช่น ไม่เกิน 2 เท่า) ของค่าใช้จ่ายที่ตำ่ที่สุดได้นะครับ

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

วิธีอื่น ๆ ที่ใช้แก้ปัญหาประเภทนี้ (optimization problems) ไม่สามารถให้การันตีได้นะครับ

วิชานี้ไม่มีสอนในเมืองไทย (เท่าที่ทราบ) แต่สามารถเรียนได้จาก MIT OCW ครับ

หากใครชอบอะไรแบบนี้ ผมแนะนำให้เรียน online algorithms กับ competitive analysis ด้วยครับ อันคือ approximation algorithms ที่ไม่รู้ข้อมูลเข้าทั้งหมดล่วงหน้าครับ ยังไม่มีสอนในเมืองไทยเช่นกัน แต่มีสอนที่ MIT OCW ครับผม

14 Nameless Fanboi Posted ID:o.ilz+WDyC

>>12 กุอ่านแค่บรรทัดแรกก็รู้ละ สัส แม่งโครตแพทเทิน

15 Nameless Fanboi Posted ID:m5g1epnkA7

>>14 กูนึกว่ามึงเล่นมุก 555

16 Nameless Fanboi Posted ID:mgwUZWNEzZ

>>13 นี่ก็โค้ดดาวป่ะ เห็นแปะแม่งซะเกือบครบทุกห้องเลย

17 Nameless Fanboi Posted ID:9Zal2CDsdp

>>16 มันเอาทวิตของ sirn มาฟลัดกวนตีนพนอื่น

18 Nameless Fanboi Posted ID:NQoefvtUi2

เขียนโค้ดเป็นอาจจะพาเราไปได้เงินเดือน 3 หมื่น 4 หมื่นก็เยอะแล้วครับ ถ้าอยากได้เงินเดือนเยอะกว่านี้ 7 หมื่น 8 หมื่นขึ้นไป ต้องพูดภาษาอังกฤษได้ดีครับ บริษัทระดับโลกเงินเดือนหลักแสน ไม่ได้ถามคำถามยากเย็นอะไรเลย ไม่มีถามหรอกครับ AI, Machine Learning, Block Chain, Big Data ยกเว้นว่าคุณจะจบปริญญาเอกเฉพาะทาง

บริษัทระดับโลกถามแค่ Data Structures พื้นฐานอย่าง Array กับ Linked List ต่างกันยังไง Tree กับ Hash Table เป็นยังไง แต่ถามเป็นภาษาอังกฤษซึ่งต้องตอบให้ได้ ตอนผมยังเรียนไม่จบ ส่งใบสมัครงานไปที่ Microsoft ตอนนั้นเป็นบริษัทที่ใหญ่ที่สุดในโลก สัมภาษณ์ทางโทรศัพท์ไม่ผ่าน แต่ก็ได้รับคำแนะนำมาให้ฝึกภาษาอังกฤษให้ดีขึ้น และได้รู้ว่าคำถามสัมภาษณ์งานระดับโลกจริงๆแล้วไม่ยากเลย จากนั้นมาก็ฝึกพูดภาษาอังกฤษอย่างจริงจัง มาได้งานในการสมัครครั้งที่สองครับ

น้องคนนึงทำงานอยู่บริษัทท่องเที่ยวขนาดใหญ่ที่ The Office At Central World วุฒิมัธยม อายุ 27 เงินเดือน 80,000 บาท ส่งใบสมัครไปที่ Amazon สัมภาษณ์ทางโทรศัพท์ เริ่มต้นด้วย Binary Search ก่อน ถ้าไม่ได้เรื่องนี้ เรื่องอื่นคงไม่ต้องถามต่อแล้วครับ ซึ่งก็แน่นอน สัมภาษณ์เป็นภาษาอังกฤษ บริษัทระดับโลกไม่มีใครสนใจวุฒิการศึกษาครับ เว้นแต่ว่าคุณจะจบ MIT, Harvard, Stanford ค่อยว่ากัน ลองส่งใบสมัครเข้าไปจะได้รู้ความจริงครับ Fortune favors the brave

ภาษาอังกฤษเป็นบันไดที่จะพาเราไปอีกระดับนึงครับ เขียนโค้ดพื้นฐานได้ก็ OK แล้วครับ เขียนภาษา C เขียน Java หรือ Python ดีทั้งนั้นครับ ฝึกพูดภาษาอังกฤษแล้วสมัครงานบริษัทระดับโลกได้เลย ทุกวันนี้มีสื่อออนไลน์ดีๆ ให้เราฝึกภาษาอังกฤษได้หลายช่องทางครับ ลองไปดูกันว่ามีที่ไหนน่าสนใจบ้าง

The English Coach สำเนียง California ขนานแท้ ซึ่งเป็นภาษาอังกฤษที่นิยมใช้ในธุรกิจ Digital ครับ
https://www.youtube.com/channel/UC-g0gSStENkYPXFRsKrlvyA

English with Lucy เป็นสำเนียงอังกฤษยุคใหม่
https://www.youtube.com/channel/UCz4tgANd4yy8Oe0iXCdSWfA

A.J. Hoge เป็นครูสอนภาษาอังกฤษที่เดินทางไปทั่วโลก ไปจีน ไปอเมริกาใต้ ไปยุโรป รวมทั้งเมืองไทย เพื่อศึกษาว่าคนแต่ละประเทศมีปัญหาอะไรในการพูดภาษาอังกฤษ
https://www.youtube.com/user/ajhoge

Josh MacPherson สอน TOEFL โดยเฉพาะ สำเนียง New York ใครทำงานการเงินต้องฟังบ่อยๆ จะได้คุ้นเคย
https://www.youtube.com/channel/UCdYirpVQgUHUMNRvF532GoA

แถมอีกนิดนึงครับ ไม่ช้าก็เร็วเราต้องได้ทำงานกับคนอินเดีย การฟังสำเนียงอินเดียบ่อยๆ จะช่วยให้เราทำงานได้ราบรื่นขึ้น ไม่รู้จะฟังที่ไหน ลองฟังของ Turorials Point ได้เลยครับ
https://www.youtube.com/watch?v=GzZTjaoRaOk&list=PLWPirh4EWFpG49yASGCmvOwXwVvgnm6Jt

19 Nameless Fanboi Posted ID:Z8iLYArsNQ

มันคงจะดีถ้าตอนเรียนมีคนมาบอกเราว่า อ่านหนังสือเล่มนี้เล่มเดียว แล้วไปหางานประจำเงินเดือน 30,000 บาทขึ้นไปได้แน่นอน หนังสือแบบนี้มีอยู่จริงครับ และมีอยู่หลายเล่มด้วย เดี๋ยวมาดูกันครับว่ามีหนังสืออะไรบ้างที่อ่านจบแล้วหางานได้เลย

ไม่จำเป็นต้องมาเรียนที่ CODEST ครับ หากมีความรู้ความสามารถ ที่ไหนก็รับเข้าทำงาน ศึกษาจริงจัง หางานทำได้ทุกคนครับ ไม่จำเป็นต้องจบตรงสาย ไม่จำเป็นต้องเรียนจบอะไรเลยด้วยซ้ำ

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

น้องคนนึงไปสัมภาษณ์งาน โปรแกรมเมอร์ โปรแกรมมั่วอะไรนี่แหละ มีแบบทดสอบ 5 ข้อ ทำได้ข้อสุดท้ายข้อเดียว คือเขียนตอบว่า SELECT * FROM CUSTOMER แค่นี้ได้งานแล้วครับ น้องคนนี้ตอนนี้เก่งแล้ว ผมถามทุกวันว่าจะย้ายงานมั้ย บริษัทมหาชน เงินเดือน 50,000 รอรับอยู่

เห็นน้องหลายคนไปศึกษา Big Data, Machine Learning, AI คุยไปคุยมาเรื่อง Array ก็ยังไม่รู้เรื่อง มันก็เหมือนกับการศึกษา Calculus โดยยังไม่รู้ว่า Polynomial เป็นยังไง สำนักข่าว Bloomberg มาสัมภาษณ์รัฐมนตรีด้านการศึกษาพูดว่า "คุณฝันไปหรือเปล่า รถมอเตอร์ไซค์เรายังประดิษฐ์ไม่ได้เลย"

กลับมาที่หนังสือครับ สำหรับคนที่เรียนไม่จบอะไรเลย มีวุฒิ มัธยม 6 หรือ มัธยม 3 ลองศึกษา JavaScript หรือ Swift ครับ Search ดูใน Google เองได้เลยครับ

- หนังสือชื่อ Eloquent JavaScript เล่มนี้ได้เงินค่าเขียนจากการบริจาคของบริษัทใหญ่ๆ นำโดย Mozilla

- Swift Language Guide เล่มนี้จาก Apple โดยตรง สังเกตดูว่าไม่ค่อยมีหนังสือ Swift ในท้องตลาด เพราะของ Apple แจกฟรีดีที่สุด

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

- Java Structures Bailey เคยตีพิมพ์เมื่อ 15 ปีที่แล้ว
- Think Java เล่มนี้ก็อ่านเข้าใจง่าย
- Think Data Structures เป็นเล่มต่อของ Think Java
- Algorithm Clifford อ่านแล้วรวยแน่นอน

สำหรับคนที่สนใจสมัครงานในบริษัทชั้นนำของโลก แค่ศึกษา 3 เล่มสุดท้ายก็ไปได้ไกลแล้วครับ ชี้เอาได้เลยจะเอาบริษัทไหน Google, Facebook, Microsoft, Amazon, Apple

#ยิ่งอ่านยิ่งรวย #ยิ่งเก่งยิ่งรวย
#ยิ่งเก่งยิ่งดีต่อชาติ

20 Nameless Fanboi Posted ID:Z8iLYArsNQ

Harvard introducing new course, BMI 704: Data Science for Medical Decision Making. If you're interested in data science and machine learning applied to medicine.
Checkout data and readings:
https://github.com/manrai/BMI704_Spring2019

#BigData #VisualAnalytics #Medical #DataScience #Applied #Machine #Learning #DataLiteracy #DataScientists

Share & Like #youngDataScientists

21 Nameless Fanboi Posted ID:NnmsZz3kWp

สิบปีที่แล้ว telecom operator แข่งกันทำระบบให้ไม่ล่มช่วงเทศกาล หลายปีผ่านไปช่วงนี้เราน่าจะได้เห็น บางธุรกิจแข่งกันทำระบบให้ไม่ล่มตอนสิ้นเดือน .... stability เป็นฟีเจอร์ ที่ควรแข่งกันทำนะ focus ที่ Core Domain การไม่ออกฟีเจอร์ใหม่เลยแต่ระบบเสถียรขึ้น 10 เท่าคือการออกฟีเจอร์ใหม่เช่นกัน... Domain Driven Design กล่าว

22 Nameless Fanboi Posted ID:kzgICnFMnl

ประเทศไทย ไม่ได้ตามหา Data Scientist อยู่หรอกค่ะ เพราะแป้งยืนอยู่ ณ จุดนี้ แป้งพบว่า มีโครงการที่พร้อมให้สร้าง Model จริงๆ น้อยมากเหลือเกิน

เพราะเราไม่เคยเก็ยข้อมูลให้มีคุณภาพมากพอ และเรายังไม่ได้ทำ Data Lake หรือ Data กลาง ที่สะดวกต่อการใช้งาน

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

แป้งคิดว่า เราต้องการ "Data Engineer" ที่รู้ว่า Data Scientist ทำงานอย่างไรมากกว่า

แต่ที่สำคัญที่สุด เราต้องการ "ผู้บริหาร" ที่มีวิสัยทัศน์ในการดำเนินงานจริงๆ มากกว่าผู้บริหารที่ยอมให้ข่าว ทั้งๆ ที่ยังไม่ทราบถึงขั้นตอนการดำเนินงานจริงๆ ค่ะ

ปล. แอบสงสารเยาวชนที่แห่กันไปเรียน Data science มากๆ ความเป็นจริงโลกนี้ช่างโหดร้าย

23 Nameless Fanboi Posted ID:rf6+p+sgO2

>>22 อันนี้เห็นด้วย กูทำคล้ายๆสายนี้ จะขอข้อมูลอะไรมาเทรนนี่ยากเย็นแสนเข็ญ เดต้าก็ไม่ได้ งานก็จะเอา คนนั่งลาเบลให้ก็ไม่มี ต้องมานั่งเตรียมเองเหนื่อยมากๆ แต่เงินเดือนเยอะเลยยอมทำต่อ 555

24 Nameless Fanboi Posted ID:Fg28vCcUyJ

ประเทศไทยต้องการ programmer ที่ทำงานได้ทุกระบบทุก platform ตั้งแต่ภาษาโบราณแบบ AS400 ยัน Go ที่พูดภาษาอังกฤษคล่อง และทำงานครอบคลุมในส่วนของ AE และ data engineer ที่รู้ว่า data scientist ทำงานอย่างไร รวมทั้งรู้งานบัญชี hr โครงสร้างระบบโรงงาน และตั้งค่า server คล่องทำ scaling และติดตั้งระบบรักษาความปลอดภัย server ได้ และทั้งทำงานจับฉ่าย อย่าง ซ่อมคอม เปลี่ยนหลอดไฟ ซ่อมท่อน้ำ รวมถึงดูแลกล้องวงจรปิดได้ โดยจ่ายเงินเดือนถูกๆ ต่างหากล่ะ

25 Nameless Fanboi Posted ID:w07XdvMO0Q

อาชีพต่างๆในอุตสาหกรรมเกมเป็นอย่างไรบ้างวะ

26 Nameless Fanboi Posted ID:XYM1XDu+JJ

อยากเก่ง AI อ่านเล่มนี้ไว้ก่อนเลยครับ แจกฟรีจาก Stanford

https://web.stanford.edu/~boyd/vmls/

27 Nameless Fanboi Posted ID:F6Qs6.ciBY

>>26 กากไอสัส หนังสือเหี้ยไรทำมาจากสถาบันชื่อดังซะเปล่าแต่เนื้อหาเฉลยนี่อยู่กับคนแต่งวะ เอาไปสอนทั้งStandfordกับUCLAนี่คงต้องดูละว่าคนด่ายังไงมั่ง

28 Nameless Fanboi Posted ID:YXGrLfrIp.

>>22 มันเป็นเทรนอ่ะนะ ผู้บริหารมาบอกเห้ย เห็น big data กำลังมา ลองไปทำดูเดะ ไอ้คนรับคำสั่งก็คร้าบๆ จัดเทคคอสสอน 8 ชม เอามาทำไป สุดท้ายแล้วรีพอตก็ไปอยู่ที่ไหนสักมุม โดนที่ไม่รุ้เอาไปใช้ทำอะไร

29 Nameless Fanboi Posted ID:NYSI8glD2q

ถามลูกศิษย์หน่อยครับ ผมสงสัยมาก

ทำไมเราถึงไม่ใช้ genetic algorithms, tabu search, neural nets, bee algorithms, football algorithms, simulated annealing, particle-swarm, ant-colony, etc. ในการแก้ปัญหา เช่น หาเส้นทางที่สั้นที่สุดครับ

30 Nameless Fanboi Posted ID:dEhxicamKy

>>29 https://www.youtube.com/watch?v=Z5AgnKrNXYk
lol

31 Nameless Fanboi Posted ID:hB8a/IE3v6

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

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

อยากเรียนแล้วทำงานได้อีก 10 ปีขึ้นไป ไม่ต้องวิ่งตามเทคโนโลยีให้เหนื่อย มาเรียนที่ คาสะโต๊ด ได้ครับ ดูคอร์สเรียนและค่าสมัครได้ที่นี่ https://คาสะโต๊ด.work/register

https://scontent.fbkk8-3.fna.fbcdn.net/v/t1.0-9/51493030_986333841569898_6751995851272355840_n.jpg?_nc_cat=111&_nc_ht=scontent.fbkk8-3.fna&oh=9da84d38cccd95c24653c9176ff0b7d1&oe=5CE0F36D

32 Nameless Fanboi Posted ID:7fuTjqTf2z

>>31 พิมไวแต่คิดไม่ออกก็เท่านั้นนะ อส

33 Nameless Fanboi Posted ID:RV+sLcsTuD

ปีนี้มีสองเหตุการณืที่ทำให้ผมเปลี่ยนแนวความคิดเรื่องการทำงานเป็นทีมไปโดยสิ้นเชิง
.
1. เหตุการณ์แรก วันที่ได้เข้าไปช่วยพี่รูฟและพี่จั๊วะพี่เจนสอน Design Thinking ที่ dtac
.
2. เหตุการ์ที่สอง วันศุกร์ที่ผ่านมา เป็นวันแรกที่ได้เข้า Retrospective กับทีมที่ dtac ทำงานกับทีมนี้ครบปีแล้วเพิ่งได้ร่วม Retro

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

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

คือ วิธีการ Good Bad Try เราต้องเชื่อก่อนว่า ไม่มีใครอยากเอาเปรียบคนอื่น มันน่าจะมีปัญหาอะไรสักอย่าง

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

34 Nameless Fanboi Posted ID:sbGGx/8nWn

ที่จริงผมห่างจากการทำ Web Application มาระยะหนึ่งละ ตามห่างๆ เรื่องนี้อาจไม่ใช่เรื่องใหม่้สำหรับคนสาย Web ก็ได้ แต่ที่ผมสนใจคือ CindyJs ช่วยจัดการ operation ทางคณิตศาสตร์ได้ดีมากจนสามารถทำให้คอมพิวเตอร์อย่าง Raspberry Pi ซึ่งติดต้ง WebGL ไม่ได้ก็สามารถใช้งานกับ web animation ได้ ถ้าเป็น PC ก็ไม่ต้องพูดละ สบายๆ (https://cindyjs.org)

https://www.facebook.com/somchai.somphadung/videos/10211800685766520/

35 Nameless Fanboi Posted ID:RYiBQfjcP2

เวลาทำ presentation slide ..... หลายคนมักจะ "เอา (text) ทุกอย่างใส่ bullet points โดยไม่คิดอะไรมาก"

อยากให้หาวิธี "visualize" กันมากกว่านี้ครับ มันมี pattern ในการนำเสนอหลายอย่างมาก เช่น ตาราง, ระนาบ 2 มิติ, และอะไรหลายต่อหลายอย่าง ที่มันใช้ทำให้คนเห็นประเด็นดีกว่ามาก

ใช้ bullet point เฉพาะส่วนของการสรุปครับ ......

36 Nameless Fanboi Posted ID:NeXSNfRr+r

ช่วงนี้ผมกำลังเรียน approximation algorithms โดยใช้หนังสือเล่มซ้ายมือ จริง ๆ คือ lecture notes Volume I ใช้สอนที่ Stanford เมื่อปี 1991 อ่านแล้วสนุกดีครับ เสียดายไม่มี Volume II เพราะคนแต่งเสียชีวิตไปก่อน

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

Approximation algorithms มี applications เยอะไปหมดครับ ไม่ว่าจะเป็นปัญหา optimizations ทาง Internet หรือ Human Genome แต่ก็มีหลายส่วนที่เกี่ยวกับ ideas ล้วน ๆ

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

ผมตั้งใจจะเปิดวิชานี้นะ แต่วันก่อนคุยกับหัวหน้าภาค หัวหน้าภาคบอกว่าจะต้องสอนในวิชา selected topic ซึ่งผมไม่ชอบ เพราะใน transcript ไม่ได้บอกว่าเรียนอะไร ผมอยากจะให้มีชื่อวิชา approximation algorithms ไปเลย ต้องรอดู

ถ้าใครชอบอะไรแบบนี้ ผมสนใจรับนักศึกษาปริญญาเอกอยู่นะครับ มีทุนให้ด้วย ติดต่อมาได้

37 Nameless Fanboi Posted ID:KH3kpEN+t.

เห็นบริษัท Software house และ Startup หลายเจ้า พยายามโชว์ Culture บริษัท พยายามสร้างภาพลักษณ์ให้ดูเก๋ Cool มีโต๊ะปิงปอง โต๊ะ Pool งานสบายรายได้ดี Flaxi-hour บลาๆ

แล้วก็เริ่มมาบ่นว่า น้องๆ รักสบาย ไม่มีความรับผิดชอบ งานไม่ได้ตามเป้า สุดท้ายงานก็ไม่ได้สบายจริง Flaxi-hour ไม่จริง.. ลาไม่จำกัดที่ไม่มีจริง เพราะสร้างเงื่อนไขมากมาย ต้องแจ้งล่วงหน้า 2 วัน ต้องอย่างนั้นอย่างนี้

เอ้า.. ก็สร้างภาพว่างานสบายรายได้ดี เน้นเรื่องเล่น คนก็คาดหวังว่า จะเข้าไปเล่นไง :-) สุดท้ายก็มาด่าเด็กว่า ไม่โอเค ก็โปรโมทซะนึกว่าทำสวนสนุก ไม่ใช่ทำบริษัทเนอะ 🤫

38 Nameless Fanboi Posted ID:b1SdyaVPzN

Why programmers like cooking: You peel the carrot, you chop the carrot, you put the carrot in the stew. You don’t suddenly find out that your peeler is several versions behind and they dropped support for carrots in 4.3

#มิตรสหายท่านหนึ่ง

39 Nameless Fanboi Posted ID:jDAvtd47UY

เห็น Twin Panichsombat
Post คำว่า “เอาอยู่” บ่อยๆช่วงนี้ ผมเลยอยากเล่าให้ฟังในสายเทคเราบ้าง ว่า Stack หรือ เทคโนโลยีที่เราเลือกใช้ เราไม่มีทางเชี่ยวชาญได้หมดทุกตัว เพราะเวลาทุกคนมีแค่ 24 ชม เท่ากัน

ดังนั้นคงต้องเลือกให้ลึกมากกว่ารู้หลายตัวแล้วไม่ลึกสักตัว(แต่ถ้าชอบส่วนตัวก็ไม่ผิดอะไรนะ อยากบอกสำหรับน้องๆที่กำลังหัด) ถ้าเขียนโปรแกรม อย่างน้อยก็ต้องลึก 1 ภาษา 1 ดาต้าเบส ไม่ต้องเปลี่ยนตามเพื่อนตามแฟชั่น เปลี่ยนเพราะมีคนสอนเชิงลึกหรือแนะนำเราทำแอพดีๆได้ หาข้อมูลได้ง่ายจะดีกว่า ถามว่าต้องรู้ลึกแค่ไหน ก็ต้องลึกจนมั่นใจว่า “เอาอยู่”
* Requirement ลูกค้าเปลี่ยนไปเปลี่ยนมา ปรับได้ง่ายมั้ย ไม่พันเป็น spaghetti ใช่มั้ย เขาให้แก้ไรมาก็รู้ว่าทำยังงัย หรือไปหามาได้ รับความเสี่ยงได้
* เจอบักหาได้เร็วใช่มั้ย
* แก้หนึ่งไม่กระทบสองกับสามใช่มั้ย
* ทดสอบง่ายมั้ย
* อ่านง่ายมั้ย
* ถ้ามี requirement ว่าต้องรับโหลดได้เยอะ มี security ทำได้ใช่มั้ย
คนที่ยังยืนหยัดในวงการนี้มีน้อยลง เพราะเหลือแต่คนที่ “เอาอยู่” อยากให้มีคน เอาอยู่เยอะๆ ส่วน นเรศ เก็จรัมย์ กับ โดม เจริญยศ อาจหมายถึงอย่างอื่น

40 Nameless Fanboi Posted ID:jDAvtd47UY

ผมทำ seo มาได้สักพักแล้ว
พอจะสรุปได้เลยว่า เวลาทำให้คำนึงถึง 5. องค์ประกอบหลัก

1. Website -> Speed,Mobile,UI , Structure
2. Content -> Keyword, Relevant Key and Topic, Wordcount , Image, Video, Readablity , Update frequency
3. User -> CTR, Time On Page, Bounce rate , Exit rate, Returning Visitor, UX
4. Social ->Engagement , Paid & Organic Traffic
5 Backlink -> Authority Backlink and Relevant

เวลาทำก็คำนึงถึง 5 กลุ่มนี้
ไม่ใช้เล็งแค่กลุ่มเดียวเน้อ
........
ถ้าทำครบทุกกลุ่มจะดูเป็น qulity อยู่ยาวบอกตรง

41 Nameless Fanboi Posted ID:wFe1dL8I3d

https://link.medium.com/idIyQxmjKU

42 Nameless Fanboi Posted ID:xgFwLD0e8l

>>40 keyword goolge เค้าประกาศเลิกใช้แล้วโยม update ด้วย

43 Nameless Fanboi Posted ID:q+fE.IVmcD

“ไม่มี Learning ไม่ใช่ A.I. ?”

ผมอ่านอะไรแบบนี้ผ่านตาแวบๆ ..... หลังจากโพสท์ก่อนที่ผมเขียนเรื่อง A.I. ....

ถ้าคิดแบบนี้ระบบ A.I. แทบทั้งโลก รวมถึงงานวิจัยหลายต่อหลายอย่าง หลายแขนงหลายสาขา ทาง computer science เลย (เช่นพวก machine translation, พวก automated reasoning, ฯลฯ) นี่จะไม่เรียกว่า A.I. ทันทีเลยนะ

เอาจริงๆ จะกลายเป็นว่าเรา disregard/look down การพัฒนาและการศึกษาพวกนี้แทบทั้งหมดด้วยซ้ำ (ระดับเดียวกับ “that’s racist”)

เอาจริงๆ นะ ..... งานหลายอย่างนี่ machine learning ยังสู้ well-designed algorithm (ที่มาจากการศึกษาและวิเคราะห์ปัญหาแบบละเอียด) ไม่ได้เลย ..... และต้องใช้เสริมกันทั้งนั้นแหละ ..... งานหลายอย่างก็ไม่จำเป็น .... เช่นพวกงานที่มันตายตัว และมี computation space ที่เล็กพอ คิดตรงๆ ง่ายกว่า .... พูดง่ายๆ ว่าคงไม่มีใครทำ machine learning ไปเล่นเกม tic-tac-toe (เกม o-x น่ะแหละ) หรอก ไม่จำเป็นเลย overkill มากๆ

และจริงๆ แล้ว A.I. ไม่ได้เกี่ยวไม่ได้จำกัดอะไรเลยกับ Machine Learning ..... มันแค่ “เหมือนคน” (ultimate goal คือ “blind test แล้วแยกไม่ออกว่าใครตัดสินใจ คนหรือ A.I.” — ลองดู Turing Test) .... ต่อให้มันทำงานตามกฏตายตัวตลอด (if-else เลยน่ะแหละ) ก็ได้ ไม่เป็นไร

ซึ่งแน่นอนว่าถ้ามันเรียนรู้ได้ พัฒนาตัวเองได้ มันก็จะ “เหมือนคนที่เก่งที่สุดสามารถเป็นได้ (as it could be)” (ถ้าเราเชื่อใน potential ของคน และเราตัดตัวแปรข้อจำกัดทางธรรมชาติของคน เช่นความเหนื่อยล้า ความจำ อายุขัย ทิ้งไป —— คือ human as it could be ไม่ใช่ as it is) .... ก็ได้

อย่าเอาความคิดตัวเองมากำหนดนิยามบ้าๆ เองโดยลำพัง จะดีมากเลย .... ดูด้วยว่าจริงๆ มันเป็นไง ... วิชาการเค้าก็มี ตำราเค้าก็มี ฯลฯ

44 Nameless Fanboi Posted ID:jLjGiJ8aT0

ทำยังไงถึงจะ X {เขียนบทความ, ถ่ายรูป, ออกแบบ UI, เขียนโค้ด, ใช้ภาษาในการเล่าเรื่อง/พูด, .....} เก่ง?

คำตอบโดยทั่วไป: "หัดทำเยอะๆ"

แต่จริงๆ แล้วผมมีคำตอบหนึ่งที่สำคัญไม่แพ้กัน (อาจจะมากกว่าด้วยซ้ำ) ก็คือ

"ศึกษา X ที่คนอื่นทำไว้ดีๆ ให้เยอะๆ"

นั่นคือ อ่านให้เยอะ ดูรูปสวยๆ ให้เยอะๆ ดู UI ที่ออกแบบมาดีๆ ให้เยอะๆ อ่านโค้ดที่เขียนดีๆ ให้เยอะๆ ดูหนังที่เขียนบทดีๆ เยอะๆ

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

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

ก็เพราะ "เราดูพวกนี้แบบวิเคราะห์ ดูแล้วคิด ดูแล้วมา reason กับมัน" น้อยเกินไป ...

และเราก็ต้องมานึก มาจินตนาการสิ่งที่เรานึกไม่ออก ขนาดตั้งใจทำก็ออกมาห่วย (เขียนห่วย โค้ดห่วย UI ออกมาแบบผิดธรรมชาติที่ควรเป็น ฯลฯ) .... ก็เพราะว่า "เราดันพยายามคิด solution" โดยที่ "มีรูปแบบของ solution ต่างๆ น้อยเกินไป" มันก็รู้จะไป match pattern กับอะไรในหัวเรา

สมองมันก็ทำงานแบบนี้แหละ .......

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

45 Nameless Fanboi Posted ID:OpqFYujfia

หลายที่ เลือกใช้ Tech stack ตัวนึง ผ่านไปปีสองปี ตัวนั้นไม่ตอบโจทย์ สร้างปัญหา แล้วสรุปว่า Lesson learned คือควรจะเลือก Stack ให้ดีกว่านี้ อ่านและค้นคว้ามากกว่านี้ คิดให้มากกว่านี้

ไม่ใช่ครับ จริงๆ Lesson Learned คือควรจะวางโค้ดให้ Decoupling ถอดเปลี่ยน Stack ง่ายกว่านี้ครับ เชื่อผมนะ เลือก Stack ที่ถูกต้องที่สุดในวันนี้ สามปีข้างหน้าก็ผิดฮะ

46 Nameless Fanboi Posted ID:LOPuAdk2M.

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

#มิตรสหายนักพัฒนาซอฟต์แวร์ท่านหนึ่ง

47 Nameless Fanboi Posted ID:vYt4M4DlnT

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

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

คุณทอยได้ใช้ประโยคที่ทำให้อ่านแล้วมองว่าแป้งกีดกัน และดูถูกคน อีกทั้งยังใช้ภาษาที่อ่านแล้วไม่น่ารักอีกด้วย

แป้งมองว่า คนในวงการเดียวกัน น่าจะมีมารยาทให้กัน ตัวแป้งเองก็ไม่เคยเปิดเผยชื่อร้านหนังสือที่ปฏิเสธแป้ง หรือมหาวิทยาลัยที่แป้งเคยกล่าวถึง แม้จะมีคน inbox มาถาม

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

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

แป้งได้มีการส่ง inbox ไปเตือน แต่คุณทอยมิได้ขอโทษหรือชี้แจงใดๆ ค่ะ

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

ต้องขออภัยด้วยที่ต้องโพสข้อความนี้ เพื่อปกป้องตัวเอง และจะลบ ภายใน 10 นาทีค่ะ

48 Nameless Fanboi Posted ID:vYt4M4DlnT

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

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

ซึ่งแป้งจะจำไว้เป็นบทเรียน และจะจำไว้ด้วยว่า แอดมินเพจนั้นคือใคร คุณยังไม่ได้ขอโทษแป้งเลยนะ วงการเดียวกันแท้ๆ ถ้าแป้ง Comment Class ของคุณบ้าง คุณจะหนาว

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

เพื่อนสนิท Partner ต่างเป็นห่วง จนกระทั่ง สามีเดินขึ้นมาหา และบอกว่า ....

สามี: "เธอ เรารู้ว่าเธอตั้งใจดี และมันคือความจริง"

แป้ง: "เธอลองคิดดูนะ คนสอบไม่ผ่านเป็นสถาปัตย์ ไม่ได้เป็นสถาปนิก ทุกคนเข้าใจ สอบไม่ติดแพทย์ ไม่ได้เป็นหมอ ทุกคนเข้าใจ แล้วทำไมไม่ได้เรียน Pure Math เป็น data SCIENTIST ไม่ได้ ... ทำไมไม่เข้าใจ ก็บอกอยู่ว่า ไม่ต้องจบปริญญา เรียนยังไงก็ได้ แต่ต้องพิสูจน์ให้เห็นสิ ว่าเป็น Scientist ได้ ไม่ใช่แค่ใช้โปรแกรมเป็น"

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

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

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

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

แป้งนั่งพิจารณาอยู่สักพักว่าจะทำอย่างไรดี

ในจังหวะนั้น มีน้องคนนึง inbox มาส่วนตัว บอกให้แป้งรอวันพิสูจน์ตัวเอง โดยการสร้างอาณาจักร

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

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

มีคนนึง Comment Post ของแป้งว่า ทัศนคติ เป็นเรื่องของส่วนบุคคล แต่ Math คือ Science และ Data Scientist ต้องเรียนวิชา Pure Math มาก่อนเป็น สัจนิรันดร์

แม้ความจริงจะทำร้าย แต่ถ้าคุณไม่ยอมรับความจริง คุณจะก้าวผ่านการเปลี่ยนแปลงนี้ไปไม่ได้

ต่อไป วงการการศึกษาด้านเทคโนโลยีจะเป็นเช่นไร แป้งจะไม่ขอออกความเห็น และจะไม่แนะนำการศึกษา หรือาชีพให้ใครค่ะ แป้งขอความเห็นใจด้วยนะคะ

49 Nameless Fanboi Posted ID:vYt4M4DlnT

เรื่องเล่า จาก Inbox เรื่องสมัครงานวันนี้

มีน้องคนนึง ส่ง Inbox มาว่า อยากสมัครงาน แต่ไม่แน่ใจว่าจะลงตำแหน่ง Python Dev หรือ Data Scientist อยากทราบว่ามันแตกต่างกันอย่างไร

แป้งได้ชี้แจงไปว่า DS มีหน้าที่ระบุปัจจัยที่เกี่ยวข้องกับโครงการ เลือกตัวแปร สร้าง Model และหาคำตอบเพื่อแก้ปัญหา โดยใช้หลักคณิตศาสตร์ อาจมีการสร้าง Machine Learning หรือ เขียนโปรแกรมเป็น Python Script เพื่อส่งมอบงาน

แต่ Python Dev คือ คนที่ใช้ Python เป็นเครื่องมือในการมาหากิน อาจจะเป็น เขียน script เพื่อ ETL หรือ เขียนโปรแกรม Software หรือ แม้แต่เขียน Website ในบางกรณีก็อาจจะต้องช่วย DS เขียน Code เพื่อสร้าง Model แต่อาจจะไม่ใช่คนที่เลือกปัจจัย

เขาถามต่อว่า ใน Coraline รับตำแหน่งไหนมากกว่ากัน ก็ต้องตอบว่า Python Dev ส่วน DS นั้น คิดเป็นสัดส่วนที่ น้อยกว่า 10% เท่านั้น

ซึ่งปัจจุบัน Coraline มีโครงการที่เริ่ม และกำลังจะเริ่มอีก นับ 10 กว่าโครงการ และบางโครงการเป็นโครงการขนาดใหญ่มากกกกกก

ทั้งนี้ ใน Coraline เราจะเน้นให้ทุกคนมี 2 Tier หมายถึงว่า เมื่อใดที่คุณเก่งใน Tier 1 คุณสามารถมีทำงานใน Tier 2 ได้

ที่แป้งสร้าง Tier ขึ้นมา เพื่อต้องการให้แต่ละคนในองค์กร มีหน้าที่เป็น Hybrid เมื่อใดก็ตามที่เทคโนโลยีเปลี่ยน เขาจะยังมีทางเลือกในสายอาชีพของเขา

น้องคนนี้ตัดสินใจสมัครตำแหน่ง Python Dev (ซึ่งเป็นการ ตสจ. ที่ถูกแล้วค่ะ เพราะ DS เราอาจจะรับเพิ่มอีกแค่ 1 คน แต่เรามองหา Dev อีก เป็น 10 เลยค่ะ 555)

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

นอกจากนี้ ถามว่า ตำแหน่งไหนที่เก๋าสุด ก็ต้องยกให้ System Engineer และ Data Engineer ที่ต้องสามารถออกแบบทั้งระบบได้

ทั้งนี้ คุณรู้หรือไม่ว่า จากโพสประกาศรับสมัครงานของ Coraline มีคนสมัครงานในตำแหน่ง DS มาทั้งสิ้น 70% ในขณะที่ตำแหน่งอื่นๆ ไม่มีคนสมัครเลยก็มี อีกทั้ง พบว่า ใน 70% นี้ มีหลายคนที่ไม่สามารถตอบได้ว่า Data Scientist ต้องทำงานอย่างไร

#เขียนแชร์ประสบการณ์เฉยๆ
#ไม่เห็นด้วยไม่เป็นไร
#ไม่แนะนำการศึกษา
#ไม่แนะนำอาชีพ
#ไม่รับตอบส่วนตัว
#เพราะเคยโดนดราม่ามาแล้ว

50 Nameless Fanboi Posted ID:+/cx+lvcbk

(โพสต์นี้จะทำลายตัวเองในเที่ยงคืนนี้)
วันนี้ Dtac Accelerate จัดงาน Viking Pitch Clinic
โดยมีเป้าหมายคือช่วยดู Pitch Deck และให้คำแนะนำ ทีมละ 10 นาที
มีทีมนึงที่อยากพูดถึง

เป็นน้องคนนึงนั่งเงียบๆ ประหม่าเล็กน้อย

(คำพูดอาจจะไม่ตรง 100% นะครับ)

* สวัสดีครับ เราชื่อบีมครับ เล่าให้ฟังหน่อยว่าทำอะไร จะพูดให้ฟังดี หรือเอาสไลด์ขึ้นก็ได้
>>>>> ไม่มี มันอยู่ในหัว ผมเขียนไปแล้ว
* อ่ะ โอเคงั้น งั้นพูดให้ฟังก็ได้
>>>>> ตอนนี้ Apple ทำเกม Google ทำเกม ผมไม่ใช่ Startup ผมอยากคุยกับผู้บริหาร Dtac ผมมาหา Partner
>>>>> ดีแทคมีทีมทำเกมไหม
* ตอบไม่ได้เพราะว่า Dtac Acceleate เป็นบริษัทลูกดีแทค ถ้าอยากรู้คงต้องไปคุยกับ M.D. เอง แต่เท่าที่เห็นไม่มีนะ โอเค งั้นเราทำอะไรนะ
>>>>> ตอนนี้ตลาดเกมเป็น Red Ocean ผมจะทำ MMORPG ที่เปลี่ยนจาก Red Ocean เป็น Blue Ocean และเป็น White Ocean ภายในพลิกมือเดียว
>>>>> มันเป็นเรื่องที่จริงจัง
* แล้วคิดว่านี่เราไม่จริงจังอยู่หรอ? เราจะให้พี่ไปติดต่อผู้บริหารทั้งๆที่ไม่บอกอะไรเรา ทำไมเราต้องช่วยเราด้วยนะ
>>>>> มันเป็นเรื่องจริงจัง จะต้องเซ็นเอกสาร N...
* NDA (เป็นเอกสารสัญญาว่าจะไม่ปิดเผยความลับ) เออรู้ว่ามันคืออะไร แต่นี่ยังไม่มีอะไรแล้วจะให้มาเซ็น NDA น้องกำลังขอความช่วยเหลืออยู่นะ ทำไมเราต้องช่วยด้วยนะ นี่ไม่บอกอะไรแล้วจะสั่งให้เราไปทำนู่นทำนี่อีก พี่ไม่เซ็นก็ได้ ไม่อยากรู้ก็ได้
>>>>> พี่ชื่ออะไร?
* จะเอาชื่อพี่ไปทำอะไร
>>>>> ผมจะได้ช่วยพี่ตอนที่ผมสำเร็จแล้วไง
* พี่ไม่ได้ต้องการความช่วยเหลือ มาที่นี่มาช่วยไม่ได้ต้องการอะไร ไม่ต้องตอบแทน สรุปว่าทำไมพี่ถึงจะต้องช่วยเรานะ
>>>>> ผมทำให้มีรายได้ตั้งแต่เดือนแรก 2 พันล้านเหรียญ (6 หมื่นล้านบาท)
>>>>> ขอเงิน ห้าล้านเหรียญ (150 ล้านบาท) แบ่งหุ้นให้ 70%
* เราเรียนอะไร เป็นวิศวคอม?
>>>>> เปล่า ผมเรียนบริหาร
* จะเอาเงินไปทำอะไรบ้าง ทีมเรามีกี่คน นี่เราทำงานอะไรนะ
>>>>> ผมจะเอาไปจ้างคนมาทำงาน ผมออกแบบตัวละคร
* จริงๆ ไม่มี 70/30 หรอก เขามีแต่ 30/70 เพราะเขาเป็นนักลงทุน แล้วขอ 150 ล้านบาทเยอะไปมาก ลองนึกดูอยู่ดีๆมีคนมาขอเงินเป็นร้อยล้าน แต่ไม่บอกว่าใช้เงินทำอะไรที่ไหนอย่างไร ทำอะไรบ้าง ทีมก็ไม่มี
* แล้วตกลงที่เปลี่ยนจาก Red Ocean เป็น Blue Ocean และเป็น White Ocean ภายในพลิกมือเดียว นี่ทำยังไง
>>>>> มันมีรายละเอียด
* เรารู้จัก Garena ไหม แสดงว่าเราบอกว่าเราทำได้ดีกว่า Garena? เกมของเรามันดีกว่ายังไง
>>>>> ด้วยระบบ Game Design
* เราเคยทำเกมไหม
>>>>> ไม่เคย ครับๆ ผมมันเป็นเข้าสังคมไม่ได้ ตอนอยู่มหาวิทยาลัย มีแต่คนก็บอกว่าผมหน้ากวนตีน หมั่นไส้ผม
* ตกลงจะฟังไหม ถ้าไม่ฟังเดี๋ยวพี่ชี้ให้ดูว่าใครเป็น MD ของ Dtac Accelerate เดี๋ยวพี่เขามาก็ไปคุยเองละกัน
>>>>> ฟัง
* เราเคยไปที่อื่นมาก่อนไหม เคยประกวดไหม
>>>>> ไม่เคย
* งั้นดีแล้ว จะได้ Feedback

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

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

51 Nameless Fanboi Posted ID:+/cx+lvcbk

* เราเคยทำธุรกิจให้ได้เงินร้อยนึงไหม?
>>>>> ไม่เคย
* เราเคยทำธุรกิจให้ได้เงินพันนึงไหม?
>>>>> ไม่เคย
* เราเคยทำธุรกิจให้ได้เงินหมื่นนึงไหม?
>>>>> ไม่เคย
* เราเคยทำธุรกิจให้ได้เงินแสนนึงไหม?
>>>>> ไม่เคย
* เราเคยทำธุรกิจให้ได้เงินล้านนึงไหม?
>>>>> ไม่เคย
* นั่นคือประเด็น คือ เวลาจะขอเงินลงทุน เราต้องมีความน่าเชื่อถือ ถ้าเคยทำได้มาก่อนแล้ว คนที่ให้เงินก็จะเชื่อ แต่ถ้าไม่เคยทำแล้วมาบอกว่าจะทำเงินได้หกหมื่นล้านใน**เดือนแรก** ทั้งๆที่ไม่เคยทำธุรกิจให้ได้ร้อยบาทเลย ใครเขาจะเชื่อ นี่คือประเด็น
* ผมมั่นใจว่าผมทำได้
* อ่ะๆ งั้นสมมุติว่า เราทำได้ก็ได้ เราจะทำเงินยังไง?
>>>>> Free To Play (เล่นฟรี) มี In-App Purchase มี ระบบ Loot Box (กล่องเสี่ยงโชค) ที่ทำให้เป็น White Ocean
* อ่ะๆ แสดงว่าเป็น In-App Purchase เรื่องระบบนั้น เราคิดว่าคนซื้อของจากเรายังไง User ซื้อเดือนละ 1 ครั้ง แล้วครั้งนึงซื้อเท่าไหร่?
>>>>> จริงๆแล้วบลาๆๆๆ
* ไม่ต้อง Intro เราคิดว่า ต่อคนที่ซื้อของเราจะจ่ายเงินเท่าไหร่ จินตนาการมาก็ได้ เอาที่คิดว่า
>>>>> 10 เหรียญ มันเท่าไหร่นะ
* ประมาณ 350 บาท เพื่อให้ได้ สองพันล้านเหรียญที่เราบอก ต้องมีคนมาซื้อต่อเดือนกี่คน?
>>>>> ...
* 2,000 ล้าน/10 = 200 ล้านคน เราจะหาคนมาจากไหน 200 ล้านคน
>>>>> ผมไม่ต้องทำอะไรเลย ใช้ Influencer เดี๋ยวเขาก็มาเล่นเอง
* เราจะเริ่มที่ไหนก่อน
>>>>> ไม่ได้ยาก พี่ Google ได้เลย
* ทำไมพี่ต้อง Google ด้วยนะ เราก็บอกมาเลยสิ? ทำไมเราต้อง Google ด้วยนะ เราถามก็ตอบ เราไม่ได้สนใจการตอบ เรากำลังแสดงกระบวนการคิดให้ดู
>>>>> ไม่ได้ยาก พี่ Google ได้เลย มันเป็น Common Sense
* พี่ไม่มี Common Sense ด้านเกม เรารู้มากกว่าพี่ ก็บอกมาดิ
>>>>> จีน
>>>>> อินโด
>>>>> ญี่ปุ่น
* แล้วจะเริ่มที่ไหน ตอนนี้ไม่ได้สนใจว่า จะไปได้ตลาดไหนบ้าง เพราะน้องเชื่อว่าไอเดียเราเจ๋งมาก ไป Global ได้อยู่แล้ว ถามว่าเราจะ**เริ่มที่ไหน**
>>>>> ...
* งั้นสมมุติละกัน จะไปจีน พันล้านคนใช่ไหม? เราต้องหาคนมาเล่น 200 ล้านคนตั้งแต่เดือนแรก เราจะทำยังไง เรารู้จัก Influencer จีนหรอ?
>>>>> ผมไม่ต้องทำอะไร แค่ขึ้นไปเดี๋ยวก็โหลดไปเล่นเอง
* เขาจะโหลดจากไหน App Store/ Play Store/ Steam
>>>>> เป็น Mobile App
* งั้นก็ App Store / Play Store
>>>>> มันมีคนหาเกมแนว MMORPG เล่นตลอด
>>>>> เรารู้ไหมจะทำ App ขึ้น App Store ให้คนมาโหลดเราต้องทำอะไรบ้าง
>>>>> ผมก็แค่ Search Game มั่วๆ แล้วก็เล่น
* ...
>>>>> จริงๆแล้วอีกตลาดที่น่าสนใจก็คือ อินเดีย
>>>>> อินเดียมีกี่คน? พันล้านป่ะ ลองคิดแบบนี้
>>>>> เราบอกว่า Free To Play ดังนั้นทุกคนไม่มาจ่ายตังของเราหรอก สมมุติว่าคนเล่น 100 คน คนจ่ายตัง 1 คนละกัน ดังนั้นเราต้องหาคนมาเล่นกี่คน 1,000 ล้านคน (จริงๆ ต้อง 2,000 ล้าน ตอนนั้นไม่มีเครื่องคิดเลข 555+)
>>>>> จะต้องให้คนมาเล่น 1,000 ล้านคน คนทั้งประเทศอินเดียเลยนะ ถ้าสมมุติว่าอินเดียมี 1000 ล้านคน ฟังดูก็เป็นไปไม่ได้แล้ว
>>>>> ตอนนั้นใครจะคิดว่าพี่น้องตระกูลไรท์จะสร้างเครื่องบิน
>>>>> มันไม่ใช่แบบนั้น -__-
>>>>> อ่ะงั้นทำได้ เราจะทำ Marketing ยังไง
>>>>> พี่จะแซะอะไรผมอีก ผมมันเด็กในกะลาอายุ 25
>>>>> กู 28 ไม่ได้จะแซะ จะคิดให้ ดูว่าเขาคิดกันยังไง จะฟังไหม
>>>>> ฟัง ผมมันเพิ่งออกมาจากกะลา
>>>>> กูเป็นห่วงจริงๆ กูมีทางเลือก จบที่สิบนาทีนั้น แล้วปล่อยไปก็ได้
>>>>> แค่บอกว่ามึงอยู่ในโลกส่วนตัว ต้องฟังคนอื่นบ้าง กูไม่บอกนะว่ามึงเป็นคนอยู่กะลา
>>>>> มึงพูดกับตัวเองทั้งนั้น
>>>>> พี่ว่าอากาศมันหนาวๆ ไหม
>>>>> ไม่นะ
>>>>> พี่ว่าอากาศมันหนาวๆ ไหม

และผมก็เดินออกมา

52 Nameless Fanboi Posted ID:64FTul.0v4

>>50-51 เอามาจากเฟสใครวะ? ใบ้ๆหน่อยได้ป่ะ?

53 Nameless Fanboi Posted ID:+/cx+lvcbk

>>52 เอามาจากเฟสของคนชื่อบีม

54 Nameless Fanboi Posted ID:Je4WefDEgR

>>53 โพสต์หายไปยังวะ? คือหาไม่เจอจริงๆ แต่แบบโคตรพีคมาเจอไรแบบนี้

55 Nameless Fanboi Posted ID:uA1h806zs3

>>54 ลองเข้า Facebook Group โปรแกรมเมอร์ใสๆ ไม่กินมาม่า

56 Nameless Fanboi Posted ID:vqfJhYhqFS

>>55 เข้าไปแล้วรู้สึก toxic ชอบกลว่ะ มีแต่แขวะคนคนอื่นทั้งที่ตัวเองก็มั่วเยอะ

57 Nameless Fanboi Posted ID:+i/Rr.yGHa

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

58 Nameless Fanboi Posted ID:FCI1IDHtpb

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

เอาคร่าวๆ คือราวๆนี้

เส้นทางรับจ้าง
Programmer -> Project Leader -> Project Manager -> General Manager

เส้นทางเจ้าของธุรกิจ
COO, CTO - Software House
CEO, CTO - บริษัท Startup

4 Concept ที่อยากให้ทุกๆคนได้เรียนรู้ ถ้าอยากจะเจริญรอยมาเป็นเจ้าของบริษัทนะครับ คือ

1. Design thinking
2. Lean Startup
3. Agile
4. Growth Hacking

โดยควรจะเริ่มรู้ตั้งแต่ 3-> 2-> 1-> 4 ตามลำดับ ไม่ก็ 3-> 1-> 2 -> 4

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

วันที่ 23 เมษายน นี้ เวลา 17.00-18.00 ที่งานนี้ https://aevent.in/archives/event/scrum-workshop

วันที่ 4 พฤษภาคม นี้ เวลา 17.00-18.00 ที่งานนี้ https://aevent.in/archives/event/lean-startup-101

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

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

59 Nameless Fanboi Posted ID:N7ePXFFTG7

ตอนนี้เป็นยอดมนุษย์ Ultra man อยู่

BU อื่นเค้ามี BA ช่วย มี App sup ช่วย แต่ BU ที่ทำนี่ I am alone เลยตอนนี้ ทำเองทุกอย่าง ตั้งแต่ PM ยัน App sup อีกนิดก็จะเขียนโค้ดด้วยละ
การ์ด ก็ต้องเขียน ประชุมก็ต้องมี ไปประชุมจนจะเป็นพนักงานของบริษัทอื่นไปแล้ว คนที่ประชุมด้วยบอก นี่เราคุยกันมากกว่าที่เค้าคุยกับสามีอีกนะ 555
activity ก็ไม่ได้ขาด refinement , planning , review มีหมด
recruit , ทำตารางนัด, สัมภาษณ์เองอีก อาทิตย์ละ 6-7 คน
ประสานงานกับทีมอื่นๆอีกมากมายหลายอย่าง หลายเรื่อง

ถึง Office ตั้งแต่ 7.30 น. คิดดู บางคนยังไม่ตื่นเลย
มาถึงไม่ใช่ว่ามานั่งกินข้าวนะ (บางคนถึง 10 โมง ยังมานั่งกินข้าวอีก) คือมาถึงก็ทำสิ่งอันเป็นการเป็นงานเลย มื้อแรกคือ หลังเที่ยง (ทำ IF 16/8 อยู่)
นี่ไม่นับงานส่วนตัว ที่ก็ยังทำต่อเนื่องนอกเวลางานอีกนะ
และก็ยังต้องมีเวลาให้ครอบครัวอีกด้วย
เรื่องสุขภาพไม่ต้องห่วง จัดสรรเวลาไปออกกำลังกายอยู่เรื่อยๆ (แต่บางช่วงหนักจริงก็ผ่อนเรื่องออกกำลังกายเหมือนกัน)

เรียกได้ว่า ใช้ทุกนาทีให้คุ้มค่า ดันให้เกิด productivity สูงสุด

60 Nameless Fanboi Posted ID:5rxn/zkmiu

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

#มิตรสหายท่านหนึ่ง

61 Nameless Fanboi Posted ID:9HdytddRrA

Go นี่ขึ้น Mainstream แล้ว ตัวชี้วัดที่ศูนย์มีของบน Production จริงมากมาย
ตัวชี้วัดแรกคือมีคนออกมาด่า
ตัวชี้วัดที่สองคือมีคนบินไปงาน Conference จำนวนมหาศาลจากหลายภาคส่วน
ตัวชี้วัดที่สามมี meetup ต่อเนื่อง
ตัวชี้วัดที่สี่มีคนเขียน blog ต่อเนื่องจากหลายภาคส่วน...
เลิกกังวลได้แล้วครับว่าจะหาคนเขียน Go ไม่ได้ ที่น่ากังวลกว่าคือพี่จะไม่เรียนรู้อะไรใหม่เลยหรอครับ :)

#มิตรสหายท่านหนึ่ง

62 Nameless Fanboi Posted ID:8aHt40gOVm

ก่อนพรุ่งนี้ในวันทำงาน เราควรมีเรื่องภูมิใจเล็กๆไม่สิเรื่องมาเล่าสู่กันฟัง ในสายงาน C Level ของผม

- เราไม่ได้รับงานโปรเจคต่อ เค้าต้องเอาคน 50-80 คนมาทำต่อเราเพื่อให้ productive เท่าเดิม แต่เราใช้แค่ 8-10 คน

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

- เราเสนอราคาและโซลูชั่นไป คิดว่าราคาสมเหตุสมผล เค้าหายไป 3 เดือนกลับมาหาเราคุยต่อ แต่เราคิวงานเต็มซ่ะแล้ว

- ปฏิเสธงานโปรเจคไปเกือบๆ 10 ล้านบาทแล้วใน Q1 นับเฉพาะที่บิตงานได้แล้ว เพราะว่าไม่บาล้านระหว่าง 3 อยู่ ทีมงาน(ทำได้สบายใจ) ลูกค้า(ได้ของดี,ให้ความสำคัญกับโปรเจค) และราคา(สมเหตุสมผล)

ผมนึกคำของบิลเกตได้ “ถ้าคิดราคาเขียนโค๊ดแบบนับจำนวนคนคูณชั่วโมง มันก็ไม่ต่างกับการคิดราคาการสร้างตึกด้วยการชั้งน้ำหนักของตึก”

อีกอันของผมคิดเอง
“ถ้า software ไม่ใช่จุดแข็ง ก็เป็นจุดอ่อน”

สุดท้าย
“บริษัทที่ยอมเสียเวลา เพื่อได้พัฒนา Software ราคาถูกเพียงอย่างเดียว บริษัทจะเสียทั้งสองอย่าง”

63 Nameless Fanboi Posted ID:qfI9HiwXHb

ความสุขนำพา ทำงาน 7 วันต่อสัปดาห์ก็ยังรู้สึกดี
.
นิยามความสุขของแต่ละคนคงต่างกันไป บางคนคือการไปเที่ยว บางคนคือการเดินทาง บางคนคือการมีใครสักคน แต่สำหรับเรา ความสุขเกิดจาก "การได้พัฒนาตัวเองให้เก่งขึ้น" และได้สร้าง "ผลงาน" ที่สร้างอิมแพคต่อวงกว้างออกมา
.
มาอยู่นี่โชคดีมากที่ได้ทำสิ่งที่ว่ามานี้หมดเลย
.
ช่วงสองเดือนที่ผ่านมางานหนักมาก แต่ไม่ได้หนักในทางไม่ดี ตรงกันข้าม มันท้าทายและสนุกมาก ต้องทำอะไรที่แข่งกับเวลา ศาสตร์ที่ต้องทำก็เป็นงานด้าน Software Engineer ที่ครบเลย ไม่ว่าจะอัลกอเอย Math เอย Optimization เอย Hacking ก็มี ได้เรียนรู้อะไรใหม่ ๆ ตลอดทางเยอะมาก
.
ได้ทำของสนุก ๆ ก็มีความสุขแล้ว แต่โชคดีชั้นสองคืองานที่ทำมีคนเอาไปใช้งานเยอะมาก ๆ อีกด้วย
.
ช่วงที่ผ่านมาเลยทำงานทุกวันตลอดเวลาจริง ๆ ไม่ใช่เพราะ Deadline อะไรทั้งสิ้น บริษัทก็ให้ทำแค่ 5 วัน แต่นี่อยากทำเอง ตื่นมาก็ทำ ๆ ๆ ๆ ๆ เพราะรู้สึกตื่นเต้นกับความรู้ที่ได้รับเพิ่ม แล้วก็ตื่นเต้นกับผลลัพธ์ที่ได้
.
อย่างวันก่อนนั่งใช้เวลาค่อนวันปรับอัลกอโค้ดจาก O(n^2) ให้เหลือ O(log n) จน Optimize โค้ดให้รันเร็วขึ้น 10 เท่าได้ (แปลว่า Cost ของ Server ก็ลดลง 10 เท่าด้วยเช่นกัน) เหมือนเป็นเรื่องเล็ก ๆ แต่ผลลัพธ์ที่ได้ทำให้รู้สึกว่าเราใช้เวลาไปอย่างมีค่า อยากทำอีก อยากทำเรื่อย ๆ บอกไม่ถูกว่าสุขขนาดไหน เอาเป็นว่าแฮปปี้มากละกัน 555
.
หรือสัปดาห์ก่อนตอน Facebook ประกาศว่าเปิดให้คนโพสต์ 3D Photo ผ่านคอมพ์ได้แล้วนะ นี่ก็ใช้เวลาคืนนั้นเขียน MVP แล้วเปิดให้คนใช้เช้าวันถัดไปเลย ตอนนี้คนเข้ามาใช้เยอะมาก ๆ รู้สึกแฮปปี้กับ Impact ที่สร้างสุด ๆ
.
ผลงานที่สร้างให้ลูกค้าใช้ก็รู้สึกอยากทำให้มันดีขึ้นตลอดเวลา อยากให้ลูกค้าเห็นการปรับปรุง เห็นประสิทธิภาพที่ดีขึ้นและแฮปปี้กับมันยิ่ง ๆ ขึ้นไป แค่นึกถึงหน้าลูกค้าตอนได้เจอของดีที่ดีขึ้นแล้วทำให้ไม่อยากหยุดทำงานเลย
.
ความสำเร็จไม่มีวันหยุดราชการ อย่าปล่อยให้เวลาผ่านไปอย่างไร้ค่ากันเลย หากยังเกลียดวันจันทร์อยู่อาจต้องหาสาเหตุกันละนะว่าทำไม หาคำตอบให้ตัวเองให้ได้ว่าความสุขคืออะไร ปรับตัวเข้าหามันให้ได้ ชีวิตคนเราสั้นเกินกว่าจะนั่งทำสิ่งที่ตัวเองไม่ชอบไปวัน ๆ
.
อย่างที่คนเค้าว่ากันแหละ ถ้าได้ทำงานที่รัก ... คุณจะไม่ได้หยุดพักอีกเลย
.
เค้าว่ากันงี้เปล่านะ จำไม่ค่อยได้

64 Nameless Fanboi Posted ID:qfI9HiwXHb

ช่วงบ่น

Object oriented เริ่มมาจาก Alan Kay

"OOP to me means only messaging, local retention and protection and hiding of state-process, and extreme late-binding of all things. It can be done in Smalltalk and in LISP. There are possibly other systems in which this is possible, but I'm not aware of them."

คือประเด็นของเขา เขาอยากซ่อน State processing

คือระบบสมัยนั้นมันมี Spaghetti code เยอะ State มันพันกัน ก็เลยบอกว่า เราแยกเป็นส่วนๆ Subsystem แล้วคุยกันผ่าน Message ได้มั้ย มันจะได้การันตีได้ว่า State ตรงนี้ไม่โดนใครกระทบ (นอกจาก Interface ของส่วนนั้น)

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

อันนี้คือ Essence คือ Priority อันแรก และมีผลทาง Practical ด้วย คือแก้โค้ดตรงนี้เราบอกได้ว่ามันกระทบแค่ไหน ไม่ใช่นั่งพารานอยด์ว่าจะโดนนั่นมั้ยโดนนี่มั้ย มันจำกัดจุดระวังได้ ไม่ใช่พันกันจนแค่จะแก้ Bug เล็กๆ ต้องมานั่ง QA ระบบทั้งเดือน อะไรเงี้ย

ทีนี้คือบางทีเคยไปเห็นโค้ดที่มี 2 Object ที่ Share state กันบน Global singleton โดยบอกว่าต้องแยกเป็น Object เล็กๆ ตาม Single responsibility principle แล้วแบบ แถมคุยกันแบบใช้ Design pattern อย่างหรู เราก็ได้แต่เอิ่ม.......

คือสุดท้ายคุณสร้าง Object ใหญ่กว่านี้หน่อยแต่ไม่ต้องประกาศ Global singleton แล้วมันลิมิตว่าแก้โค้ดแล้วจะกระทบแค่นี้จะดีกว่าเยอะเลยนะ ดันไปเชื่อว่าออบเจ๊กต์ต้องเล็กแล้วเอามันมามี Priority อยู่เหนือกว่า Practical implication โค้ดก็พันกันแก้ยากอ่ะครับ

คือผมว่า บางที OOP Industry มันมาไกลจนลืมแก่นบางอย่างและลืมไปว่าเราใช้มันแต่แรกเพราะอะไร

ปัญหาที่ทำให้คนคิด Coding pattern กับ Programming paradigm มีแค่นี้

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

ทั้งหมดมันมาตอบคำถามนี้แหละ ซึ่งใครตอบคำถามนี้ได้อย่างหมดจด ทีมคุณจะ Productive มากๆ จนมี Unfair advantage เลยแหละ

65 Nameless Fanboi Posted ID:XyRw/B5NAD

นับว่าเป็นเรื่องปฏิวัติวงการ hacker และวิธีการป้องกันการถูกแฮกเลยทีเดียว เมื่อกองทัพอิสราเอล ตรวจพบว่าอาคารแห่งนึงในฉนวนกาซา เป็นฐานทัพนักรบไซเบอร์ ของกลุ่มฮะมาส (ฝั่งตรงข้าม) จึงสั่งการเอาเครื่องบินกองทัพอากาศ บินทิ้งระเบิดใส่แฮกเกอร์ซะเลย เพื่อป้องกันการถูกแฮก! 😂😂😂 ตำรา computer security ต้องจารึกเหตุการณ์นี้จริง ๆ เป็น การจัดการความเสี่ยงด้านความปลอดภัยทางกายภาพ ไม่ต้องซื้อ Firewall กันเลยทีเดียว

ทวิตเตอร์ของกองทัพอิสราเอลทิ้งท้ายไว้ว่า "HamasCyberHQ.exe has been removed." พี่ดุไปนะ น้องเริ่มไม่ไหว 😂

ที่มา: https://twitter.com/IDF/status/1125066395010699264

66 Nameless Fanboi Posted ID:OP0+mxhv7m

ว่าด้วยการ "สเกล AI"
.
ต้องยอมรับว่า AI นี่พลิกวงการโปรแกรมมิ่งจริง ๆ อะไรที่ทำไม่เคยได้ตอนนี้ทำได้สบาย ๆ เลย
.
แต่ในแง่ของ Architecture เบื้องหลังที่เป็น Neural Network การจะทำให้รันได้เร็วก็ต้องใช้ GPU คราวนี้ถ้าเกิดทำงานบน Server Side ก็ต้องเปิด Instance ที่มี GPU เอาไว้ ซึ่ง ... แพงสาสสสส (ถูกสุด $225 ต่อเดิอน)
.
ช่วงที่ผ่านมามี Deploy AI ขึ้นโปรดักส์ชันอยู่สามตัว ใช้ GPU หมด บิลแต่ละเดือนมานี่น้ำตานอง ไม่บอกว่าเท่าไหร่ แต่นองคือนองจริง ๆ
.
ปัญหาเรื่องแพงก็เรื่องนึง แต่ที่แย่สุดคือ "สเกลไม่ได้" เพราะถ้าจะสเกลก็ต้องจ่ายเพิ่มอีก Concurrent ละ $225 คือมันไม่ Practical สุด ๆ ถ้าคนเข้ามาเยอะขึ้น 10 เท่านี่ไม่หมดตัวกันเลยหรอ
.
หลังจากรันมาหลายเดือน Demand เริ่มเยอะขึ้น แต่การสเกลมันมีข้อจำกัด เมื่อคืนเลยทนไม่ไหว ยอมเอาส่วนการคำนวณที่ต้องใช้ GPU ออกหมดและเลือกรันด้วย CPU ล้วน ๆ เอาแทน ตอนจะสเกลก็สเกล CPU เอา (ราคา Concurrent ละ $24 เท่านั้น)

ซึ่งผลจากการเปลี่ยน GPU เป็น CPU คือมันช้าลงแต่แค่ 0.5-3 เท่าตัวเท่านั้น ยอมรับได้กับราคาที่เซฟไป ตอนนี้จะขยายขึ้น 10 เท่าก็ไม่หวั่นละ พร้อม !
.
สุดท้าย AI คืออนาคตจริงแต่ต้องหาวิถี Optimize Cost ให้ได้ ไม่งั้นก็ทำธุรกิจยากอยู่ดี ที่ทำมาก็
.
- โยกไป CPU
.
- เอาไปรันด้วย ML Engine (ซึ่งก็แพงถ้าเทียบกับพวก CPU Based อย่าง App Engine หรือ Cloud Run)
.
- ทำ Model ให้เล็กจนรันบน Client Side ได้
.
ก็เป็น Key Takeaway นึงเผื่อใครจะทำ AI Based ก็คำนึงถึงค่า Server กันด้วยนะ !

67 Nameless Fanboi Posted ID:U.OOM/4Wi.

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

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

- knowledge มีน้อย
- ไม่มี support ที่ดีพอ
- เพื่อนร่วมทางน้อย ถามใครก็ยาก
- หาคนคุยด้วยได้ยาก ต่อยอดเองก็ไม่ได้
- เปลี่ยนมือแล้วต้องรื้อระบบ เพราะคนส่วนใหญ่ไม่ใช่สิ่งนี้กันหาคนมาต่อช่วงไม่ได้
- user ได้รับ impact เพราะพฤติกรรมบางอย่างในการใช้งานมันเปลี่ยนไป (มากน้อยเป็นอีกเรื่อง)
- งานอาจจะใช้เวลาเยอะกว่าปกติ เพราะต้อง reseach และงมปัญหามากกว่าปกติ
- business ต่อยอดไปไม่ได้ เพราะวนไปที่เรื่อง technical limitation
- เสี่ยงต่อการถูกทิ้งกลางทาง เพราะ technology นั้นไม่ต่อยอดหรือมีตัวอื่นที่ดีกว่าออกมาแทนที่ และ incompatibility กัน(อันนี้เจ็บกันเยอะ)​

สุดท้าย developer คิดว่าตัวเอง cool เพราะได้ใช้ของเจ๋ง แต่ business ยัน user ไม่มีใครคิดอย่างนั้นเลย

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

เรื่องนี้เคยเจ็บปวด และโดนด่ามาตั้งแต่ประมาณ 10ปีที่แล้วได้ ตอนนั้นจำได้เลย เขียน marketing campaign ยุคแรกๆของ jQuery ต่อมา prototype หรือ backbone นี่แหล่ะออกมา ก็เลยเปลี่ยนไปใช้ แล้วปรากฏว่ามันพังบน internet explorer 6 ซึ่งแก้ไม่ได้เพราะมันติดตั้งแต่ระดับ lib เลย แล้วไม่มีเวลาแก้แล้ว เพราะงาน marketing campaign พวกนี้ประมาณว่าสั่งวันนี้ แต่จะเอางานตั้งแต่เมื่อวานนะได้มั้ย อะไรแบบนี้ เลยโดนด่า เพราะปกติไม่เคย deliver งานพังๆออกมา และต้องขอเลื่อนอีกสองวันเพื่อรื้อกลับไปใช้ jQuery เหมือนเดิม เลยได้เรียนรู้ตั้งแต่นั้นเป็นต้นมา

ของใหม่ แต่ทำแล้วใช้ไม่ได้ ก็ไม่ได้มีค่าอะไรเลย

68 Nameless Fanboi Posted ID:U.OOM/4Wi.

เพราะระบบ ATM มีมาตั้งแต่ก่อนพวก embedded แบบ Pi จะเกิด

ส่วนที่ถามว่า Windows 7 หมด support แล้วจะเปลี่ยนได้ไหม ?
ทางทฤษฎีก็เปลี่ยนได้ แต่ทางปฏิบัติมันไม่คุ้มที่จะเปลี่ยน เพราะ impact เยอะมาก
เพราะถ้าจะใช้ Pi ก็ต้องเขียนใหม่ --> test ใหม่ทั้งหมด ทั้งด้าน functional และ non-functional
แถมไม่มีอะไรการันตีอีกว่า test เข้มข้นแล้วจะยังมีเคสไหนหลุดไปอีก

ในขณะนี่ทางเลือก Windows upgrade แค่ทำ compatibility check แล้วก็แก้บัคเล็กน้อยเท่านั้นพอ

ความเสี่ยงมันต่างกันเยอะครับ
ไหนจะความเชี่ยวชาญของ Resources ในธนาคาร
การ Support จากเจ้าของ OS (MS vs. Open source)
ที่ MS มีให้คือความแน่นอนและการันตีเวลาทำงาน มี SLA กำหนดตามระดับของ support ที่ซื้อ
ต่างจาก Pi ที่ต้องคุ้ยหาคำตอบตาม forum/community เอาเอง แถมไม่รู้ว่าจะหาคำตอบได้ไหมอีก

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

69 Nameless Fanboi Posted ID:x5+xgIq1dp

>>67 ปัญหาที่ว่านั่นกูโดนมาหมดแล้ว แต่เกิดจากใช้เทคโนโลยีเก่าล้วนๆเลย 555

70 Nameless Fanboi Posted ID:Gyel1m2w6m

เจอผู้บริหารจบนอก
สายโปรเแกรมมิ่งเหมือนกันคุยกันเทคนิค เทคโนโลยี vuejs, react, angular, nodejs, golang, .net core, mssql, postgres ยาวมาก

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

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

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

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

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

คนจะฐานะยากดีมีจนยังงัยก็เจอปัญหาและความทุกข์คนละแบบแหะ
ฟังแล้วก็ปลง ทำอะไรง่ายๆ ระบบง่ายๆ โง่ๆก็พอละเรา

71 Nameless Fanboi Posted ID:.DPs84KvzA

ถ้าเขียน program ว่ายากแล้ว เชื่อเถอะ ว่าการเขียน API technical document ให้ถูกต้อง 100% นั้นยาก และเสียเวลา ยิ่งกว่าเขียน program มาก ที่สำคัญ มันผิดง่ายมากๆด้วย

เพราะเขียน program เราเขียนให้มันทำงานตาม logic ที่กำหนด

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

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

72 Nameless Fanboi Posted ID:haJF8PNd2z

ทำไมต้องเก็บข้อมูลแบบ Granularity แบบ Hit Level?

การเก็บข้อมูลบน Google Analytics Standard Version (Free) จะได้ข้อมูลที่เรียกว่า Aggregated Data หรือการที่ทาง Google ประมวลผลและรวมข้อมูลให้เราแล้ว ซึ่งเราจะเห็นแค่ว่า User ทำ Interact อะไรไปแบบรวมข้อมูลแล้วไม่สามารถเห็นเป็น Individual Event ได้ ซึ่งจะทำให้เราเสียโอกาสที่จะทำวิเคราะห์ User Behavior ในเชิงลึกที่จะสามารถทำ Prediction หรือต่อยอดในการทำ Machine Learning ได้

หากเราใช้ Google Analytics 360 เราจะได้ข้อมูลที่เป็น Hit Level ที่เชื่อมต่อกับ Google BigQuery ที่เราสามารถไปต่อยอดในการทำ Machine Learning ต่อไปได้ ยกตัวอย่าง Use Cases เช่นทำ Recommendation, ทำ K-Means Clustering เพื่อทำ Segmentation

หากใครอยากเรียนรู้การใช้ Google Analytics 360 และ BigQuery ลอง Apply มาเป็น Data Analyst ที่ Predictive ได้เลยครับ ช่วงนี้ขยายทีม Analytics เพื่อรองรับความต้องการของตลาด ลูกค้าของเรามีทั้งในไทยและต่างประเทศ จะได้ทำลูกค้าที่เป็นระดับ Enterprise หลากหลายอุตสาหกรรมตั้งแต่ Financial Services, Telco, Retail, Media, Automobile, Travel & Hospitality, Real Estate

สนใจส่ง CV ได้ที่ info@predictive.co.th ขอบคุณครับ

73 Nameless Fanboi Posted ID:xpuUu7c0lU

Understanding your target audience (domain). A mediocre “Programmer” who can understand exactly what the customer/user wants and how it impacts them will outproduce a wiz programmer who concentrates on making the algorithms “perfect”.

If what the audience wants is a way to made 3=2 then writing an algorithm that shows that 3<>2 in under 2 seconds is going to be worse than an algorithm that makes 3=2 even if it takes 20 years.

Many times programmers forget the reason they program. I always look at it this way.
1. We write programs for end users. The end game is to make a program that the end user will use. It doesn’t matter to them usually if a function call takes .0003 sec or .0002 sec. Knowing what the end user wants and being able to put it out is 10X more important (and profitable) than knowing how to code quickly.
2. We write Code for other programmers (and ourselves). The code we write has to be able to be available to other programmers or ourselves months or years later. That means that no matter how efficient a control table with a 256byte ascii translation key is, knowing what the heck it is doing by looking at the code 6 months from now is likely to be a problem, so unless it’s necessary to get #1 above done (maybe it’s happening in a loop and you need the performance) it’s an inefficient choice.

75 Nameless Fanboi Posted ID:2RvbwO7VDR

ผมว่าเดฟใช้ ReactNative นี่เห็นแก่..นิดๆ เพราะว่าสร้าง app โง่ๆเริ่มที่ 1 หน้า Build เสร็จขนาดเริ่มต้น 60MB ในขณะที่ Native จะมีขนาดประมาณ 1-2 MB

76 Nameless Fanboi Posted ID:3ASTSb8gvA

เร็วช้าหนักเบา Cr: พี่ต่อ
อันนี้ฟังมาแล้วเข้าใจประมาณนี้

#Agile เร็วและเบา(คล่องตัว) ให้ใช้กับ
งานที่ไม่เคยทำ งานใหม่ ลองผิด ลองถูก ไม่มีประสบการณ์
ทีมต้องตัดสินใจเองได้ ไม่ขึ้นอยู่กับ Policy กฎระเบียบที่ยุ่งยากซับซ้อน เพราะจะไม่ได้ความคล่องตัว บริการนั้นก็จะไม่ออกมาให้ใช้ได้สักที ช้าเกินไปก็อาจจะออกมาในเวลาที่ไม่เหมาะสม
งานที่ใช้ Agile เมื่อพบว่าไปผิดทาง ไม่ได้ผล ก็ยกเลิกได้ ไม่มีผลกระทบมากมายในธุรกิจ ถ้าได้ผลดีก็ค่อยๆเริ่มปรับให้มีมาตรฐานเพื่อกลายเป็น Norm และควบคุมได้ ไม่ผิดกฎ มีคุณภาพและค่อยๆ transform ออกไปเป็น waterfall

#Waterfall ช้าและหนัก ให้ใช้กับ
งานที่เคยทำ มีความรู้ มีประสบการณ์ มี Standard เป็น Routine ได้ มี Normal Sense ของทีมอยู่แล้ว เช่น ขั้นตอนในการ Take off , landing ของเครื่องบิน ต้องทำอะไรบ้างในทุก Flight แผนการบิน เช็คความพร้อมเครื่องบิน ความพร้อมเส้นทาง ฯลฯ
งานฝากถอนเงินต้องมีขั้นตอนอะไรบ้าง ต้องมีความปลอดภัยแค่ไหน มีอะไรที่ต้องคอนโทรลบ้าง ไม่ใช่เรื่องใหม่ที่คนต้องคิดออกนอกกรอบ ถ้าต้องคิดใหม่นอกกรอบ ให้ย้อนกลับไปลองด้วย Agile

77 Nameless Fanboi Posted ID:cp5l.Emb7M

อีช่อ ล้มเจ้า !! อีช่อ ล้มเจ้า !! อีช่อ ล้มเจ้า !! อีช่อ ล้มเจ้า !! อีช่อ ล้มเจ้า !!

พรรคอนาคตใหม่ ล้มเจ้า !! พรรคอนาคตใหม่ ล้มเจ้า !! พรรคอนาคตใหม่ ล้มเจ้า !!

คนเลือกพรรคอนาคตใหม่ คือพวกล้มเจ้า !! คนเลือกพรรคอนาคตใหม่ คือพวกล้มเจ้า !!

78 Nameless Fanboi Posted ID:rux7VDTWVY

>>75 เพราะกุเขียน native ไม่เป็น อส

79 Nameless Fanboi Posted ID:MEhBCfmZoa

>>77 อีควายอีโง่อีเวรอีเหี้ยอีสัสอีอักบัรผัดเผ็ดเย็ดอัลเลาะห์

80 Nameless Fanboi Posted ID:2WkhgF4r0w

>>79 อัลเลาะห์​ไม่เยสครับเพราะอัลเลาะห์​ชอบเด็กๆ

81 Nameless Fanboi Posted ID:X09ul2xe7M

ถ้ามองดีๆ การจัดการงานชิ้นนึงในองค์กรก็เป็น distributed system แบบหนึ่ง เพราะคุณต้องสื่อสารข้อมูล และมี agent ที่คอย deliver solution based on information หลายโหนดที่ต้อง sync ข้อมูลปัญหาของลูกค้าซึ่งกันและกัน ดังนั้น trade-off ชิ้นแรกที่สามารถพูดได้ทันทีเวลาแบ่ง role ย่อยๆ ในองค์กร คือ apply CAP theorem คุณเลือก c,a,p มากกว่ากันตอนแบ่ง role

และถ้าทำ information sharding ดีๆ ทีมจำนวนมากก็จะทำงานได้แบบ async โดยไม่ติดขัดเหมือน distribution system นั่น และเช่นกัน ถ้าไม่ดีคุณก็ต้องเสียสละ consistency, availability รวมถึง processing power และ network cost มหาศาล

และ มันมี trade-off เสมอ!!!! ไม่มี best practice

82 Nameless Fanboi Posted ID:QFiE9r59bZ

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

Culture ดึงคนที่ใช่กับผลักคนที่ไม่ใช่ อะไรคือใช่ เราก็กำหนดเอง เรากำหนดไม่ดี ก็รับผลเอง

เพราะทางเลือกที่ว่าถ้าไม่กำหนด ก็คือ culture happen by random ขนาดกำหนดเขียนยังเอาไม่ค่อยอยู่เลย ไม่เขียนนี่ random แน่นอน

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

เพราะทางเลือกอื่นมีอะไรบ้าง?

ไม่กำหนดและให้มันเป็น random ก็แย่กว่าแน่ๆ

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

“กำหนด culture ที่เชื่อจากใจ” นี่ก่อนจะมาบอกว่ามันง่ายแค่นี้ ผมผ่านการลองทางเลือกอื่นมาหลายทาง จนพบว่าสุดท้ายนี่แหละมัน simple but true ก่อนจะสรุปว่าทุก other complicated way มัน bullshit หมด คือลองมาแล้ว

ถ้าเราเชื่อจากใจแล้วโดนโลกความเป็นจริงตีว่าที่เอ็งเชื่อมันผิด มันโลกสวย มันใช้งานจริงไม่ได้ เราจะโตและ move on ได้ ถึงแม้จะเจ็บหนักมากๆ ก็เถอะ (ซึ่งผมก็ผ่านมาก่อน) แต่มันเจ็บแล้วจบ ไม่เลิกกับความเชื่อตัวเองแบบค้างๆ คาๆ

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

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

ปล. เห็นมั้ยว่าผมยึด prioritization over completeness เป็นสรณะจริงๆ

83 Nameless Fanboi Posted ID:gXx56gzJo5

ซักวัน หวังว่าโปรแกรมเมอร์ไทยจะเชื่อและเห็นเหมือนเรา เข้าใจและเชื่อจากเบื้องลึกจริงๆ ว่า “เขียนเทสทำให้เขียนโปรแกรมเร็วขึ้น”

ซึ่งผมไม่ได้ล้อเล่นนะ ผมเชื่อแล้วเห็นมันแล้วจริงๆ

จะเปลี่ยนความคิดจาก “เทสเสียเวลา แต่ก็ต้องทำเพื่อคุณภาพ” เป็น “เทสช่วยให้งานง่าย เขียนโปรแกรมเร็วและสนุก” ซักวัน

84 Nameless Fanboi Posted ID:87bX2qgLXf

พอแวะมา Techsauce Global Summit 2019 แล้วคิดว่าตัวเองคิดถูกที่เป็น Developer มากๆ

ในขณะที่คนสายอื่นๆ คุยกันผ่านข่าวลือ ผ่านผู้เชี่ยวชาญ ผ่านเพรส เรากลับคุยกันด้วย source code ด้วย packet capture ด้วยการ decompile ออกมาดู เป็นหลักฐานเชิงประจักษ์ ไม่ใช่จากแหล่งข่าว

ในขณะที่คนอื่นบอกว่าอันนี้กำลังมาแรง ถกเถียงกันว่าจะดีไหม เรา clone repo มาอ่านโค้ด มาลองแก้แล้วคุยกันบนพื้นฐานของระบบจริงๆ ไม่ชอบอะไรก็ส่ง PR ไปแก้เลย

หลายๆ อย่างถูก abstract away ให้คนที่ไม่ใช่สาย dev ฟัง คนส่วนใหญ่ก็จะบอกว่าต้องการ dev เพิ่มเยอะๆ หรือบางคนก็บอกว่าพวก dev พูดไม่รู้เรื่อง ทำไงให้พวกมันพูดรู้เรื่อง คุยยังไงกับมันดี

ในขณะที่กลุ่ม Developer กำลังจะจัด First Meetup มาลงโค้ดสำหรับเทคโนโลยีที่เพิ่งมาได้วันเดียวแล้ว กำลังจะลองสร้างสิ่งต่างๆ กันดูแล้ว

การเป็น Developer เป็นอะไรที่ได้เปรียบเยอะมากๆ เราไปนั่งฟังคนสายอื่นๆ พูด จะเป็น business หรือ designer เราเข้าใจได้ไม่ยากเลย แต่พอคนที่ไม่ใช่ dev เขาจะไม่อินกับสายเราเลย มองว่ามันลึกเกิน

หลายๆ คนมอง Developer ว่าเป็นทรัพยากร เป็น resource แบบหนี่ง หน้าที่คือเป็นคนทำให้มันเกิดอย่างเดียว เค้าก็เลย offload งานจริงๆ ให้เราทำ

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

ทั้งๆ ที่เราเข้าใจได้ทั้ง technical และ business perspective อยู่แล้ว dev ส่วนใหญ่ก็คิดไอเดียกันเก่งด้วย แต่ไม่ค่อยกล้ากัน หลายๆ คนโดน stereotype ของสังคม ทำให้เราคิดว่าเราต้องก้มหน้าก้มตาโค้ดอย่างเดียว

คนจากสายอื่นๆ ที่บ่นว่าอยากได้ dev น้อยคนที่ไปคุยกับ developer community leader หรือ researcher เองด้วยซ้ำอ่ะ หลายๆ คนยังไม่เข้าใจบริบทของเทคโนโลยีเลยว่าจริงๆ มันคืออะไร

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

หลายๆ คนที่บอกว่าต่อไป dev จะตกงาน คนจะไม่ต้องเขียนโค้ดอีกต่อไป หรือ AI จะมาแทนที่ dev ทั้งหมด หลายๆ คนยังไม่เข้าใจด้วยซ้ำว่าการเขียนโปรแกรมจริงๆ คืออะไร ภาพมันถูก abstract away ไปเยอะมากๆ

While everyone else were dreaming the possibilities, we are already building the goddamn thing.

It's a great time to be a developer.

#TSGS19

85 Nameless Fanboi Posted ID:87bX2qgLXf

โลกของการพัฒนาแอพกำลังจะเปลี่ยนเพราะ Huawei

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

Android App ใช้ JVM มาตั้งแต่แรก เพราะ business model ต้องการความหลากหลายของเครื่อง ทั้ง cpu, memory, features สารพัดจะแตกต่าง android รับได้หมด

ข้อเสียคือมันช้า โคดช้า จนถึงช้าที่สุด เมื่อเทียบกับ iOS ที่คอมไพล์ native ตรงๆ ไม่มี VM ซึ่ง Google ก็ปรับปรุงเรื่อยมา เช่น มี JIT (Just in time) compiler เร็วขึ้นแต่ยังต้องรันหลายๆรอบถึงจะเร็วขึ้น และต่อมาก็มี ART ซึ่งคอมไพล์ตอนติดตั้ง แลกเอาติดตั้งช้าหน่อย แต่วิ่งเร็วขึ้น เครื่อง Android มีปัญหาอีกอย่างคือ Java มี Garbage Collector ที่คอยทำงานไม่เป็นเวล่ำเวลา ทำให้เครื่อกระตุกตลอด

Apple ได้เปรียบ เพราะเป็น OS สำหรับ เครื่องจากบริษัทเดียว คุมได้ตลอด เปลี่ยน OS ที คนเปลี่ยนเหยียบ 80-90% ในเวลาไม่กี่เดือน ในขณะที่ Android คนเปลี่ยนช้ากว่ามาก เครื่องร้อยพ่อพันแม่ ทำให้ต้องใช้หลักการบนพื้นฐาน JVM ที่ compile ตามเครื่องที่รัน (Dynamic Compiler) ตามที่บอกข้างต้น

ทีนี้เมื่อโลกบีบหัวเหว่ย ทำให้หัวเหว่ยต้องออก OS ออกมา และจะขายออก ก็ต้องมีอะไรๆที่ดีกว่าแอนดรอยด์ หนึ่งในนั้นก็คือ ความเร็วของแอพ พี่แกก็เลยออก ARK Compiler ออกมา ประกาศว่าเป็น Open source ด้วย เป็น static compiler คอมไพล์ code ส่วนใหญ่เป็น native ไปเลย ไหนๆก็ไหนๆ ไม่มีอะไรต้องแคร์ เพราะรันบนเครื่องกรูเครื่องเดียว กับ CPU Kirin ซึ่งยังถือใบอนุญาตจาก ARM แบบตลอดชีวิตอยู่

ไม่ต้องมานั่งกังวลแบบ Google ที่ต้องทำ compiler ให้ซัพพอร์ตเครื่องหลากหลายรุ่นแบบมหาศาล

ตอนนี้รอดูว่ารูปแบบ apk จะออกมายังไง การ launch โปรแกรมต้องเปลี่ยนแน่ เพราะน่าจะไม่มี ART แล้ว (Android Run-Time) หรือจะมียังไง รูปแบบไหน

Developer ได้แต่ทำตาปริบๆ แค่ต้อง คอมไพล์ iOS, Android บวก Windows, Mac, Linux ก็แย่แล้ว ท่าทางจะมีเพิ่มอีก...

86 Nameless Fanboi Posted ID:87bX2qgLXf

วิธีในการทำงานของผม
1. หลีกเลี่ยงเครื่องมือ และ ไลบรารี่ภายนอก อันนี้เป็นจุดใหญ่ใจความเลย ถ้าอันไหนผมเขียนได้ ผมจะเขียนเองทั้งหมด ข้อดีของมันคือเราคุมได้ ว่าเราต้องการผลลัพท์แบบไหน การดัดแปลงก็ง่าย เพราะเรารู้ทุกบรรทัดที่เราเขียน ข้อเสียคือ เสียเวลา แต่การเสียเวลาผมว่าคุ้ม เพราะเราเสียเวลาแค่ครั้งแรกเท่านั้น เพราะเราจะได้ทั้งความรู้ และการต่อยอดในภายหลัง ซึ่งอาจใช้เวลาน้อยกว่า การศึกษาคู่มือของคนอื่น และ ความพยายามในการดัดแปลงซะอีก
2. ใช้เทคโนโลยีพื้นฐานให้มากที่สุด จริงๆ เทคโนโลยีมันถูกพัฒนาตลอดเวลาแหละ และของใหม่มักจะดีกว่าของเก่า ไม่ทางใดก็ทางหนึ่ง แต่ข้อเสียของ ของใหม่ที่สำคัญคือ มันมักจะถูกจำกัดให้ใช้กับคนที่มีความสามารถพอ เช่น docker ซึ่งหลายๆอย่าง มันเป็นของใหม่ และคนส่วนใหญ่ ยังไม่ได้ใช้มัน การทำงานกับคนส่วนใหญ่ จึงไม่จำเป็นต้องใช้ แต่ถ้าคุณทำงานในกลุ่มแคบๆ เช่นในองค์กร คุณจะใช้เครืองมืออะไร ก็สามารถเลือกได้ตามสบาย เพราะคุณสามารถควบคุมเทคโนโลยีที่จำเป็นของตัวเองได้
3. ทำมาเพื่อใช้ โค้ดทุกบรรทัด ต้องใช้ได้จริง งานทุกชิ้นต้องใช้ได้ จริงๆ ถ้าเราทำงานมาแล้วไม่มีคนใช้ มันเจ็บใจกว่าไม่ได้ทำมันขึ้นมาซะอีก จริงๆ ข้อนี้เป็นความลำบากอย่างหนึ่งในวิธีการทำงานของผม เพราะการออกแบบให้คนจำนวนมากสามารถใช้งานได้ มันยากกว่าทำให้ตัวเองใช้ หรือ ใช้ในกลุ่มแคบๆ การมีเจ้าภาพในการทำงาน มันมีข้อดีที่ requirement มันจะเป็นของเจ้าภาพ เราจะมีสโคป ชัดเจน งานจะง่าย ในขณะที่การทำงานกับคนในวงกว้าง requirement จะต้องสามารถทำงานได้กับคนที่มีความแตกต่างกันสูงๆด้วย (แต่ละคนอาจมี requirement ที่ไม่ตรงกัน)
4. เริ่มใหม่ได้เสมอ เปลี่ยนวิธีคิดได้ตลอดเวลา ้ถ้าเจออะไรใหม่ๆ หรือถึงทางตัน ผมไม่ซีเรียสนะ ถ้าผมต้องกลับไปเริ่มต้นจาก 0 ใหม่ พร้อมกับเปลี่ยนวิธีคิด อันนี้ผมว่าเป็นข้อดีของผมเลยทีเดียว หลายๆครั้งเวลาเราเจอปัญหา เรามักจะแก้ไขมันไม่ได้ เพราะ สมองเรามันมักจะคิดว่า เรามาถูกทางแล้ว แต่คงทำอะไรผิดซักอย่าง เป็นลูปซ้ำๆเดิม ซึ่งจริงๆ ถ้ามันผิดตั้งแตวิธีคิด แต่เรายังคงวนในลูปเดิมๆ แน่นอนว่า เราไม่มีทางประสบความสำเร็จภายใต้ลูปนั้นๆ ทางออกคือ เราต้องออกจากลูป แล้วเริ่มต้นใหม่ ซึ่งผมมักจะทำได้ง่ายมาก
จริงๆ คนอายุขนาดผม มันต้องมีวิธีคิดเป็นของตัวเองได้แล้วแหละ ไม่จำเป็นต้องคิดตามคนอื่น หรือ คิดแบบองค์กร เพราะ ประสบการณ์ที่ผ่านมา มันน่าจะสอนอะไรเรามาได้พอสมควร ทำให้ผมสามารถเลือกทางที่เหมาะสมกับตัวเองได้ แต่ไม่ได้หมายความว่าผมแนะนำให้ต่อต้านเทคโนโลยี หรืออะไรนะครับ มันยังคงจำเป็น สำหรับการเรียนรู้ โดยเฉพาะคนรุ่นใหม่ ยังจำเป็นต้องเรียนรู้และแสวงหาอยู่ เพราะเทคโนโลยีใหม่ในวันนี้ จะเป็นเทคโนโลยีเก่าในวันข้างหน้า เทคโนโลยีใหม่กว่าจะถูกนำมาแทนที่ และ เทคโนโลยีใหม่ในวันนี้ อาจเป็นมาตรฐานในอนาคตก็ได้ ใครจะไปรู้

87 Nameless Fanboi Posted ID:8PbR5Zo8i8

>>86 >หลีกเลี่ยงเครื่องมือ และ ไลบรารี่ภายนอก
ดีหรอวะ...

88 Nameless Fanboi Posted ID:cYthLejNDU

>>87 ครับ เพราะงั้นเลิกใช้ reactjs ซะนะครับ ถถถ

89 Nameless Fanboi Posted ID:hUku7/xmt6

วันนั้นในสมาคมโปรแกรมเมอร์ มีคนถามไว้ว่า ใน mvc เอา business logic ไว้ที่ไหนดี หลายคนตอบ model หลายคนตอบ controller
.
.
ส่วนผมไปตอบไว้สั้นๆว่า mvc มันไม่แคร์ว่า business logic มาจากไหน เพราะมันอยู่นอก scope ของปัญหาที่มันพยายามแก้
.
.
.
มีคนไปตีความว่า เอาไว้ตรงไหนก็ได้ ซึ่งก็ยิ่งออกประเด็นไปไกลใหญ่

สิ่งที่พยายามสื่อแต่ล้มเหลว คือ ถ้าโลกของคุณมีแค่ฆ้อนคุณจะเห็นทุกอย่างเป็นตะปูไปหมด เช่นเดียวกัน ถ้าโลกของคุณมีแค่ mvc คุณก็จะเห็นทุกอย่างเป็น mvc ไปหมดจนปิดกั้นจินตนาการอื่นๆ
.
.
pattern มันขอ scope ตัวเองเฉพาะเรื่องการแสดงผล คุณจะไปเอา data มาจากไหนก็ได้​ โยนให้ model มัน ที่เหลือมันจัดการให้

เราจะเอา logic ไปขียนไว้ใน hexagonal architecture ที่ pure มาก หรือจะเขียน logic ไว้ใน controller แบบไม่ต้องมี abstraction ใดๆ เลยก็ได้ หรือจะสร้าง rich domain model แล้วบอกว่า rich model นั่นแหละคือ presentation model เดียวกันใน mvc ก็แล้วแต่เลย
.
.
จะวาง architecture ยังไง มันขึ้นกับว่าคุณอยากสร้าง abstraction มากน้อยแค่ไหนเพื่อมาจัดการความซับซ้อนของ domain problem ของคุณเอง
.
.
.

อย่าเอา mvc เป็นตัวตั้ง แล้วหมุนตามมัน แต่ให้มันหมุนตามเรา ให้เราใช้มันเพราะเข้าใจ ไม่ใช่ให้มันมาใช้เราโดยเราไม่เข้าใจ

Be Civil — "Be curious, not judgemental"

  • FAQs — คำถามที่ถามบ่อย (การใช้บอร์ด การแบน ฯลฯ)
  • Policy — เกณฑ์การใช้งานเว็บไซต์
  • Guidelines — ข้อแนะนำในการใช้งานเว็บไซต์
  • Deletion Request — แจ้งลบและเกณฑ์การลบข้อความ
  • Law Enforcement — แจ้งขอ IP address

All contents are responsibility of its posters.