Chaiyong Ragkhitwetsagul

SE CORNER

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

Author

Chaiyong Ragkhitwetsagul

Category

Technology

Podcast website

cragkhit.github.io

Latest episode

Jul 5, 2026

Where to listen?

Podcasts in the app Replaio Radio Coming soon

Podcasts are coming to the app soon. Install now and be the first to see a whole new take on podcasts

Get it on Google Play Install for free Android 5M+ downloads · 4.8 rating iOS soon

Episodes

EP83 - It's all about Complexity - สรุปจากหนังสือ A Philosophy of Software Design 26.02.2023

EP นี้หยิบหนังสืออีกเล่มมาอ่านและสรุปให้ทุกท่านฟังกันครับ หนังสือชื่อ A Philosophy of Software Design โดย Prof. John Ousterhout เป็นหนังสือที่ให้แนวทางการออกแบบซอฟต์แวร์ในระดับโค้ดดิ้งเลย ผมคิดว่ามีประโยชน์และสามารถนำไปใช้ได้จริงครับ  โดยใน EP นี้จะเริ่มจากปัญหาของการออกแบบซอฟต์แวร์ที่ไม่ดีก่อน ซึ่งวายร้ายหลักก็คือ ความซับซ้อน (complexity) นั่นเอง เราไปดูกันว่า สัญญาณที่บ่งบอกว่าซอฟต์แวร์เราเ...

EP82 - เล่างานวิจัย: ปัญหาความปลอดภัยใน npm packages 19.02.2023

หยิบงานวิจัยที่ทำกับนักศึกษามาเล่าสู่กันฟังใน EP นี้ครับ งานนี้เป็นเรื่องเกี่ยวกับปัญหาความปลอดภัยใน npm packages ซึ่งเกิดขึ้นได้บ่อยๆ ไม่ว่าจะเป็น package ที่เรา import เข้ามาเอง (direct dependency) หรือ package ที่ถูกเรียกใช้จาก package ที่เรา import มาอีกที (transitive dependency) เราจะตรวจสอบปัญหาจาก package เหล่านี้ได้อย่างไร ไปฟังกันใน EP นี้ครับ เครื่องมือ V-Achilles: https://github.com/MUI...

EP81 - Continuous Integration - คำแนะนำจากหนังสือ Software Engineering at Google 12.02.2023

EP นี้ เอาเนื้อหาจาก Chapter 23 ของหนังสือ SE at Google เรื่อง Continuous Integration (CI) มาเล่าให้ฟังกันครับ  ไปดูกันว่า Google มีคอนเซ็ปต์ของ CI อย่างไร และใช้งาน CI ในช่วงไหนบ้างใน development workflow ใน EP นี้ครับ

EP80 - วัด Developer Productivity ยังไง? ปัญหาที่ยังแก้ไม่ตก 05.02.2023

