Fanboi Channel

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

Last posted

Total of 80 posts

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 อัลเลาะห์​ไม่เยสครับเพราะอัลเลาะห์​ชอบเด็กๆ