Skip to main content

Command Palette

Search for a command to run...

Refactoring Club

Published
2 min readView as Markdown
Refactoring Club
Y

My name is Yothin Muangsommuk. I've been in many roles in Software Development team, Software Engineer, Tech Lead, and Technical Coach. My focus has always been improving a sustainability and maintainability through Technical Excellence and Software Craftsmanship. I also A Python enthusiasm, An occasional conference speaker (PyCon APAC, Code Mania, Barcamp Bangkok), and a community organizer (PyCon Thailand, PySomTum, GDG Cloud Bangkok).

Interests: Programming Language Design, Software Engineering, Distributed System

Story

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

เมื่อประมาณ 2 ปีที่แล้วตอนที่ผมกำลังคุยกับน้องคนนึงในทีมอยู่ว่า อยากเขียนโค้ดเก่งขึ้นนะ ซึ่งในมุมมองผมน้องก็เก่งระดับนึงอยู่แล้ว แต่ผมเชื่อว่าคนเราสามารถพัฒนาตัวเองได้ ถ้าเรามีความตั้งใจที่มากพอ ประกอบกับช่วงนั้นหนังสือ Refactoring 2Ed เพิ่งออก ผมเลยชวนน้องมาอ่านหนังสือด้วยกัน แล้วมา Discuss กัน ซึ่งบังเอิญว่า มันมีน้องคนอื่นๆ ในทีมนั่งอยู่ใกล้ๆ กันแถวๆ นั้นด้วยดันได้ยิน มันเลยเกิดสิ่งที่เรียกว่า Refactoring Club ขึ้นครับ

ซึ่ง Refactoring Club ตอนนั้นไอเดียหลักๆ คือเหมือน Flight Club (ถ้าใครไม่เคยดูหนังเรื่องนี้ลองหาดูได้ครับ) แต่แทนที่จะมาสู้กัน เรามีข้อตกลงด้วยกันข้อเดียวกันครับคือ ทุกๆ วันพุธเช้า เราจะมา Discuss สิ่งที่เราอ่านมาด้วยกัน บางสัปดาห์เนื้อหาข้างในเยอะก็จะคุยกันหลายสัปดาห์หน่อย แต่จะเฉลียอยู่ที่ 1 สัปดาห์ต่อ Chapter ซึ่งเราทำอย่างนี้จนคนใน Refactoring Club ผ่านหนังสือเล่มนี้จนจบเล่ม

สิ่งที่ผมเห็นอย่างนึงคือ ช่วงแรกๆ ที่เราเริ่มรู้จัก Code Smell กัน ประสบการณ์ในการ Review Pull Request ในทีมมันดีขึ้นอย่างมีนัยยะสำคัญครับ ผมเริ่มได้ยินการอ้างอิงถึง Code Smell, Refactoring Strategy ต่างๆ มากขึ้นในทีม แม้กระทั่งพูดถึง Refactoring Club ใน Retrospective เป็นช่วงเวลาที่ผมสนุกมาก

ที่ผมเล่าเรื่อง Refactoring Club ก่อน เพราะหลังจากขาดหายสิ่งเหล่านั้นมาเกือบ 2 ปี ผมคิดถึงการคุยกันแบบนั้นมากครับ เลยเป็นที่มาของสิ่งที่ผมกำลังอยากจะทดลองดู

ผมมีความเชื่อว่า "เราทุกคนสามารถเป็นคนดีขึ้นได้ ถ้าเรามีความตั้งใจเพียงพอ และอาศัยแรงผลักดันอีกนิดหน่อย" ผมเลยอยากจะเริ่มให้คำปรึกษาในเรื่อง Software Development Career ครับ และผมขอเรียกมันว่า Refactoring Club เหมือนเดิม เพียงแต่ครั้งนี้เราไม่ได้ Refactoring Code แต่เป็น Refactoring People ครับ

ใครที่เหมาะกับโครงการนี้

ผมค้นพบว่าช่วงเวลาทำงาน 2 ปีแรกจะเป็นตัวกำหนดวิธีการทำงานที่เหลือตลอดชีวิตครับ เพราะฉะนั้น น้องๆ ที่อาจจะกำลังเริ่มต้นการทำงานในสายงาน Software Development ไม่ว่าจะเป็น Softwar engineer, Developer, Programmer หรือจะเรียกตัวเองว่าอะไรก็ตาม คือตัวเลือกที่ดีที่สุดครับ

