Chaiyong Ragkhitwetsagul

SE CORNER

SE Corner "มุมซอฟต์ๆ ของวิศวกรรมซอฟต์แวร์" โดย ชัยยงค์​ รักขิตเวชสกุลทำอย่างไรจึงจะบริหารซอฟต์แวร์ทีมให้ดีขึ้น? ทำยังไงจะทำให้ซอฟต์แวร์มีบั๊กน้อยลง? ทำไมยิ่งเวลาผ่านไปซอฟต์แวร์เราถึงดูแลรักษายากขึ้นเรื่อยๆ? Podcast นี้ชวนคุณคุยเรื่องราวอัพเดตในมุมสบายๆ เกี่ยวกับวิศวกรรมซอฟต์แวร์ (Software Engineering: SE) ทั้งด้านงานวิจัย เครื่องมือและเทคนิคที่ช่วยนักพัฒนาซอฟต์แวร์ที่จะแก้ไขปัญหาดังกล่าว แชร์ประสบการณ์ และข่าวอัพเดตในแวดวง SE

Koniecznie odwiedź stronę podcastu i wesprzyj twórcę: cragkhit.github.io

Autor

Chaiyong Ragkhitwetsagul

Kategoria

Technology

Strona podcastu

cragkhit.github.io

Ostatni odcinek

11 paź 2026

Gdzie słuchać?

Podcasty w aplikacji Replaio Radio Już wkrótce

Podcasty trafią do aplikacji już wkrótce. Zainstaluj teraz i jako pierwszy zobacz nowe podejście do podcastów

Pobierz z Google Play Zainstaluj za darmo Android prawie 10 mln pobrań · ocena 4,8 iOS niedługo

Odcinki

EP47 - ก๊อปปี้โค้ดจาก Stack Overflow อย่าลืม CC BY-SA 4.0 license 19.06.2022

EP ชวนคุยเรื่อง software license โดยเฉพาะ license ของโค้ดบน Stack Overflow  โค้ดและเนื้อหาใดๆ บน Stack Overflow นั้น ไม่ได้เป็น public domain แต่อยู่ภายใต้ license ชื่อ Creative Commons Attribution-ShareAlike 4.0 International (หรือ CC BY-SA 4.0) ซึ่งมีแนวทางกำหนดไว้ว่าสามารถนำไปใช้ได้ แต่จะต้อง (1) ให้ attribution หรือให้เครดิตกลับมาที่เจ้าของเนื้อหา และ (2) หากนำไปใช้ต่อ ผลงานนั้นๆ ก็จะต้อง...

EP46 - Case study การบริหารจัดการ documentation ที่ Google 12.06.2022

อ่านๆ Software Engineering at Google บทที่ 10 แล้วไปเจอเรื่องแทรก เลยเปลี่ยนเรื่องเล่าใน EP นี้เลย :-) เป็น case study ของการเปลี่ยนจาก Google Wiki มาใช้ระบบ g3doc ที่ผสานเข้ากับ workflow การทำงานของ developer ที่ Google ได้อย่างดี ทำให้การทำ documentation กลายเป็นเรื่องง่าย และได้รับการยอมรับเป็นอย่างดีจาก developer เลยไปนั่งอ่านและดู talk ของคุณ Riona MacNamara ที่ป็น Google g3doc lead แล้วเอามา...

EP45 - กระบวนการ Code Review ที่ Google - คำแนะนำจากหนังสือ Software Engineering at Google 05.06.2022

EP นี้พูดคุยเนื้อหาจากหนังสือ Software Engineering at Google ในบทที่ 9 เรื่อง Code Review มีเรื่องที่น่าสนใจหลายเรื่องเช่น Code review ที่ Google จะต้องมีการตรวจสอบสามอย่าง คือ correctness (ความถูกต้อง), comprehension (ความเข้าใจง่าย ), และ consistency บางครั้ง ทั้งสามอย่างมีใน reviewer คนเดียว Code review ช่วยทำให้เกิด shared ownership ของโค้ดร่วมกันภายในทีม Code review ช่วยทำให้เกิดการแบ่งปันควา...

