พอดีวันก่อนผมลองแก้ปัญหาโจทย์ โจทย์หนึ่งที่คล้ายกับเป็น Legacy Code และมีเงื่อนไข If-Else ที่น่าทึ่งพอสมควร จึงเกิดคำถามขึ้นมาว่า “เอ้ย? เราจะทำอะไรกับมันได้บ้างนะ?”

แน่นอนคำพูดของทุก ๆ คนก็คงหนีไม่พ้นคำว่า “ก็ Refactor มันซะสิ” ใช่ไหม? ผมเองก็คิดแบบนั้นเหมือนกัน … แต่มันก็มีคำถามว่า Refactor นี่มันจะต้องทำยังไงกันนะ

วันนี้เลยจะมาแชร์เทคนิคเล็ก ๆ เกี่ยวกับ “Refactor” ในแบบของผมกันครับ!

Refactoring

ผมอิงจากหนังสือ Working effectively with Legacy Code เค้าให้คำแนะนำมาเป็นตารางนึงที่บอกว่า Changing Software นั้นมีทั้งหมด 4 แบบใหญ่ ๆ ด้วยกันคือ...


สวัสดีครับ :) ในวันที่ผมโพสรีวิวปี 2019 ของตัวเอง ทุก ๆ คนรอบตัวคงโพสกันไปหมดแล้ว … ผมตั้งใจไว้แบบนั้น

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

Everything is going according to the plan.

  • “ทุกอย่างเป็นไปตามที่คิดไว้” ประโยคสั้นๆ ประโยคเดียวที่บอกเล่าเรื่องราวของปี 2019 ได้อย่างหมดจด … ตั้งแต่ต้นปีตลอดจนท้ายปี
  • จริง ๆ ไม่ได้เขียนรีวิวปี 2018 ไว้ เพราะผมไม่พอใจปีนั้นของตัวเอง หลายเรื่องในปีนั้นมันค่อนข้างหนักทั้งกาย ทั้งใจพอสมควร แม้มันจะมีเรื่องดี ๆ เกิดขึ้นมากมาย … จึงทำให้ผมตั้งเป้าว่าปี 2019 ต้องเป็นปีที่ผมขอแค่ “มีความสุขและยิ้มได้ตลอดปี”
  • แบ่งเป็นทีละเรื่องให้ตัวเองได้โฟกัสดีกว่า…


ผมเองก็ถามคำถามนี้กับตัวเองตอนที่ยังเรียนอยู่ จนตอนนี้จบมาแล้ว ทำงานแล้วก็ยังถามอยู่ ซึ่งอย่างน้อยก็เผื่อวันนึงมีน้องมาถามจะได้ตอบได้ในแบบของเรา..

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

เพื่อไปลองว่าเราถูกใจไหม.

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

มหา’ลัยมันถูกออกแบบมาเพื่อเป็นสนามเด็กเล่นเพื่อให้เราทดลอง ทำพลาดบ้าง ทำดีบ้าง ชอบบ้าง ไม่ชอบบ้าง ให้เราเข้าใจธรรมชาติของสายอาชีพนั้น ๆ

เพื่อตอบว่าสุดท้ายแล้ว หลังจากเรียนจบไป “เราจะอยู่กับมันไปจนแก่ได้รึเปล่า”

เพื่อไปเจอกับคนที่ชอบในสิ่งที่คล้าย ๆ กัน.

พอเข้ามหา’ลัยมันค่อนข้างจะเฉพาะทางมากขึ้น เราก็จะเริ่มเจอสังคมรอบตัวที่สนใจอะไร ๆ เหมือนกันกับเรา หรือเพื่อนบางคนอาจจะมีความชอบเหมือนกันกับเราเลยก็ได้

ทำให้ในช่วงเรียน ก็จะมีคนที่ชวนเราไปทำกิจกรรมโน่นนี่, ไป Meetup งานต่าง ๆ , ไปช่วยทำงานนั้น, ไปฝึกงานบริษัทนี้ เป็นต้น

