Category Software Development

งานในสาย IT Analyst มีอะไรบ้าง

วันเสาร์ที่ผ่านมา ผมไปฟังงานสัมมนาของ อ.ปิ่น “Hello World Becoming Professional Software Analyst” ผมขอสรุปเรียบเรียงไว้จากมุมมองที่ผมเข้าใจนะครับ โดยทุก Analyst ต้องมีสิ่งที่เหมือนกัน เช่น การพูดคุย การนำเสนอ ทัศนคติที่ดี มีความเข้าใจใน Technology Trend ทักษะในการประเมินเวลา ในมุมที่ตัวเองรับผิดชอบ การคิดอย่างเป็นระบบ การทำ Root-Cause Analysis จากภาพรวมเจาะลงไปนะครับ Overall-Mangement Project Analyst บริหารจัดการ Project ในบางหน่วยงาน Project Analyst กับ Project Managment (PM) คือ คนคนเดียวกัน…

Best Practices คำแนะนำที่เรียบง่าย แต่มีที่มาที่ล้ำลึก

Best Practices คำแนะนำที่เรียบง่าย แต่มีที่มาที่ล้ำลึก โดยเวลาที่เราเขียนโปรแกรม เราอาจจะโดนจำกัดการใช้ตัวแปร ให้เขียน Code ตามรูปแบบที่ SA กำหนดไว้ ต้องเขียน Code เป็นชั้นๆ อาทิ เช่น Presenter, Business Logic, Data Access และแต่ละชั้นต้องเชื่อมกันผ่าน Interface แต่ถ้าลองมาศึกษาลึกๆแล้ว ทุกอย่างมีที่มาที่ไป แต่ถ้าจะลงลึกไป อธิบายผลดี/ผลเสียมันอาจจะต้องใช้เวลา มันก็เลยกลายเป็น Best Practices เรียบง่ายที่ ห่อหุ้ม(Encapsulate) ความซับซ้อนต่างๆเอาไว้ข้างในครับ ตัว Developer เองจะได้เวลาไปสนใจเรื่องอื่นมากขึ้น เช่น Business หรือ การ…

Design Principle กับ Design Pattern

ก่อนจะมาเข้าเรื่องที่ลึกลงไป ผมอยากแนะนำ 2 คำนี้ก่อนครับ Principle แปลเป็นไทย คือ “หลักการ” แปลไทยเป็นไทย คือ สาระสำคัญที่ยึดถือเป็นแนวปฏิบัติ (ข้อมูลจากราชบัณฑิตยสถาน) Pattern แปลเป็นไทย คือ “รูปแบบ” แปลไทยเป็นไทย คือ แบบ, แผน, ตัวอย่าง, ทำแบบ, แบบอย่างอันดี, เอาแบบอย่าง กลับมาที่ Design Principle คือ หลักการออกแบบ Software โดยมีชุดแนวคิด หรือคำแนะนำ เพื่อป้องกันการออกแบบ Software ที่แย่ ที่ส่งผลทำให้มีการปรับแก้ไข (Customize) หรือ การดูแลรักษา (Maintenance) ยาก…

[Digital Thailand] How Google Thinks About Developing a Culture of Innovation

วันเสาร์ที่ผ่านมา ผมได้ไปงาน Digital Thailand โดยผมขอแตก Blog นี้ ออกมาจาก Blog  หลักนะครับ โดยเรื่องที่ผมกำลังเขียนต่อไปนี้ เป็นเรื่อง How Google Thinks About Developing a Culture of Innovation” โดยคุณ Ben King, Country Head of Google Thailand ครับ ช่วงแรกเป็นการแนะนำบริษัทก่อนครับ ตอนนี้ Google หรือ Alphabet ในปัจจุบันครับ เข้าสู่วัยรุ่นและ อายุ 18 ปี…

[Digital Thailand] สรุปจากงาน Digital Thailand 2016 ครับ

คืนวันศุกร์ หลังจากปั่นงานเสร็จ ผมลองหาๆดูว่าวันเสาร์จะไปทำอะไรดี พอดีเจองาน Digital Thailand ที่ศูนย์ประชุมแห่งชาติสิริกติ์ครับ พอไปดูงานสัมมนาในวันเสาร์มีเรื่องที่น่าสนใจหลายเรื่องครับ อาทิ เช่น Google คิดอย่างไรกับการสร้างนวัตกรรม และการนำ Big Data เช้ามาประยุกต์ใข้กับงาน เป็นต้นครับ และก็วันนี้มีจัดการหลายงานด้วยนะครับ ถ้าเบื่อแล้วก็สามารถเปลี่ยนไปชมงานอื่นๆได้ครับ เริ่มกันเลยดีกว่า หลังจากลองเดินทางแบบประหยัด โดยนั่งรถเมล์ 149 จากบ้านมาแทนครับ แล้วเดินอีกนิดนึง แทนที่จะนั่งรถเมล์สาย 40 แล้วไปต่อ MRT ครับ เวลาไม่ต่อกัน แต่ค่าใช้จ่ายลดไปเยอะเลย เมื่อมาถึงงานมีให้ลงทะเบียนครับ ในส่วนนี้ผมคิดว่าระบบ OK นะครับ ของตัว ZipEvent ครับ ถ้าลงทะเบียนมาจากเว็บแล้ว…