EP44 - ลด Tech Debt ด้วยการสร้าง Tech Wealth 29.05.2022

เราน่าจะรู้จักหนี้ทางเทคโนโลยี technical debt (tech debt) กันอยู่บ้างแล้ว มีตัวอย่างมากมายที่แสดงให้เห็นว่า tech debt ก่อให้เกิดปัญหาในภายหลังได้ร้ายแรงขนาดไหน ซอฟต์แวร์ทีมส่วนใหญ่กลัวว่าจะเผลอสร้าง tech debt กัน แต่สุดท้ายก็หนีมันไม่พ้น EP นี้พาไปดูบทความเรื่อง "Reframing tech debt" ของคุณ Leemay Nassery ที่เป็น engineering manager ของ Dropbox ที่บอกว่า เราควรจะปรับความคิดเสียใหม่ ให้เน้นไปที่การ...

EP43 - เขียน requirements ให้ดีขึ้นได้ ด้วยเทคนิค EARS 22.05.2022

EP นี้พาไปรู้จักกับเทคนิคการเขียน requirements ที่ดีและถูกใช้กันอย่างแพร่หลาย ชื่อว่า EARS (Easy Approach to Requirements Syntax) ซึ่งถูกสร้างขึ้นโดย Alistair Mavin และมีแพทเทิร์นการเขียนที่สำคัญ 5 แบบ คือ 1. Ubiquitous requirements 2. State-driven requirements 3. Event-driven requirements 4. Optional feature requirements 5. Unwanted behaviour requirements หากเราเขียนให้ดี requirements ทุกอันจะสาม...

EP42 - โค้ดจาก GitHub Copilot ดีแค่ไหน? 15.05.2022