และพอวันที่เรียนจบ มากกว่าแค่เพื่อนที่สนใจในสิ่งคล้าย ๆ กันแล้ว บางครั้งอาจจะมีเพื่อนมาทำงานด้วยกัน, ได้ Partner ทำธุรกิจด้วยกัน, ได้คนที่คุยเรื่องเหมือน ๆ กันแม้จะอยู่คนละบริษัท, หรือแม้กระทั่งคนที่จะชวนเราไปกินเหล้าทุกศุกร์เพื่อฟังมันบ่นอะไรก็ไม่รู้ เนอะ (เดี๋ยวหลังเรียนจบน้องจะเข้าใจ..)…


สวัสดีครับ! คิดว่าหลายคนที่หลงเข้ามาในนี้คงจะเป็นคนที่อยากรู้ว่า เฟิสมันไปทำไรที่จีน? หรือไม่ก็คนที่ว่าง เลื่อนผ่าน Feed แล้วมาเจอคนแชร์บทความนี้ หรือจะเป็น ThoughtWorker ประเทศไทยเอง!

ก็ขอขอบคุณทุกท่านที่เข้ามาอ่านกันนะครับบ ~

ผมชื่อ เฟิส ครับ ตอนนี้อยู่ ThoughtWorks ประเทศไทย ในตำแหน่ง Developer, Graduate Consultant … จากตำแหน่งแน่นอนว่าผมพึ่งจบได้ 2 เดือนเศษ ๆ และนี่เป็นงานประจำงานแรกในชีวิตของผมเช่นกัน

นี่ก็ถือเป็นโอกาสที่พึ่งกลับจากจีน กินอาหารไทยที่คิดถึงเรียบร้อย ก็เลยมาแชร์ประสบการณ์ 5 อาทิตย์กว่า ๆ ที่ไปอยู่ Xi’an, China ไว้เผื่อเก็บไว้อ่านตอนโต

ที่ ThoughtWorks เนี่ยถ้าใครเป็น Graduate หรือสั้น ๆ ว่า Grad จะถูกส่งไป จีน หรือ อินเดีย เพื่อเรียนรู้การทำงาน ซึ่งในที่นี้เราเรียกมันว่า “ThoughtWorks Universityหรือเรียกสั้น ๆ ว่า “TWU” ซึ่งจะเป็นที่ที่ทุกคนในตำแหน่ง Grad จากทั่วโลกจะมาเรียนรู้งานด้วยกัน

ขอย้ำอีกทีว่า “ทั้งโลก” จริง ๆ

ThoughtWorks University 66th

สไตล์การจัด TWU นั้นจะจัดเป็นรอบ ๆ ซึ่งจะจัดที่ อินเดีย และ จีน คละ ๆ กันไป แล้วแต่ช่วง … และจะเรียกแต่ละรอบที่จัดว่า Batch ซึ่งตัวผมอยู่ใน Batch ที่ 66