แนะนำหนังสือ Your Code as a Crime Scene

ก่อนอื่นขอเล่าประวัติหนังสือเล่มนี้ก่อน ช่วงกลางเดือนมีนาคม ผมมี Idea ที่จะลองศึกษาอะไรใหม่ๆในวันอาทิตย์ ไม่ว่าจะเป็นอ่านหนังสือ ดู Video หรือ อื่นๆ ดีกว่าเอาเวลาไปปั่นงานที่เกิดจากความผิดพลาดของการบริหารโครงการ ฮ่าๆ วันนั้นผมได้ไปร้านหนังสือ Kinokuniya และก็สะดุดกับหนังสือเล่มนี้ครับ Your Code as a Crime Scene  ของคุณ Adam Tornhill หนังสือเล่มนี้พอซื้อมาเสร็จเป็น Crime Scene ทันที่ครับ หนังสือหายไปกับโครงการ 5 ส ที่ Site งานลูกค้า ย่านสะพานควาย ผมเพิ่งซื้อใหม่ทดแทนเป็นของขวัญวันเกิดวันที่ 23 เมษายน ครับ สำหรับ Your Code as a…

Workaround Solution กับ Technical Debt

ก่อนอื่นของกล่าวถึงคำว่า Workaround มัน คือ การแก้ปัญหาเฉพาะหน้า เฉพาะกิจครับ เช่น ระบบจำเป็นต้องต่อกับระบบ Network ผ่านสายแลน เนื่องจากต้องการความเสถียร และความเร็ว แต่ที่โต๊ะ User ยังไม่มีการติดตั้งระบบ Networkทางทีมเสนอให้ใช้ Wireless ไปก่อน เป็นต้นครับ ถ้านึกภาพไม่ลองออกไปดูพวก Trust me I am Engineer ก็ได้ครับ ฮ่าๆ ในแง่ของการพัฒนา Software ก็มีเหมือนกัน เจ้า Workaround มัน คือ การแก้ปัญหาเฉพาะหน้า เพื่อลดเวลา หรือความยุ่งยากในการพัฒนาครับ ซึ่งส่งผลกระทบโดยตรงกับ Code และตัวระบบครับ…

Human Error แหก แหวก ผ่าทะลุกฏเกณฑ์

วันนี้ได้ไป Stand by เพื่อเอา Program ขึ้น Production โดยก่อนที่จะมาถึงด่านนี้ได้ ก็ต้องผ่าน การ Test อย่างหนักหน่วงจาก User การทดสอบ Package ของระบบงาน การทดสอบ Script DB บน AIX ซึ่งเป็น Environment ที่ใกล้เคียงกับ Production มากที่สุด การ Upgrade ทำโดย IT ของ Site ลูกค้า ไม่ให้บริษัทมายุ่ง กันข้อมูลของธนาคารรั่วไหล ทั้งหมดนี้ดูดีครับ แต่ใช้งานจริงหละ เมื่อถึงวันจริง ระหว่างที่ผมนั่งช่วย User Map…

การออกแบบสะท้อน ถึงโครงสร้างและวัฒนธรรมขององค์กร

พอดีนั่งหาข้อมูลเกี่ยวกับตัว Technical Debt แล้วเจอตัวนี้เข้า ใช่เลย “Software Design mirrors the [Organizational and social] structure of the organization that builds it” “การออกแบบซอฟต์แวร์สะท้อน ถึงโครงสร้างและวัฒนธรรมขององค์กร ที่สร้างมัน” ลองดู Product ที่อยู่รอบตัวเราก็ได้ครับ อย่าง Google, Facebook และ Microsoft เป็นต้นครับ ทุกอย่างมีสไตล์การพัฒนาของตัวเอง อย่าง Google ทุกอย่างดูเรียบง่าย และไปในทางเดียวกันทุก Product แต่ฝั่ง Microsoft ที่เมื่อก่อนแต่ละ Product…

สายไฟที่ยุ่งเยิงกับซอฟต์แวร์ที่สับสน

ระหว่างทางไปทำงาน กลับบ้าน วิวรอบทางของมนุษญ์เงินเดือนในเมืองใหญ่ คงไม่พ้นกับสายไฟ สายโทรศัพท์ ดูๆไปแล้ว มันโคตรจะยุ่งเหยิง บดบังทศนีย์ภาพ แล้วถ้าเราเอาภาพของสายไฟ มาเปรียบกับ Software บ้างหละ สิ่งที่เราทำอยู่มันเป็นอย่างไร เริ่มที่ภาพแรกเลยและกัน ชุมสาย ชุม Code >> ยำ Code >> Spaghetti code ถ้ามี Change หละ คนแก้คงทำใจ ก่อนแก้ Code และจะต้องคิดหนัก ว่าแก้อย่างไร ไม่ให้กระทบ Code คนอื่น (สายไฟ สายโทรศัพท์ของเจ้าอื่นๆ) เปลืองสาย อันนี้ไม่แน่ใจว่า มีการขดสายไฟพันไว้ทำไม !!! แต่มุมของผมเดินผ่านมา…