Episode ที่ 80 นี้ผมหยิบบทความชุดใหม่เรื่อง Developer Productivity for Human โดยนักวิจัยจาก Google สองท่าน คุณ Ciera Jaspan และ คุณ Collin Green มาเล่าให้ฟังกันครับ โดยใน EP นี้จะพูดถึงปัญหาว่า ทำไมการวัดผลิตภาพของนักพัฒนาซอฟต์แวร์ (developer productivity) จึงเป็นเรื่องที่ยาก ซึ่งประกอบด้วยปัจจัยหลายอย่าง เช่น developer ก็เป็นคน (ไม่ใช่เครื่องจักร มีความรู้สึกนึกคิด มีอารมณ์ มี background ที่แตกต่...

EP79 - เล่างานวิจัย: เอา VR มาใช้กับ SE 30.01.2023

EP นี้หยิบงานวิจัยของตัวเองมาเล่าให้ฟังกันครับ เป็นงานวิจัยที่ทำร่วมกับ อ. มรกต เชิดเกียรติกุล อ. อภิรักษ์ หุ่นหล่อ และ อ. โมเรศ ปรัชญพฤทธิ์ ครับ ในงานวิจัยนี้เราศึกษาว่าการนำ Virtual Reality (VR) มาใช้ในการเรียนการสอน Software Engineering โดยเฉพาะการนำเสนอผลงาน มีผลต่อการเรียนการสอนอย่างไร ผมคิดว่าผลที่ได้อาจจะนำไปประยุกต์ใช้กับการทำงานของทีมพัฒนาซอฟต์แวร์ในการทำงานแบบ WFH หรือ work from anywhere...

EP78 - ใช้เครื่องมือ Static Analysis อย่างไรให้ได้ประโยชน์เต็มที่ - คำแนะนำจากหนังสือ Software Engineering at Google 22.01.2023

EP กระโดดมา Chapter 20 ในหนังสือ Software Engineering at Google เรื่อง Static Analysis ครับ ผมอธิบายว่าเครื่องมือ Static Analysis คืออะไร และเลือกแนวทางการใช้งานเครื่องมือ Static Analysis ที่ Google มาอธิบาย เพื่อให้ผู้ฟังสามารถลองหาเครื่องมือที่ใกล้เคียงกัน และเลือกจุดใน developer workflow ที่นำเครื่องมือเหล่านั้นไป plug-in ได้อย่างเหมาะสม โดยหลักๆ มีอยู่ 3-4 จุด คือ ช่วง code review, ช่วง presub...

EP77 - DevOps แบบ Netflix ต้องมี Architecture, Culture, Tooling และ Skills ให้ครบ 15.01.2023

EP นี้พาไปดูการทำ DevOps แบบ Netflix กันครับ คุณ Lorin Hochstein ซึ่งเป็น senior software engineer ที่ Netflix และดูแลด้าน continuous delivery tooling มาแชร์ว่าบริษัทของเขาทำ DevOps อย่างไร โดยความสำเร็จของ DevOps ที่ Netflix เกิดจาก 4 ปัจจัยหลัก คือ Architecture (สถาปัตยกรรมซอฟต์แวร์ที่เหมาะสม), Culture (วัฒนธรรมองค์กรที่ส่งเสริม), Toooling (ชุดเครื่องมือที่ช่วยสนับสนุน) และ Skills (ความสามารถที่...

EP76 - Version Control System ที่ Google เป็นอย่างไร? - คำแนะนำจากหนังสือ Software Engineering at Google 08.01.2023

EP นี้ มาเล่าเนื้อหาจาก Chapter 16 ของหนังสือ Software Engineering at Google เรื่อง Version Control and Branch Management ให้ฟังกันครับ โดยเน้นไปที่เรื่อง dev branch, release branch, monorepo และกฎ one version ของ Google เนื้อหาจะเป็นอย่างไร ไปฟังกันใน EP นี้ครับ

EP75 - สรุปเทคโนโลยี Frontend ในปี 2022 อะไรมา? อะไรไป? 01.01.2023

สวัสดีปีใหม่ผู้ฟัง SE Corner ทุกท่านครับ EP แรกต้อนรับปี 2023 นี้ จะขอนำผลการสำรวจนักพัฒนา frontend จำนวนกว่า 3,700 ท่านมาเล่าให้ฟังครับ โดยการสำรวจนี้ทำโดย The Software House ซึ่งทำให้เห็นภาพสถานะของ frontend technology รวมถึงแนวปฏิบัติด้าน software engineering ที่เกี่ยวข้องและได้รับความนิยมในปีที่ผ่านมาได้ดีมาก  รายละเอียดจะเป็นอย่างไร ไปฟังกันใน EP นี้ครับ ผลสำรวจ State of frontend 2022: h...

EP74 - Wrapped of 2022 ของ SE Corner 25.12.2022

EP ส่งท้ายปี 2022 นี้ นำผลจาก Wrapped of 2022 ที่ Anchor (ของ Spotify) ที่เป็นแพลตฟอร์มที่ผมใช้ในการอัพโหลด podcast ทำสรุปมาให้อย่างสวยงาม​ พร้อมทั้งสถิติที่น่าสนใจหลายๆ อย่าง มาเล่าให้ฟังกันครับ ปีนี้เป็นปีแรกที่ผมได้ทำ podcast ครบทุกสัปดาห์ตลอดปี ซึ่ง EP นี้จะเป็น EP ที่ 52 ในปีนี้ เท่ากับจำนวนสัปดาห์ในหนึ่งปีพอดีเป๊ะ :) ขอบคุณท่านผู้ฟังทุกคนมากๆ ครับที่แวะเวียนเข้ามาฟังกัน หวังว่าจะมีประโยชน์นะ...

EP73 - ISO29110 มาตรฐานการพัฒนาซอฟต์แวร์ที่เหมาะกับบริษัทขนาดเล็ก 18.12.2022

EP นี้ผมขออธิบายมาตรฐาน ISO/IEC 29110 ซึ่งเป็นมาตรฐานกระบวนการด้านการพัฒนาซอฟต์แวร์ที่ออกแบบมาสำหรับบริษัทซอฟต์แวร์ขนาดไม่เกิน 25 คนครับ ซึ่งผมคิดว่ามีประโยชน์กับบริษัทซอฟต์แวร์ขนาดเล็กๆ ในประเทศไทยเราเป็นอย่างมาก ใน EP นี้ เราจะไปดูกันว่า องค์ประกอบของมาตรฐานนี้มีอะไรบ้าง และประโยชน์ที่จะได้รับจากการได้มาตรฐานนี้แล้วคืออะไร ไปฟังกันใน EP นี้ครับ

EP72 - เมื่อวันที่ต้อง Deprecate ซอฟต์แวร์มาถึง ทำอย่างไร? - คำแนะนำจากหนังสือ Software Engineering at Google 11.12.2022

ซอฟต์แวร์ใดๆ วันหนึ่งก็ต้องมีจุดที่มีการหยุดการให้บริการ ไม่ว่าจะเป็นเพราะหมดอายุการใช้งานจริงๆ หรือมีระบบใหม่ที่ทดแทนกันขึ้นมา EP นี้ สรุปเนื้อหาจาก Chapter 15 ของหนังสือ Software Engineering at Google ว่าเราจะทำกระบวนการ Deprecation (การหยุดให้บริการหรือหยุดการดูแลรักษา) ของซอฟต์แวร์อย่างไร ให้เหมาะสม และมีปัญหาน้อยที่สุด  ไปฟังรายละเอียดใน EP นี้กันครับ

EP71 - AI Engineer vs. Software Engineer 04.12.2022

AI Engineer เป็นงานที่กำลังเป็นที่ต้องการมากขึ้นเรื่อยๆ ในอนาคต ในขณะที่ Software Engineer เองก็เป็นตำแหน่งงานที่ยังได้รับความนิยมสูงสุดในปัจจุบัน บทความจาก IEEE Software ของคุณ Ipek Ozkaya ชี้ให้เห็นว่าสองงานนี้มีความใกล้เคียงกันมากกว่าที่คิด โดยงาน AI Engineering ซึ่งเกิดใหม่ ยังต้องการความรู้พื้นฐานจาก Software Engineering อีกหลายส่วน เพราะการสร้าง ML models ก็เป็นการสร้างซอฟต์แวร์แบบหนึ่ง ไปฟั...

EP70 - ปรัชญาแห่งการออกแบบซอฟต์แวร์ โดย Prof. John Ousterhout จาก Talks at Google 27.11.2022

ผมได้ไปฟัง Talks at Google อันหนึ่งแล้วพบว่าน่าสนใจมาก เลยหยิบมาเล่าให้ฟังกันใน EP นี้ครับ หัวข้อคือ "A Philosophy of Software Design" โดย Prof. John Ousterhout จาก Stanford University ศาสตราจารย์ Ousterhout นี่เป็นผู้คร่ำหวอดในวงการการศึกษาและพัฒนาซอฟต์แวร์ เพราะแกทำงานเป็นอาจารย์ก่อน แล้วก็ไปทำบริษัท 14 ปี แล้วก็กลับมาเป็นอาจารย์อีก เพราะฉะนั้นแกรู้ทั้งบุ๋นและบู๊แน่นอน คำแนะนำใน Talks at Google...

EP69 - End-to-End Test แบบ Google ทำอย่างไร? (ตอนที่ 2) - คำแนะนำจากหนังสือ Software Engineering at Google 20.11.2022

EP นี้กลับมาอ่าน Chapter 14 Larger Tests ในหนังสือ Software Engineering at Google กันต่อ โดยจะเล่าให้ฟังถึง larger tests ทั้งหมด 10 ชนิด ที่ใช้อยู่ใน Google  Functional testing of one or more binaries Browser and device testing Performance, load, and stress testing Deployment configuration testing Exploratory testing A/B diff (regression) testing User acceptance testing (UAT) Probers and cana...

EP68 - ประสบการณ์ไปร่วมงาน DevMountain Tech Festival 2 13.11.2022

EP นี้ขอคั่นรายการจาก EP ที่แล้วนิดนึง เนื่องจากเพิ่งกลับมาจากงาน DevMountain Tech Festival 2 ที่เชียงใหม่ เลยมาแชร์ประสบการณ์ในการไปร่วมงาน Developer Conference ครั้งแรกครับ ไปฟังกันใน EP นี้ครับ

EP67 - End-to-End Test แบบ Google ทำอย่างไร? (ตอนที่ 1) - คำแนะนำจากหนังสือ Software Engineering at Google 06.11.2022

EP นี้ขยับมา Chapter 14 ในหนังสือ SE at Google ครับ มาคุยกันเรื่อง "Larger Test" ซึ่งก็หมายถึง System Test หรือ End-to-End Test นั่นเอง โดยในตอนที่ 1 นี้ ผมจะเล่าให้ฟังว่า Google ตีความหมายของเทสต์ขนาดใหญ่เหล่านี้อย่างไร และเหตุผลใดจึงต้องทำเทสต์เหล่านี้ รายละเอียดเป็นอย่างไร ไปฟังกันใน EP นี้ครับ

EP66 - แนวทางการเรียนการสอนด้าน Software Engineering ในปัจจุบัน 30.10.2022

ในปัจจุบันการเรียนการสอนด้าน SE เป็นอย่างไร? ใช้วิธีการใดในการสอนบ้างเพื่อให้นักศึกษาที่จบออกไปมีความรู้ความสามารถที่ตรงกับความต้องการของตลาดจริงๆ EP นี้พาไปดูกันครับ  ผมนำงานวิจัยจาก University of Zagreb ที่ไปศึกษางานวิจัยด้านการศึกษาที่เกี่ยวกับ software development จำนวน 120 งานวิจัย และสรุปผลออกมาในสองด้าน คือ (1) วิธีการสอน (teaching methods and approaches) และ (2) ลักษณะของการสอนและวิธี...

EP65 - Requirement Engineering เปลี่ยนไปอย่างไรบ้างในรอบ 10 ปี? 23.10.2022

EP นี้นำงานศึกษาวิจัยจาก IEEE Software ชื่อ The Current and Evolving Landscape of Requirements Engineering in Practice มาเล่าให้ฟังกันครับ Mohamad Kassab และ Phillip Laplante จากมหาวิทยาลัย Pennsylvania State University ศึกษาเรื่อง requirement engineering มาอย่างยาวนาน และได้ทำการเปรียบเทียบผลการ survey นักพัฒนาตั้งแต่ปี 2003, 2008, 2013 จนถึงรอบล่าสุด 2020/2021 (ทำสองรอบ) และเปรียบเทียบผลลัพธ์ใน...

EP63 - Test Doubles คืออะไรและควรใช้อย่างไร? (ตอนที่ 2) - คำแนะนำจากหนังสือ Software Engineering at Google 16.10.2022

EP นี้มาคุยกันต่อเรื่อง Test Doubles จากบทที่ 13 ในหนังสือ Software Engineering at Google ครับ โดยจะลงรายละเอียดไปที่การใช้ test doubles สองแบบคือ 1. Fake - ตัวแทน implementation จริง ที่ทำงานเหมือนตัวจริง แต่ใช้วิธีการต่างกันบางอย่าง เพื่อให้เหมาะกับการเทสต์ เช่น การเขียน/อ่านข้อมูลจาก memory แทนที่จะเป็น disk  2. Stub - การใช้ mock object พร้อมกับการกำหนด return value หรือคำตอบจากการเรียก m...

EP63 - Test Doubles คืออะไรและควรใช้อย่างไร? - คำแนะนำจากหนังสือ Software Engineering at Google 09.10.2022

EP นี้เล่าเรื่องจาก Chapter 13 ในหนังสือ Software Engineering at Google เรื่อง Test Doubles หรือ การใช้ตัวแทนของ implementation หรือ API บางส่วนที่จำเป็นในการเทสต์ เพื่อทำให้การทดสอบนั้นเป็นไปได้อย่างรวดเร็วและสะดวกมากขึ้น ส่ิงที่น่าสนใจคือ Google เชื่อว่า เราไม่ควรใช้ test doubles เยอะๆ เพราะมักจะนำไปสู่ปัญหาในการดูแลรักษาภายหลัง รวมถึงเทสต์ที่ใช้ test doubles ก็ไม่ค่อยมีประโยชน์ในการหาบั๊กสักเท่...

EP62 - "The Rise of SQL" การกลับมาของภาษา SQL 02.10.2022

EP นี้เป็นตอนต่อเนื่องมาจาก EP ที่แล้วที่เราคุยกันเรื่อง Top Programming Languages 2022 ที่จัดอันดับโดย IEEE Spectrum ครับ ผลการจัดอันดับในปีนี้มีจุดน่าสนใจอันหนึ่งคือ ภาษา SQL อยู่อันดับ 1 หากทำการจัดอันดับเรื่องการหางาน ใน EP นี้เลยมาเจาะลึกกันดูว่า เพราะเหตุผลใด SQL จึงกลับมาเป็นภาษาที่ได้รับความนิยมมากอีกครั้งหนึ่ง ผมเจอบทความที่อธิบายเรื่องนี้ใน IEEE Spectrum เขียนโดยคุณ Rian Diane Caballar ค...

EP61 - อันดับ Top Programming Languages 2022 โดย IEEE 25.09.2022

EP นี้พาไปดูผลการจัดอันดับ Top Programming Languages ปี 2022 โดย IEEE Spectrum ครับ เค้าจัดอันดับโดยดูข้อมูลจากหลายแหล่งด้วยกัน ได้แก่ Google Search, Twitter, Stack Overflow (no. of questions, posts), Reddit, IEEE Explore (no. of articles), IEEE Job Site, CareerBuilder, และ GitHub (starred repos, no. of PR) ซึ่งผลที่ออกมาก็คือ  จัดตามผู้ที่สนใจใน IEEE Spectrum: Python, C, C++, C#, Java, SQL จ...

EP60 - หลักการ Unit Testing แบบ Google ตอนที่ 2 - คำแนะนำจากหนังสือ Software Engineering at Google 18.09.2022

EP นี้มาคุยต่อเนื่องเรื่องการเขียน unit testing แบบ Google ครับ โดยจะเน้นไปที่หลักการเขียนเทสต์ให้มีความชัดเจน (Clarity) โดยเทสต์ที่มีความชัดเจนจะมีประโยชน์ทั้งในแง่การ maintenance และในแง่การตรวจหาบั๊กที่เจอด้วยเทสต์นั้นๆ ด้วย  หลักการที่หนังสือ Software Engineering at Google แนะนำ เพื่อให้เทสต์มีความชัดเจนที่สุด มีดังต่อไปนี้ 1. Make Your Tests Complete and Concise ยึดหลักสองอย่างคือ เทสต์ต...

EP59 - หลักการ Unit Testing แบบ Google ตอนที่ 1 - คำแนะนำจากหนังสือ Software Engineering at Google 11.09.2022

EP นี้อ่าน SE at Google book กันต่อครับ Chapter 12 เป็นเรื่อง Unit Testing ที่ Google ให้ความสำคัญมากๆ โดยหนังสือมีคำแนะนำว่าควรจะออกแบบ unit test อย่างไรให้หลีกเลี่ยงปัญหา brittle test และทำให้ unit test suite ของเราดูแลรักษาได้ง่าย (test maintainability สูง)  โดยหลักการที่ Google แนะนำ เช่น test state, not interactions ผมคิดว่าชัดเจนและมีประโยชน์มากๆ และเป็นจุดที่คนเขียน unit test จะสับสนว่...

Listen to the SE CORNER podcast in Replaio

Radio and podcasts in one app - free, with no sign-up. Install today and do not miss the launch

Get it on Google Play

Replaio is not a podcast publisher; show names, artwork and audio belong to their authors and are distributed through public RSS feeds.