This is the English version of [สิ่งที่ผมได้เรียนรู้จาก #100DaysofCode]. It’s happening because I wish to practice my English-writing skill.

Hello there, I am a senior student at the School of Information Technology, King Mongkut’s University of Technology Thonburi (KMUTT). Bangkok, Thailand.

I have a chance to talk in a lightning session for about ~15 minutes with this topic at YWC Programming Meetup #6. I want to keep it as my memory and share with your guys’.

It’s started when I joined the XConf Thailand 2019 by ThoughtWorks Thailand, what I got from this event is the inspiration from the speakers and…


พอดีได้โอกาสไปพูด Lightning Talk ในหัวข้อนี้ประมาณ ~15 นาที ที่ YWC Programmer Meetup ครั้งที่ 6 เลยอยากจะมาบันทึกเก็บเอาไว้

มันเริ่มมาจากที่ตัวผมไปร่วมงาน XConf Thailand 2019 ของ Thoughtworks Thailand ซึ่งสิ่งหนึ่งที่เราได้รับจากงานนี้คือแรงบัลดาลใจและพลังจากพี่ ๆ Speaker และเพื่อน รุ่นพี่ รุ่นน้องทุก ๆ คนที่ร่วมงาน

แต่อีกมุมนึงที่ตัวผมเองกังวลก็คือ ทำไมเราถึงอ่อนจังวะ เมื่อเทียบกับหลาย ๆ ท่านที่เจอกันในงานวันนั้น … และมันบอกเราว่า ทำไมทุกคนเท่ห์จังง มองตัวเราทำไมมันกระจอกจัง ._. เราต้องทำอะไรสักอย่างแล้ว ไม่งั้นตามไม่ทันคนอื่นแน่ ๆ

ความรู้สึกว่าตัวเองกระจอกนั้น 😂 ทำให้ผมเริ่มหาอะไรบางอย่างละ เริ่มลิสว่าเรานั้นกระจอกอะไร? หรือมีเรื่องไหนบ้างที่เราแค่รู้จัก, เคยใช้, ชำนาญ, หรือระดับแบบหลับตานึกก็เห็น Solution บ้าง

และพอลิสออกมาเรียบร้อย คำถามต่อไปคือจะเริ่มยังไง ? บังเอิ๊นนนนนน ไปเจอ Twitter ของพี่กานต์ Kan Ouivirach (Pronto Tools) ที่กำลังบันทึกประจำวันของตัวเองว่า …


หลายคนคงเคยได้ยินคำว่า CodeKata อยู่บ่อย ๆ ถ้าทำงานหรือศึกษาอยู่ใน track ของ programming นะครับ .. วันนี้จะมาแชร์ว่าที่ Pronto Tools เราทำ CodeKata กันทุก ๆ เช้า 9:30 น. พวกเราทำแล้วพวกเราได้เรียนรู้อะไรจากมันมาบ้าง ?

Everyday we do CodeKata! 🎯

  • เล่าให้ฟังก่อนว่าปกติแล้ว ธรรมเนียนปฏิบัติของเด็กฝึกงานของ Pronto Tools เราจะมาทำ CodeKata ทุก ๆ 9:30 ถึง 10:00 น. ของทุกวัน
  • โดยจะมีอุปกรณ์คือ Macbook 1 ea + iTerm2 + vim + python3 = Our CodeKata environment .. นั่นคือทั้งหมดที่เรามี


วันนี้ผมจะมาเล่าให้ฟังเกี่ยวกับวิธิการหรือแนวทางหนึ่ง ในการที่จะฝึกฝนหรือทำอะไรให้อะไรบางอย่างนั้นกลายเป็นนิสัยประจำตัวเรา.. ซึ่งนี่เป็นหนึ่งใน Monthly Policy ที่ Pronto Tools ทุกคนทำร่วมกันอยู่ : )

“Don’t break the chain”

  • ทุกอย่างเริ่มจากที่ Office ที่ผมทำงานอยู่ Pronto Tools นั้น ในแต่ละเดือนจะมีการเลือก Leader ขึ้นมาเป็นผู้นำทำกิจกรรมอะไรบางอย่างที่ทำร่วมกันทั้งออฟฟิส
  • ซึ่ง Leader ก้จะต้องตั้ง Policy ร่วมกันขึ้นมา ยกตัวอย่าง.. เมื่อเดือนก่อน Leader ได้ตั้ง Policy ว่า ทุกคนจะต้องทำอะไรบางอย่างที่ Out of comfort zone ของตัวเอง, ทำแล้วมาแปะ Post-it ที่ชื่อตัวเอง แล้ววันสุดท้ายของอาทิตย์มานับดูกันว่าใครทำได้มากที่สุด Leader ก็จะมีรางวัลให้ เป็นต้น
  • พอเดือนนี้ Leader ของเราคือ พี่ Kan Ouivirach และพี่แพน Antira Loachote (และมีพี่มิว fattyburas ผู้เป็น Secret Leader ที่ช่วยเหลือทั้งสองท่านอยู่เงียบๆ~) ซึ่งกลุ่ม Leader เองได้ออก Policy มาหลายข้อ หนึ่งในนั้นที่จะมาแชร์ให้อ่านกัน ก็คือ “Don’t break the chain” นั่นเอง
  • โดยทุกคนจะต้องเขียนสิ่งที่ตัวเองอยากทำ 1 อย่าง แล้วทำต่อเนื่องกันให้ยาวที่สุดเท่าที่จะทำได้ ถ้าวันไหนลืมทำ หรือไม่ได้ทำ ต้องเริ่มนับใหม่…


