ถ่ายทอด ประสบการณ์ สัมมนา งาน /* p0rt 80 bkk */

ถ่ายทอด ประสบการณ์ สัมมนา งาน /* p0rt 80 bkk */

อาจจะสงสัย ว่าผมไปสัมมนาได้อย่างไร คำตอบคือ ผมลงทะเบียนไปครับ โดยแฟนผมเจอมา และส่งมาให้ ก็เลยรีบลงทะเบียนเลย เป็น 1 ใน 150 คนที่ได้ไปอบรม โดยมีการอบรม เมื่อวันที่ 19/09/2553 ที่ผ่านมา โดยจัดที่ microsoft (ชั้น 38 CRC tower ย่าน ถนนวิทยุ)

โดยทีแรกตั้งใจว่าจะไปให้ได้ 50 คนแรก เพราะว่าเค้ามีแจกลูกบอล แต่ปรากฏว่า ไปสาย คนเต็มห้องเลย กรรม แต่ไม่เป็นไร เรามาเอาความรู้ครับ ก็ยังดีที่ว่าไปทัน session แรกพอดีเลย

เริ่มต้นที่ คุณ ศุภโชติ กาณจนกรทอง เป็นเจ้าของ 2 Fellow Network and design ซึ่งเป็น online agency ทำงานมาประมาณ 6 ปี (จดทะเบียนจัดตั้งมาประมาณ 4 ปี)มีพนักงานปัจจุบัน 30 คน โดยมาเล่าเรื่องการเป็นเจ้าของบริษัทที่ทำงานในสายงานนี้ครับ
โดยได้เล่าให้ฟังว่า เมื่อก่อน ก็เป็นพนักงานบริษัทนี่แหล่ะ ทำอยู่ 3 ตำแหน่ง ของบริษัทเดียว (ประมาณว่าได้เลื่อนขั้นนั่นล่ะ) แล้วก็ลาออกมาตั้งบริษัทเองเลย


องค์ประกอบ Online website โดยภาพรวม

ทีนี้ คุณ ศุภโชติเล่าให้ฟังต่อว่า แล้วคนเราจะรู้ได้อย่างไร ว่าเมื่อไร เราควรจะออกมาตั้งบริษัทของเราเอง โดยบอกว่า(ในมุมมองของเค้าเอง) องค์ประกอบแรกก็คือ คุณต้องติดต่องานได้กับทุกๆฝ่าย ไม่ว่าจะเป็นฝ่ายขาย ฝ่ายบัญชี ฯลฯ องค์ประกอบต่อมาก็คือ เมื่อคุณรู้สึกว่าก้าวเร็วกว่าองค์กรคุณ เมื่อนั้น แปลว่าคุณพร้อมที่จะออกมาทำงานเองแล้ว

โดยความต่างระหว่างเป็นพนักงานกับ เจ้าของ ก็เล่าแบบติดตลกว่า หากเราเป็นพนักงาน เราก็อยากให้ถึงสิ้นเดือนเร็วๆ(เงินเดือน) แต่หากเรามาเป็นเจ้าของบริษัท เราก็ไม่อยากให้ถึงสิ้นเดือน กลับกัน 555 โดยตอนที่เริ่มต้น ทำกับเพื่อนสองคน โดยตัวเองเป็น programmer เพื่อนเป็น design ก็ช่วยกันทำมา ในช่วงแรก ก็มีลูกค้าเป็นเอกชน ทำไปทำมา ปัจจุบัน 80% เป็นลูกค้าราชการ