แต่สิ่งหนึ่งที่ผมคาดหวังจากคนที่อยากมาร่วมโครงการนี้คือ อย่างน้อยคุณต้องเขียนโปรแกรมได้ละ อย่างน้อย 1 ภาษา ภาษาอะไรก็ได้ ไม่ต้องถึงขั้นดีมากก็ได้ แต่อย่างน้อยก็แก้โจทย์ Fizzbuzz ได้ก็เพียงพอแล้ว

อย่างที่สองคือ คุณต้องมีเป้าหมายกับการมาร่วมโครงการนี้ครับ ว่าอยากพัฒนาตัวเองไปด้านไหนในชีวิตการทำงานในวงการ Software Development ครับ เพราะเรื่องนี้ไม่มีใครบอกคุณได้ แม้กระทั่งผม คำตอบนี้ต้องมาจากตัวคุณเองครับ

อย่างที่สามคือ คุณต้องมีเวลา, มีส่วนร่วมและเปิดใจกับ Session และกลุ่ม Facebook ที่ผมจะ Invite เข้าต่อไปครับ

เราจะคุยกันยังไงดี

ที่ผมเล็งไว้คือ คืนวันเสาร์ 2 ทุ่มครับในวันที่ 6/2, 20/2, 6/3, 20/3, 3/4, 17/4, 1/5 ครับผ่าน Video call ซักช่องทาง ในสภาวะ COVID แบบนี้

เราจะคุยกันเรื่องอะไรบ้าง

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

  • Crafting your career path in Software Development
  • Problem-solving technique
  • Communication technique
  • Software design
  • Software testing
  • Software craftmanship
  • Backend development skill

ซึ่งถ้าใครอ่านมาถึงตรงนี้แล้ว ผมขอบคุณมากๆ และถ้าคุณสนใจสามารถลงทะเบียนได้ในแบบฟอร์มข้างล่างเลยครับ โดยผมจะปิดลงทะเบียนในวันพฤหัสที่ 4 กุมภา ครับ

https://pythonbycow.typeform.com/to/ZBoJTyrs

More from this blog

ยิง request แบบไม่มีสะดุดด้วย emacs REST client

ช่วงปีใหม่ผมมีเวลาไปเรียนคอร์ส The Ultimate Go Series ของพี่ยอดซึ่งจากใจคนที่ดู Go อยู่ห่างๆ ผมบอกได้เลยว่าคอร์สนี้สอนได้ครบเครื่องมากในเวลาไม่กี่ชั่วโมง แต่นั่นไม่ใช่ประเด็นครับ ประเด็นคือตอนคอร์ส 2 ที่กำลังเรียนเรื่อง API พี่ยอดใช้ HTTP Client ที่ร...

Jan 9, 20223 min read102
ยิง request แบบไม่มีสะดุดด้วย emacs REST client

[Book Review] The Phoenix Project เพราะ IT Operation ก็ไม่ต่างกับ Production Plant

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

Dec 20, 20214 min read456
[Book Review] The Phoenix Project เพราะ IT Operation ก็ไม่ต่างกับ Production Plant

Emacs diary EP2: สภาพแวดล้อม

ผมไม่รู้ว่าจะมีใครมาใช้ emacs แบบ เป็น text-editor ตัวแรกเลยมั้ย ผมไม่ใช่คนนึงแน่ๆ ซึ่งพอเราเปลี่ยนเครื่องมือ มันจะอารมณ์เดียวกับเราเปลี่ยนภาษา Programming ที่เราเขียนทุกวันเลย เพราะสิ่งแรกๆ ที่เราพยายามทำคือ "เราพยายามจะทำสิ่งเดียวกับที่เราเคยทำได้จ...

Dec 4, 20214 min read98
Emacs diary EP2: สภาพแวดล้อม

เรื่องประหลาดๆ ของการนับปีใน Java

ลืมหัวข้อ blog นี้ไปก่อนนะครับ แล้วลองพยายามเดาดูว่าโค้ด Java ข้างล่างนี้พยายามทำอะไร มันก็ดูตรงไปตรงมาใช่มั้ยครับ แล้วถ้ารันออกมาสมมติวันนี้วันที่ 1 ธันวาคม 2021 สิ่งที่ function นี้คืนกลับมาก็ เป็น 2020-12-01 ใช่มั้ยครับ ถ้าเราเขียน Unit test ไว้ ...

Dec 1, 20212 min read96
เรื่องประหลาดๆ ของการนับปีใน Java

Make Time | โลกมันวุ่นวาย แต่เรายังหาความสงบได้นะ

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

Nov 18, 20212 min read144
Make Time | โลกมันวุ่นวาย แต่เรายังหาความสงบได้นะ
P

Python by Cow

22 posts