Latest

AI พาเราพุ่งชนความซับซ้อนเร็วขึ้น

AI พาเราพุ่งชนความซับซ้อนเร็วขึ้น

AI ไม่ได้ทำให้ Software ง่ายขึ้น มันแค่ทำให้เราเข้าสู่ช่วงที่ยากของ S-Curve เร็วขึ้น ในช่วงหลายปีที่ผ่านมา ตั้งแต่การเปิดตัวของ ChatGPT และเครื่องมืออย่าง GitHub Copilot หลายคนเริ่มพูดเหมือนกันว่า “ตอนนี้เขียน software ง่ายขึ้นมาก”

By Santi
ผู้นำที่ Adaptive ต้องเข้าใจ Self

ผู้นำที่ Adaptive ต้องเข้าใจ Self

ความเป็นผู้นำในยุคนี้ไม่ใช่เรื่องของ "ตำแหน่ง" แต่เป็นเรื่องของ "การตอบสนองต่อการเปลี่ยนแปลง" Leadership is not about 'Change'—It’s about 'Adaptive' ในโลกที่ความผันผวนกลายเป็นเรื่องปกติ เรามักได้ยินคำแนะนำว่าผู้นำต้อง "Change" หรื

By Twin Panitsombat
What is Framework(s)? - A simplest explanation ever?

What is Framework(s)? - A simplest explanation ever?

"Project นี้เราจะใช้ Spring Boot framework สำหรับ backend นะ..." บทสนทนาทั่วไปที่เราคงจะเคยได้ยินมาอยู่เป็นประจำ ไม่ว่าคุณจะเป็น frontend หรือ backend คำว่า framework ก็เป็นสิ่งที่ทุกคนนั้นพูดถึงอยู่เป็นประจำ Framework...Framework...Framework... – เป็นคำที่คนที่อยู่ในวงการ

By Jirat Chokdeeanan
Higher Order Function ใน Go

Higher Order Function ใน Go

ในภาษา Go การเขียน Higher-Order Functions (HOF) เริ่มมีความน่าสนใจและใช้งานได้กว้างขวางขึ้นมากหลังจากที่มี Generics (Go 1.18+) เข้ามา เพราะเราไม่ต้องเขียนฟังก์ชันแยกสำหรับทุก Type อีกต่อไป Higher-Order Functions ใน Go: ยกระดับโค้ดให้ยืดหยุ่นด้วย Generics ในภาษา Go

By Twin Panitsombat
ไล่ตามความฝัน กับ ดูแลตัวเอง

Polarity

ไล่ตามความฝัน กับ ดูแลตัวเอง

ไล่ตามความฝัน กับ ดูแลตัวเอง ก่อนหน้านี้ผมเคยเล่าถึงขั้วตรงข้าม (Polarity) ระหว่างความคล่องตัวกับความสร้างสรรค์ไปแล้ว ครั้งนี้ผมมองว่า "การไล่ตามความฝัน" และ "การดูแลตัวเอง" (เปรียบเสมือน นักรบ กับ นักรัก)

By Chokchai Phatharamalai
ตลาดสด if err != nil ใน Go

ตลาดสด if err != nil ใน Go

Go เป็นภาษาที่ไม่สามารถทำ partial apply ได้โดยธรรมชาติ ... ทำให้ การลดรูป function ต่างๆให้มาเป็น unary function เป็นของแปลกสำหรับคนเขียน Go ฟังก์ชั่นของพวกเขาก็จะรับของเยอะและ compose ยาก ส่งผลให้ การทำ function composition เป็นเรื่องนอกกรอบมากสำหรับชาว Go - ส่วนผมนั้นสาย Mo Lang เป็นพวกทนไม่

By Twin Panitsombat
Signatures That Don't Lie

Signatures That Don't Lie

เคยไหมครับ อ่านชื่อฟังก์ชันในโค้ด เห็น Input และ Output ดูปกติมาก แต่พอรันจริงกลับเจอ Runtime Error พ่นใส่หน้า หรือเจอ Null โผล่มาแบบไม่ได้รับเชิญ ทั้งที่ Type ไม่ได้บอกไว้... ในโลกของ Functional Programming (FP) เรามีเป้าหมายอย่

By Witaya Tospitakkul
Parse, don’t validate

Parse, don’t validate

ผมได้รู้จัก Principle นี้ตอนศึกษาเรื่อง Type System และเร็วๆ นี้เพิ่งเห็นน้องในทีมนำ Library ที่ใช้แนวคิดนี้มาใช้ แต่พอเราไม่เข้าใจหลักการเบื้องหลัง (Core Principle) การนำไปใช้งานเลยติดขัดและเกิดปัญหาตามมา เลยคิดว่าน่าจะหยิบเรื่องนี้มาเล่าให้ฟังกั

By Witaya Tospitakkul
Automation Without Budget: When QA Stops Waiting and Starts Leading

Automation Without Budget: When QA Stops Waiting and Starts Leading

Automation ไม่ได้เริ่มจาก budget แต่มันเริ่มจาก ‘ความเจ็บ’ ที่ทีมทนไม่ไหวอีกต่อไป” ลองถามทีมคุณตรงๆ: * regression ใช้กี่วัน? * ก่อน release ต้องใช้คนกี่คน? * bug หลุด production กี่ครั้ง? แล้วลองมองภาพนี้: ทีมใช้เวลา 3 วันเพื่อ regression

By Tipticha Chanhom
Mo Lang เมื่อผมอยากได้ความรื่นรมย์ในการเขียนโปรแกรม

Mo Lang เมื่อผมอยากได้ความรื่นรมย์ในการเขียนโปรแกรม

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

By Twin Panitsombat
สกรัมเป็น Empirical process

scrum

สกรัมเป็น Empirical process

กระบวนการแก้ปัญหาในโลกแบ่งเป็น 2 แบบ แบบแรกคือ Defined process ซึ่งเป็นกระบวนการที่มีขั้นมีตอนชัดเจน เช่น Waterfall เป็นต้น ส่วนแบบที่สองคือ Empirical process หรือ "กระบวนการเชิงประจักษ์" ซึ่งเป็นการทำไปแล้วก็ปรับไปเรื่อย ๆ สกรัมเป็นแบบหลัง

By Chokchai Phatharamalai
นิ่ง

นิ่ง

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

By Santi