ทำไมถึงทำกับราชการ? ก็เล่าให้ฟังว่าก็ไม่รู้เหมือนกันว่าเปลี่ยนมาได้ยังไง (อ้าว....) แต่ว่าอาจจะเป็นประเด็นเรื่อง budget ด้วยส่วนหนึ่ง เป็นเพราะว่างานราชการค่อนข้างมี budget ที่สูง (3แสน - 5 ล้าน)แต่ข้อเสียก็คือระยะเวลางาน ค่อนข้างนาน โดยจะมีตั้งแต่ 3 เดือน - 1 ปี เพราะว่า process งานก็คือ การทำ cms (build ต่อยอดจาก joomla ทั้งหมด) และ ทำ content จากนั้นจึงทำส่วน online market และองค์ประกอบอื่นๆ เช่นสื่อต่างๆ โดยนับตั้งแต่ได้งาน จน ปิดงานเลย

ถ้าสมมุติ งาน 1 ล้านบาท ใช้ทรัพยากรแค่ไหน? ก็จะใช้คน 4-5 คน (เป็นทีมเพื่อดูแลแต่ละงานไปเลย) ระยะเวลางานประมาณ เฉลี่ย 6 เดือน

แล้วงานเอกชนล่ะ? จริงๆแล้ว SME, SMB ในบ้านเราปัจจุบันมีอยู่เยอะมากๆ เป็นล้านรายนะ(เชื่อหรือเปล่า) แต่ว่าเนื่องจากที่เค้าเป็นรายย่อย ดังนั้น การจะเขียน project ราคา 1 - 2 แสน ถือว่าเป็นเรื่องใหญ่สำหรับเค้ามาก ซึ่งเมื่อเทียบกับภาครัฐ ที่เริ่มตั้งแต่ 3 แสน มันก็คนละเรื่องกัน แต่ถ้าเป็น SME , SMB รายใหญ่ ก็อาจจะเรียกราคาได้ที่ 4-5 แสน ในแต่ละงานเหมือนกัน

การเปิดบริษัท มีความยาก ตรงไหนบ้าง? ต้องระวัง และอย่าพยายามสร้าง service ใหม่ เพื่อไปขายให้กับรายใหม่ หรือเปิดตลาดใหม่ แต่ควรเป็นการเอา service เดิมที่มีอยู่แล้ว ไปขายรายใหม่ และ ควรเอา service ใหม่ ไปขายรายเดิม โดยเราควรทำอย่างไรก็ได้ เพื่อ keep ลูกค้ารายเดิมเอาไว้ เพราะว่าการหาลูกค้ารายใหม่ เหนื่อย และยากกว่าการรักษาลูกค้ารายเก่ามาก

ลูกค้าไม่จ่ายเงิน แก้อย่างไรดี? ก็กล่าวอย่างติดตลกว่า เป็นปัญหาสามัญ ที่ใครๆก็เจอ เอาเรื่องจริงมาพูดเล่นกันบ่อยๆ สำหรับเรื่องนี้ เนื่องจาก 80 % เค้าเป็นราชการก็เลยไม่มีปัญหาเรื่องนี้อยู่แล้ว แต่ว่าทุกอย่างเราต้องทำอยู่บนสัญญาเท่านั้น เราเอาสัญญาเข้ามาช่วยเดินงานทั้งหมด และอาจจะใช้การแบ่งจ่ายก็ได้ โดยงานของเค้า จะแบ่งเป็น step และทยอยส่งเป็น step ไปเรื่อยๆ โดยทุกครั้ง ที่ส่งงานก็เรียกเก็บเงินไปเรื่อยๆก็ได้ โดยอย่างเค้าเอง แค่ส่งแผน ก็เก็บเงินแล้ว (ยังไม่เริ่มทำอะไรเลยนะ แค่แผนงานที่เราจะทำอย่างเดียว) ซึ่งจุดนี้ แต่ละคนก็หาจุดที่เหมาะสมเอาเอง ว่าจะต้องมากน้อยขนาดไหน แต่อย่าพยายาม ทำงานทั้งหมด แล้วส่งทีเดียว

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