ในบทความนี้ ผมจะมาแชร์ประสบการณ์การทำระบบเลือกตั้งออนไลน์ของมหาวิทยาลัยเทคโนโลยีพระจอมเกล้าธนบุรี ประจำปี 2561 นี้ ที่เพิ่งผ่านมาเมื่อวันอังคารที่ 3 เมษายน

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

ทีนี้ก่อนเราจะเข้าเรื่อง ผมขอท้าวความก่อนว่าพวกเราเป็นใครมาจากไหน

กลุ่ม Alchemist คือใคร ?

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

และหากถามว่าเรามาทำระบบเลือกตั้งได้อย่างไร จริงๆ แล้วเราไม่ได้อยู่ดีๆ ได้รับมอบหมายให้มาทำตรงนี้เลย … ทีมของพวกเรานำเทคโนโลยีมาช่วยมาใช้กิจกรรมในรั้วมหาวิทยาลัยมาแล้วร่วมจะ 2 ปี โดยเราเริ่มจากการลองเปลี่ยนกิจกรรมในคณะไอทีของเราก่อน อย่างเช่น การเปลี่ยนรูปแบบของงานปฐมนิเทศของนักศึกษาไอที เป็นต้น

พอเริ่มจากงานปฐมนิเทศ จนมาเป็นแรกพบมดน้อย เปิดโลกกิจกรรม และกิจกรรมอื่นๆ มากมาย จนสุดท้ายมาสิ้นสุดปีการศึกษาที่งานเลือกตั้งสภาและองค์การนักศึกษาเมื่อปี 2560 และวนกลับมาใหม่อีกครั้งในปี 2561 นี้…


วิชา Software Development Process หรือ INT202 หนึ่งในวิชาบังคับของหลักสูตรเทคโนโลยีสารสนเทศ ที่มีชื่อเล่นเก๋ๆ ว่า “วิชาซอฟแวร์โพรเซส” ที่จะได้เจอกันตอนปี 3 เทอร์มหนึ่ง

ที่มาแชร์วันนี้ส่วนหนึ่งด้วยความอยากของตัวเอง อีกส่วนหนึ่งเป็นพี่ TA ในวิชาเค้าบอกว่า กลุ่มก็ตามที่เขียนบล้อคแชร์สิ่งที่ได้ในวิชานี้ เดี๋ยวจะมีคะแนนพิเศษให้กลุ่มนั้น

  • กลับมาที่วิชานี้กันดีกว่า เล่าสั้นๆ ว่าเป็นวิชาที่จะสอนเราว่าการจะทำ Product ที่ดีและระบบระเบียบซักตัวหนึ่ง มันจะต้องทำอะไรบ้าง
  • ในโลกความเป็นจริงของเรามันไม่มีคำว่า One-man-show .. เราต้องทำงานเป็นทีม แล้วถ้าจะสร้าง Product ที่ดีได้ เราจะทำยังไงให้เราและคนอื่นๆ ในทีมทำงานร่วมกันได้

หลายอย่างที่กล่าวมาข้างบนทั้งหมด คงเป็นสิ่งที่เราเองคิดว่า นี่แหละที่วิชานี้สอนเรา

โปรแกรมเมอร์ส่วนใหญ่เก่ง Technical ถึงไม่เก่งมันก็หัดกันได้ แต่สิ่งที่ยังขาดคือ Teamwork และ Process ในการทำงานต่างหาก
— จอมยุทธ

Week 1 : Be Absent

ช่วงเปิดเทอร์มอาทิตย์แรก ผมอยู่ที่มาเลเซีย 😗 พอดีกำลังเข้าค่าย AIOTI อยู่ที่ UTM, Johor Bahru, Malaysia เลยต้องเป็นอันพลาดคลาสแรกกันไป โบราณว่าไว้ พลาดคาบแรก ดรอปทิ้งลงใหม่ดีกว่า .. บ้าน่า พูดเล่นเฉย ๆ…

First Kanisorn Sutham

Just a little software developer : ) thank you for follow me : )

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store