EP นี้หยิบงานวิจัยใหม่เอี่ยมจาก Mining Software Repositories (MSR '22) ชื่อ "An Empirical Evaluation of GitHub Copilot’s Code Suggestions" โดย Nhan Nguyen and Sarah Nadi จาก University of Alberta มาเล่าให้ฟังกันครับ ทีมวิจัยนี้ศึกษาความถูกต้องและความเข้าใจง่าย (understandability) ของโค้ดที่แนะนำมาจาก GitHub Copilot โดยได้ใช้ตัวอย่างคำถาม 33 คำถามจาก LeetCode ซึ่งเป็น website สำหรับฝึกฝนการเขียนโปร...

EP41 - เพิ่ม Developer Experience (DX) ได้ ถ้าเข้าใจตรงจุด 08.05.2022

EP นี้ชวนคุยเรื่อง developer experience หรือ DX ครับ คุณ Jean Yang เจ้าของบริษัท Akita ให้ความเห็นว่าต่อไปในอนาคต DX จะมีส่วนสำคัญอย่างมาก เพราะจำนวน developers ในโลกนี้เพิ่มขึ้นเรื่อยๆ (ตอนนี้มีจำนวนมากกว่าคนออสเตรเลียทั้งประเทศ!) เราจะสร้าง developer tools ที่ดีอย่างไร? เพื่อให้นักพัฒนามี DX ที่ดี และมีความสุขระหว่างการทำงาน เธอบอกว่านักพัฒนาซอฟต์แวร์จะต้องเจอกับซอฟต์แวร์ที่ซับซ้อนขึ้นเรื่อยๆ แล...

EP40 - Coding Style สำคัญอย่างไร? (ตอนที่ 2) - คำแนะนำจากหนังสือ Software Engineering at Google 01.05.2022

EP นี้ไปอ่านบทที่ 8 ของหนังสือ Software Engineering at Google กันต่อ มาดูกันว่า Google สร้าง Style Guide ขึ้นมาจากหลักการทั้ง 5 ที่กล่าวไปก่อนหน้าได้อย่างไร? กฎทั้งหลายใน Style Guide สามารถเปลี่ยนได้หรือไม่และมีวิธีการอย่างไร? การนำกฎไปใช้ นำไปใช้ตอนไหนและใช้อย่างไร? เนื้อหาทั้งหมดนี้ ไปฟังกันใน EP นี้ครับ 

EP39 - Coding Style สำคัญอย่างไร? - คำแนะนำจากหนังสือ Software Engineering at Google 24.04.2022

EP นี้กลับมาอ่านหนังสือ Software Engineering at Google ต่อ ในบทที่ 8 "Style Guides and Rules" ที่พูดถึงเรื่องการกำหนดแนวทางการเขียนโค้ดในบริษัทกูเกิ้ล EP จะเป็นตอนที่ 1 ที่พูดถึงหลักการสำคัญ 5 ประการในการกำหนด coding styles and guides ซึ่งได้แก่ Pull their weight - styles guide ควรมีแค่สิ่งที่สำคัญและจำเป็นจริงๆ Optimize for the reader - style guide ควรคำนึงถึงผู้อ่านมากกว่าผู้เขียนโค้ด Be consist...

EP38 - "To Microservices and Back Again" เมื่อไมโครเซอร์วิสไม่ตอบโจทย์ 17.04.2022

EP นี้หยิบบทความเรื่อง "To Microservices and Back Again - Why Segment Went Back to a Monolith" ซึ่งเล่าตัวอย่าง case study ของบริษัท Segment ที่เคยพยายามจะแก้ปัญหา Environment Isolation ของซอฟต์แวร์ตนเองด้วยไมโครเซอร์วิส แต่สุดท้ายกลับพบว่าเจอปัญหาที่บริหารจัดการได้ยากกว่าเก่า และสุดท้ายเลือกที่จะกลับมาใช้สถาปัตยกรรมแบบ Monolith อีกครั้งหนึ่ง ปัญหาเริ่มต้นคืออะไร ทำไมย้ายไปไมโครเซอร์วิสแล้วไม่เวิร...

EP37 - Code Review เมื่อส่ิงที่หวัง กับ สิ่งที่ได้ อาจจะไม่ตรงกัน 10.04.2022

EP นี้หยิบงานวิจัยที่เก่าหน่อยแต่ยังมีประโยชน์อยู่มาเล่าให้ฟังกันครับ เป็นงานวิจัยของ Alberto Bacchelli และ Christian Bird ที่ Microsoft ชื่อว่า "Expectations, Outcomes, and Challenges Of Modern Code Review" ซึ่งเป็นงานวิจัยที่ศึกษาจากนักพัฒนาของไมโครซอฟต์และพยายามเข้าใจ 3 อย่าง คือ (1) ความคาดหวังจากการทำ code review, (2) ผลที่ได้จากการทำ code review และ (3) ปัญหาหรือความท้าทายในกระบวนการ code re...

EP36 - "I test in production" เมื่อการทดสอบใน production เป็นส่ิงที่ควรและต้องทำ 04.04.2022

ท่านผู้ฟังอาจจะเคยเห็นมีมอันนี้ "I don’t always test my code, but when I do, I test in production." - the Most Interesting Man in the World ซึ่งก็เป็นมีมขำๆ ที่ให้ชวนหัวเราะว่า การปล่อยให้ซอฟต์แวร์ไปถูกทดสอบบน production นี่มันช่างกล้า เหมือนฆ่าตัวตายชัดๆ Charity Majors (CTO ของบริษัท honeycomb.io) เธอบอกว่าการทดสอบไม่ได้จำกัดหรือไม่ควรถูกจำกัดอยู่แค่ระหว่างการพัฒนาหรือ staging enviroment เท่านั้น...

EP35 - Measuring Engineering Productivity เราจะนำการวัดมาใช้ประโยชน์ในกระบวนการพัฒนาซอฟต์แวร์อย่างไร? - คำแนะนำจากหนังสือ Software Engineering at Google 27.03.2022

Episode นี้พาท่านผู้ฟังกลับไปอ่านหนังสือ Software Engineering at Google กันต่อ ใน Chapter 7 จะเป็นเรื่อง Measuring Engineering Productivity ที่อธิบายว่า Google นำการวัดมาใช้ประโยชน์ในกระบวนการพัฒนาซอฟต์แวร์ อย่างไร ที่ Google จะมีทีมวิจัยเฉพาะที่ตั้งขึ้นมาเพื่อทำการวัดผลในหลากหลายกระบวนการ โดยทีมวิจัยนี้จะประกอบไปด้วยนักวิจัยด้านวิศวกรรมซอฟต์แวร์และด้านอื่นๆ ที่เกี่ยวข้อง เช่น จิตวิทยา (เพื่อเข้าใ...

EP34 - Building for the 99% Developers เมื่อ dev tools ที่ชอบ อาจจะไม่ใช่ tools ที่ใช่? 20.03.2022

EP ที่ 34 นี้เอาบทความจากเว็บไซต์ a16z.com ของคุณ Jean Yang มาเล่าให้ฟังครับ ผู้เขียนบอกว่า developer tools/platforms/environments ทั้งหลายที่มีอยู่ในปัจจุบันนั้นเกือบทั้งหมดจะถูกสร้างขึ้นและนำมาใช้ในบริษัทใหญ่ๆ เช่น Facebook-Apple-Amazon-Neflix-Google ไม่ว่าจะเป็น microservices, GraphQL, DevOps นั้น อาจจะไม่ได้จำเป็นต้องนำมาใช้และยิ่งกว่านั้นคือ อาจจะไม่เหมาะกับบริษัทของเราด้วย เราต้องเลือกดูว่าบ...

EP33 - เล่างานวิจัยให้ฟัง "ความท้าทายด้าน Software Engineering ของซอฟต์แวร์ SME ในประเทศไทย" 13.03.2022

EP นี้ขอหยิบงานวิจัยล่าสุดมาเล่าให้ฟังกันครับ ผมและทีมอาจารย์จากคณะ ICT มหิดล ร่วมกับนักวิจัยจาก University College London ร่วมกันกับบริษัทซอฟต์แวร์ในประเทศไทย 4 บริษัท เพื่อศึกษาถึงปัญหาและความท้าทายในการพัฒนาซอฟต์แวร์ของบริษัทซอฟต์แวร์ขนาดเล็กไปถึงกลาง หรือที่เรียกว่า SME ในประเทศไทย ว่ามีอะไรบ้าง เพื่อที่เราจะให้หาวิธีการแก้ไขปัญหาและความท้าทายเหล่านั้นด้วยกัน ผ่านการใช้งานวิศวกรรมซอฟต์แวร์อัตโ...

EP32 - Coding for Humans and Computers สาขาวิจัยใหม่ที่จะช่วยปรับปรุงโค้ดให้เข้าใจง่ายขึ้นแบบอัตโนมัติ 06.03.2022

EP นี้จะพาไปดูสาขางานวิจัยใหม่ที่บอกว่า "โค้ดที่เราเขียนขึ้นไม่ใช่แค่ให้คอมพิวเตอร์เข้าใจนะ แต่เรายังต้องการให้คนก็เข้าใจง่ายด้วย" ซึ่งทีมวิจัยจาก University of California Davis กำลังศึกษาอยู่ว่า เราสามารถที่จะใช้ machine learning เพื่อปรับปรุงโค้ดที่เราเขียนขึ้นมาแล้ว ให้อ่านง่ายขึ้น review ง่ายขึ้น และดูแลรักษาง่ายขึ้น ได้หรือไม่ นอกจากนี้เรายังสามารถใช้วิธีการคล้ายๆ กัน เพื่อช่วยแก้ปัญหาในการเข...

EP31 - The Developer Nation ในวันที่นักพัฒนาซอฟต์แวร์มีจำนวนเยอะกว่าประชากรบางประเทศ ประเทศใหม่นี้ต้องการอะไร? 27.02.2022

EP นี้ชวนคุยเรื่องการเติบโตอย่างก้าวกระโดดของจำนวนนักพัฒนาซอฟต์แวร์และการสนับสนุนที่นักพัฒนาซอฟต์แวร์เหล่านั้นต้องการ ผมหยิบบทความจาก IEEE Software ชื่อ "The Developer Nation" มาเล่าให้ฟัง  เนื้อหาจะเป็นอย่างไร ไปฟังกันใน EP นี้ครับ

EP30 - AlphaCode: เมื่อ AI เริ่มเขียนโค้ดได้เกือบเท่าคน แล้วคนไปทำอะไรดี? 20.02.2022

EP นี้เอางานวิจัยล่าสุดของ DeepMind ชื่อ "Competitive programming with AlphaCode" มาเล่าสู่กันฟังครับ งานนี้เป็นการพัฒนาระบบปัญญาประดิษฐ์ชื่อ AlphaCode ที่สามารถอ่านโจทย์ปัญหาภาษามนุษย์ (ภาษาอังกฤษ) แล้วสร้างโปรแกรมที่สามารถแก้ปัญหาดังกล่าวออกมาได้ โดยผลการทดสอบจากโจทย์จริงบนระบบของ Codeforces พบว่าเจ้า AlphaCode สามารถทำคะแนนได้ในระบบ Top 54% เทียบกับคนที่เข้าร่วมการแข่งขันทั้งหมด ทำให้น่าคิดว่า...

EP29 - Positive patterns ที่ Engineering Manager ควรทำเพื่อสร้างทีมที่แข็งแกร่ง - คำแนะนำจากหนังสือ Software Engineering at Google 13.02.2022

Episode นี้ต่อตอนที่สองของ How to Lead a Team จาก Chapter 5 ของหนังสือ Software Engineering at Google มีคำแนะนำดีๆ ในการทำงานเป็น engineering manager ที่จะช่วยให้สร้างทีมที่แข็งแกร่งได้ ปล่อยวางอีโก้ ทำตัวนิ่ง สงบ สยบเคลื่อนไหว เป็นคาตาลิสต์และกำจัดสิ่งกีดขวางของทีม พูดอย่างจริงใจ คอยติดตามความสุขและความก้าวหน้าของลูกน้อง เนื้อหาจะเป็นอย่างไร ไปติดตามกันใน EP นี้ครับ :)

EP28 - 6 Antipatterns ที่ Engineering Manager ควรหลีกเลี่ยง - คำแนะนำจากหนังสือ Software Engineering at Google 06.02.2022

EP นี้กลับมาอ่านหนังสือ Software Engineering at Google ต่อครับ Chapter 5 เรื่อง How to Lead a Team เป็นเรื่องเกี่ยวกับการบริหารจัดการ software team ของ engineering manager และ teach lead โดยหนังสือได้ยกตัวอย่างทั้งวิธีการที่ควรหลีกเลี่ยงและวิธีการที่ควรปฏิบัติ ใน EP จะสรุปส่วนของ 6 antipatterns หรือ 6 วิธีการที่ควรหลีกเลี่ยงก่อน ดังนี้ครับ 1. Hire Pushovers - เลือกจ้างเฉพาะลูกน้องที่สั่งได้ง่ายๆ 2...

EP27 - Deliver Software ให้ดีขึ้น เร็วขึ้น ทำอย่างไร - งานศึกษาจาก DevOps Research and Assessment (DORA) ที่ Google Cloud 30.01.2022

EP นี้นำผลการศึกษาจาก DevOps Research and Assessment (DORA) ที่ Google Cloud มาแชร์ให้ฟังกันครับ เราสามารถแบ่งองค์กร IT ออกเป็นกลุ่มๆ ในด้าน software delivery and operational performance ได้โดยใช้ตัวชี้วัด 4 อย่างคือ Deployment frequency (deploy บ่อยแค่ไหน), Lead time for change (โค้ดที่ commit ขึ้นไป production เร็วแค่ไหน), Time to restore service (เมื่อระบบมีปัญหาแล้ว กู้กลับได้เร็วแค่ไหน), และ...

EP26 - เปลี่ยนภาษา Programming ไม่ใช่เรื่องง่ายๆ เพราะอะไร? 23.01.2022

เคยสงสัยมั้ยครับเวลาเราเปลี่ยนภาษาที่เขียน แรกๆ อาจจะง่าย แต่เอาจริงๆ ถ้าจะเขียนให้ดีระดับเซียน กลายเป็นยากมากๆ เหมือนว่าเริ่มเรียนภาษานี้แต่แรกอาจจะง่ายซะกว่า คุณไม่ใช่คนเดียวครับ งานศึกษาจาก North Carolina State University และ Microsoft พบว่า developers ส่วนใหญ่ (61%) ก็มีปัญหาเช่นเดียวกัน ซึ่งสาเหตุมาจากการรบกวนกันระหว่างสองภาษา (interference) ซึ่งเกิดขึ้นได้จากหลายสาเหตุ เช่น ติดนิสัยเดิมๆ มาจ...

EP25 - สร้างเสริม Knowledge Sharing ในองค์กร (ตอนที่ 2) - Code Readability - คำแนะนำจากหนังสือ Software Engineering at Google 16.01.2022

EP นี้คุยกันต่อเรื่องการสร้างเสริม knowledge sharing ในองค์กร โดยเน้นไปที่ตัว code เช่น documentation, code comment, และกระบวนการที่ใช้กันใน Google ที่เรียกว่า "Readability" ซึ่งเป็นกระบวนการปรับปรุงคุณภาพของโค้ด รวมถึงการบังคับใช้ best practices ขององค์กรผ่าน code review  เรื่องนี้น่าสนใจมากเพราะ Google สามารถใช้วิธีนี้เพื่อควบคุมคุณภาพของโค้ดในหลากหลายโปรเจคท์ หลากหลายภาษา ใน repository ที่...

EP24 - สร้างเสริม Knowledge Sharing ในองค์กร (ตอนที่ 1) - Building Learning Culture - คำแนะนำจากหนังสือ Software Engineering at Google 09.01.2022

EP นี้กลับมาคุยเนื้อหาบทที่ 3 ในหนังสือ Software Engineering at Google กันต่อครับ เราจะบริหารองค์กรอย่างไรให้มีการแบ่งปันความรู้และเป็น learning organization ได้ บทเรียนจาก Google มีดังนี้ครับ Challenges to Learning: ต้องกำจัดปัญหาที่ขัดขวางการเรียนรู้ในองค์กร (เช่น information islands, single point of failure) ออกไป Setting the Stage: สร้างบรรยาการเรียนรู้ให้เกิดขึ้นในองค์กร Scaling Your Question...

EP23 - Software Development Trends ในปี 2022 02.01.2022

Happy New Year 2022 ครับทุกท่าน EP นี้ผมลองหาข้อมูลดูว่า Software Development Trends of 2022 ที่น่าสนใจมีอะไรบ้าง สรุปได้มา 7 เรื่อง เลยเอามาเล่าสู่กันฟังครับ 

Słuchaj podcastu SE CORNER w Replaio

Radio i podcasty w jednej aplikacji - za darmo, bez zakładania konta. Zainstaluj już dziś i nie przegap premiery

Pobierz z Google Play

Replaio nie jest wydawcą podcastów; nazwy audycji, okładki i audio należą do ich autorów i są rozpowszechniane przez publiczne kanały RSS