ก็จบสำหรับ session นี้ครับ ถือว่าได้ประสบการณ์มาเยอะทีเดียว แต่อย่างไรก็ดี พิธีกร ที่ดำเนินงาน ก็เล่าให้ฟังเหมือนกัน ว่าเค้าเองก็เคยออกไปเปิดบริษัทมาเหมือนกัน แต่เจ๊งครับ งานไม่มี เงินเดือนต้องจ่าย สุดท้ายมาเป็นพนักงานบริษัทเหมือนเดิม 555 ไม่ใช่แค่ครั้งเดียวสองครั้งอีกต่างหาก เจ็บไม่จำว่าอย่างนั้น

******************************************


จากนั้นเป็น session ของ คุณ ปูเกียรติ จุลนวล  (blogger : Fuju ใน narisa.com )พูดเรื่องของ SQL server กับ PHP ก็จะเป็นการเล่าให้ฟังมากกว่า ว่าจริงๆแล้วการทำงานของ PHP มันไม่ได้จำเป็นต้องใช้งาน MySQL อย่างเดียว เราสามารถใช้ database อื่นๆได้ โดยเราอาจจะใช้ database layer ต่างๆมาช่วยงานเราก็ได้ เช่น ADODB เป็นต้น


เขียนด้วย PHP แต่ก็ใช้ SQL server ได้นะ

******************************************

จากนั้น เป็น session ของ Rama Yurindra (เป็น certificate training php ของ asia และ php 5 certificate) พูดถึงเรื่อง PHP ในงาน Enterprise โดยได้เอาเปรียบให้ดูว่า จริงๆแล้ว มันมีความสามารถมากที่จะทำได้ เพียงแต่ว่าเค้าไม่นิยมทำเท่านั้นเอง เว็บใหญ่ๆหลายๆเว็บ ที่พูดชื่อแล้วไม่มีใครรู้จักแน่นอน ก็ใช้ PHP หรือตัวอย่างที่รู้โดยทั่วกันก็คือ youtube.com นั่นเอง ทั้งนี้ ก็ยังแนะนำให้ไปสอบ php 5 certificate กันด้วย เพราะว่าประเทศไทย มี php engineer certificate ประมาณ 30 คน แต่ว่า india มีเป็นพัน หรือว่า จีน ก็มี 2000-3000 คน เรายังถือว่าน้อยมาก 

******************************************

ต่อมาเป็น session ของ สมเกียรติ ปุ๋ยสูงเนิน พูดเรื่อง E-Commerce โดยใช้ CodeIgniter

จริงๆแล้ว CodeIgniter เป็น php framework ตัวหนึ่งที่มีในโลกของเรา ซึ่ง มีอยู่มากมายหลายตัว แต่ว่า เป็นที่ได้รับการยอมรับว่า CodeIgniter มี footprint ที่เล็กที่สุดในโลก โดยทำงานได้เร็วแต่ไม่ได้เร็วที่สุด สำหรับการใช้งานนั้น เป็นแบบ MVC หรือ model view controller ที่สามารถแยกส่วนการพัฒนาออกมาจากกัน หรือว่าการเขียนเป็น module แล้วแบ่งทีมกันทำได้ เพื่อให้ง่าย สำหรับการพัฒนา หรือแก้ไข โดยส่วนตัวเค้าเอง จะเปลี่ยนแบบทำงานของ MVC เล็กน้อย ด้วยการสร้าง library มาคั่นระหว่าง controller กับ model เพื่อลดการซ้ำซ้อนของการเขียนโค้ด โดยจะส่งผลโดยตรงทำให้ model มีขนาดเล็กลง และ 1 model ก็ทำงานเพียง 1 table เท่านั้น ไม่สะเปะสะปะ ข้ามไปข้ามมา

และยังให้อีกไอเดียหนึ่ง ด้วยการสร้างระบบให้เป็น API เพื่อรองรับในด้านการทำงานต่างๆ โดยมีทั้งส่วน private API และ public API ซึ่งเมื่อเรามี API แล้ว เราก็ค่อยสร้างส่วน front เข้ามาครอบทับอีกทีได้ ข้อดีก็คือ เราสามารถแก้ไขได้อย่างอิสระในส่วน front โดยที่ไม่กระทบอะไรต่อระบบเลย เพราะว่าคุยผ่าน API อยู่แล้ว

และเมื่อได้พูดถึง CI (ที่เป็นตัวย่อของ CodeIgniter) ก็เลยทำให้นึกไปถึง Continuous Integration เป็นการควบคุมการพัฒนา source code เพื่อลดปัญหาต่างๆ ทั้ง bug และการ conflict กัน

โดยปกติเราจะเขียนงาน แล้วส่งเลยทีเดียว ซึ่งปัญหาที่จะเจอแน่คือการแก้ไข และ bug ที่ซ่อนอยู่ เพราะว่าเราเขียนส่วน A เสร็จ test เสร็จ แล้วเขียนส่วน B C D ... ไปเรื่อยๆ โดยเราจะไม่กลับมา test ส่วน A อีก ซึ่งหากส่วน C มีปัญหากับส่วน A เราก็ไม่สามารถรู้ได้เลย เพราะว่าเราไม่ได้กลับไป test อีกเลย แต่เราต้องเปลี่ยนความคิดใหม่ ด้วยการแบ่งงานทำ แล้วส่ง และทดสอบไปเรื่อยๆ ส่วนการทำสอบ ก็ทำได้ด้วยใช้ Unit Test โดยอาจจะเป็น Simple test, phpunit  หรือ end to end โดยใช้ selenium โดยพูดติดตลกว่า คงไม่มีใคร test ด้วยการเอาเม้าส์คลิกทุกครั้งนะ

ส่วนการทำ QA ของ source code นั้น เรากจะมี tool หลายตัว เช่นการทำ software matric โดยใช้ PHPmd , PHP depend หรือ ตรวจสอบโค้ดที่ซ้ำ โดยใช้ PHPcpd และการตรวจสอบ มาตรฐานของ Code โดยใช้ PHP Code Sniffer

นอกจากนี้ ยังมีเครื่องมืออีกมาก ที่ช่วยเรา เช่น Cruise control, phpunder control, Xinc, hudson, bamboo

******************************************

session ต่อมา คุณ mahasak pijittum จากบริษัท iGenco พูดเรื่อง การเอา PHP มาใช้งานในระดับ enterprise  เช่นกัน

โดยกล่าวว่า คุณคิดว่า PHP ทำอะไรได้บ้าง? คิดว่าทำ desktop application ได้หรือเปล่า? (โปรแกรมที่เราใช้งานกัน) ซึ่ง สามารถทำได้ โดยอาศัยความสามารถของ PHP GTK เพื่อให้รองรับการทำ Cross platform หรือ แม้กระทั่งเอาไปทำเป็น Web application , seb server ก็ยังได้(คล้ายๆ apache) แต่ว่าความจริงอันน่าเศร้า ของ software ในประเทศสารขันแห่งหนึ่ง ที่ 90% ใช้ J2EE กับ .NET 

ดังนั้นการจะเปลี่ยนมาใช้ได้ สิ่งที่ควรทำ แต่เป็นได้ยากก็คือการเปลี่ยนความคิด เพราะว่าเวลาที่เขียนโครงการ หลายคนชอบเอา PHP ไปเทียบกับ .NET และ J2EE แต่หากพิจารณาดีๆแล้ว PHP เป็นภาษา computer แต่ว่า .NET และ J2EE มันเป็น platform ซึ่งแน่นอน ว่า platform เอามาเปรียบกับ PHP ไม่ได้ เพราะว่ามันคนละ group กันก็ว่าได้ แต่หากเราเอา PHP มาเปรียบกันในด้านต่างๆ ในมุมมอง ทาง business แล้ว ซึ่งประกอบไปด้วยด้าน Productivity, Deploy, Management, Maintain, Scalability, Support tool จะพบว่า PHP ทำคะแนนได้ดีที่สุดในหัวข้อ Productivity ซึ่งสามารถเทียบกับ ภาษาอื่นได้ และดีกว่าด้วย รองลงมาคือ Support tool ที่ค่อนข้างดีเมื่อเทียบกับภาษาอื่นๆ แต่ในมุมของที่เหลือคือ การ Deploy, Management, Maintain คะแนนกลับตกต่ำมากอย่างไม่เห็นฝุ่น

โดยถ้ามองในรายละเอียดเราจะพบอีกหลายอย่าง ไม่ว่าจะเป็นการ deploy ที่ .net ทำเป็น exe หรือ j2ee ที่ทำเป็น .war ให้เอาไป deploy ได้ง่ายๆเลย แต่ PHP เราใช้ copy paste และ แก้ config(โบราณได้อีก) แต่เราก็มี tool ช่วย ด้วยการนำเอาโปรแกรมมาช่วยเช่น Softlink(symlink)  นั่นก็คือการทำ short cut icon นั่นเอง โดยใช้โปรแกรม Softlink/Hardlink Shell Extensin win32
หรือการใช้ Phing + dbdeploy+ ftp หรือการใช้ database change management tool เพื่อการ deploy database รวมไปถึงการใช้งาน Cruise control + php under control นอกจากนี้คนเคยใช้ java อาจจะรู้จัก maven ซึ่งก็มี maven สำหรับ php ด้วยเช่นกัน และอื่นๆเช่น cupistrano+ webistrano , hudson

การ debug program นั้น แนะนำให้ใช้ xDebug + firefox + easy xDebug ก็จะช่วยได้ จะได้ไม่ต้องมา echo print_r  refresh browser กันอยู่(เหมือนที่ผมใช้ 5555)

และที่ฝากเอาไว้ก็คือ เขียนโค้ด โดยไม่ทำ unit test ระวัง บาป!

******************************************

นอกจากนี้ ก็ยังมี session ของ @FordAntiTrust จาก thaithinkpad.com มาพูดเรื่อง APC cache และ คุณ wason Liwlompaisan blogger จาก narisa.com พูดเรื่อง PHP Data Object ที่เป็น layer ทำงานเกี่ยวกับ database โดยสามารถเขียน syntag แบบเดียวใช้ได้กับทุก database เลย โดยเป็นตัวextension ของ Apache และติดมาพร้อมกันเลยใน php 5.3 ขึ้นไป โดยจะช่วยให้เปลี่ยน database ได้ง่าย โดยแทบไม่ต้องแก้โค้ดเลย แต่คงไม่พูดถึงในตรงนี้มาก เพราะว่าค่อนข้างเป็น technical เชิงลึกมากเลย ซึ่งผมเองก็ยังอื้ออึงอยู่ 555

ทั้งนี้ ในส่วน microsoft เอง ยังมีส่วนที่เกี่ยวข้องกับคนทำเว็บมากมายที่ microsoft.com/web โดยมี web pi ที่จะช่วยให้เราติดตั้ง wordpress ได้แบบง่ายๆใน platform windows ได้เลยด้วย(แต่เวลาเอาออก จัดการกันเองนะ 555)

ทั้งนี้ ในมุมมองของ web programmer php อย่างผม ถือว่าเป็นงานที่ดีมากครับ ได้เปิดโลกทัศ เปิดหูเปิดตาได้อีกเยอะเลย

ป.ล.งานนี้ก็ได้ของแถม intelligent ball มาด้วย จากการตั้งคำถามเรื่อง bizspark อิๆๆ (ทั้งๆที่จะได้ flash drive แต่ของหมดซะก่อน) และถ้ามีอีกก็คงไปอีกครั้ง เสียเวลาทั้งวันตั้งแต่เช้ายันเย็นเลย แต่รู้สึกคุ้มค่ามากครับ


อาหารกลางวันที่หน้าตาดี รสชาติกลางๆ และยังมีของว่างมากมาย

** update 26/09/2010 เพิ่มรูปภาพ

Create: Modify : 2010-09-26 23:57:21 Read : 4744 URL :