พบกันทุกสุดสัปดาห์กับซีรีส์ "สัมภาษณ์คนไทยในซิลิคอนวัลเลย์" บทสัมภาษณ์ตอนที่หก เรามาคุยกับคุณสุนทร แซ่อึ่ง วิศวกรคนไทยในบริษัทอีคอมเมิร์ซรายใหญ่ eBay ที่จะมาเล่าประสบการณ์ด้าน automation testing, software quality engineering แบบลงลึก (มาก) น่าจะเป็นประโยชน์กับคนที่สนใจงานด้านนี้เป็นอย่างยิ่งครับ
ชื่อ สุนทร แซ่อึ่ง ครับ จบปริญญาตรีสาขาวิศวกรรมคอมพิวเตอร์จากมหาวิทยาลัยสงขลานครินทร์ ปริญญาโทบริหารธุรกิจจากมหาวิทยาลัยเทคโนโลยีมหานคร และ Master of Computer Science จาก San Jose State University ครับ มีเรียนเสริม Project Management ของ UC Berkeley Extension
ผมมีความสนใจหลายด้าน ช่วงเริ่มทำงานแรกๆ มีตำแหน่งเป็นอาจารย์และเทรนเนอร์ โฟกัสจึงเป็นเรื่องของการสอน มีความตั้งใจว่าอยากให้รุ่นน้องมีความอยากเรียนรู้ สามารถหาแหล่งข้อมูลในการเรียนรู้
ช่วงที่สองเป็นเรื่องของ system integration เกี่ยวกับการ design, implement, deploy, maintenance รวมไปถึง disaster recovery
ช่วงที่สามเป็นช่วงที่มาเรียน ก็สนใจด้าน distributed computing และช่วงสุดท้ายนับถึงปัจจุบัน เป็นเรื่องของ automation engineering ทางด้าน software quality เน้นไปที่ quality engineer โดยสร้าง automation test ด้วยภาษา Java เป็นหลักครับ
ผมได้ทุนพัฒนาอาจารย์จากมหาวิทยาลัยสงขลานครินทร์ เป็นทุนของภาควิชาที่เรียน พอจบเลยทำงานเป็นอาจารย์ที่นั่นเลย หลังจากนั้น 2 ปีย้ายไปทำงานเป็น Microsoft Certified Trainer ที่บริษัท Metro System ในกรุงเทพ งานช่วงแรกส่วนใหญ่เกี่ยวกับการสอนและแนะนำประสบการณ์การออกแบบระบบโดยประยุกต์ใช้ทฤษฎีตามตำรา
ผมเปลี่ยนงานค่อนข้างบ่อยเพราะต้องการความก้าวหน้าเร็วๆ ต่อมามีโอกาสทำงานกับบริษัทข้ามชาติ เช่น ExxonMobile (เอสโซ่) และ J.Walter Thomson (ปัจจุบันเปลี่ยนชื่อเป็น JWT) งานช่วงนี้เป็นงานด้าน IT System Administration ดูแลเกี่ยวกับระบบเซิร์ฟเวอร์ของบริษัท
ส่วนตัวพบว่าเราคนไทยเป็นผู้บริโภคทางด้านไอที เลยสงสัยว่าทำไมเราไม่สามารถผลิตซอฟต์แวร์และฮาร์ดแวร์ขึ้นใช้เองได้
ช่วงนั้นของชีวิต เริ่มถามตัวเองว่า "เราจะไปได้ไกลแค่ไหน" จึงเกิดความคิดอยากร่วมทำงานกับบริษัทระดับโลกที่สร้างนวัตกรรมที่เราใช้กัน และเริ่มวางแผนมาทำงานที่อเมริกา ทำงานใน Silicon Valley แหล่งกำเนิดของสิ่งประดิษฐ์ทางด้านคอมพิวเตอร์
ผมพบว่าการจะได้งานที่อเมริกา โดยใช้เพียงใบปริญญาจากเมืองไทยและประสบการณ์ที่ผมมีเป็นเรื่องยากมาก จึงวางแผนมาเรียนปริญญาโทที่อเมริกาก่อน และค่อยหางานที่อยากทำทีหลัง
ช่วงที่เรียน เริ่มเปลี่ยนความสนใจจากทางด้าน system admin มาเป็น programming เพราะตลาดทางด้านการเขียนโปรแกรมมีค่าตัวสูงกว่า บวกกับประเด็นว่าผมอยากเรียนรู้ในด้านที่ไม่เคยทำ เลยเลือก Java เป็นภาษาที่สองนอกจาก C
ช่วงนั้นเหมือนจังหวะชีวิตเปลี่ยน เพราะไปสนใจงาน automation test งานแรกที่ได้คือแอปเปิล ทำตำแหน่ง Quality Engineer โดยเขียน automation test ร่วมกับเอาต์ซอร์สจากอินเดีย แต่เนื่องจากตำแหน่งงานเป็นเอาต์ซอร์ส พอหมดสัญญาก็ต้องหางานใหม่ เลยมาได้งานที่ eBay และยังคงทำมาถึงปัจจุบัน
ตอนเรียนที่ San Jose State University เทอมสุดท้ายก็เริ่มมองหางาน ผมเองไม่มีประสบการณ์ในอุตสาหกรรมซอฟต์แวร์มาก่อน การหางานแรกเลยยากมาก
ผมได้งานที่แอปเปิลเป็นที่แรก แต่ไม่ได้เป็นพนักงานเต็มเวลา พอหมดสัญญาจ้างเลยต้องหางานต่อ ผมสมัครและได้สัมภาษณ์ที่ Google กับ VMWare แต่ไม่ได้งาน เนื่องจากขาดประสบการณ์ด้านสัมภาษณ์งานที่อเมริกา แถมตอนนั้นไม่ได้มีเพื่อนคนไทยมากนัก เลยไม่รู้จะไปถามใคร
พอพลาดหลายๆ ครั้งก็เริ่มเรียนรู้และปรับตัวเรื่อยมา สุดท้ายมาได้งานที่ eBay ผมไม่มีตัวเลือกมากนักในตอนนั้น เพราะวีซ่าทำงานมีข้อจำกัดหลายอย่าง แต่มาถึงตอนนี้ ดีใจครับที่ได้ทำงานที่นี่ เนื่องจาก eBay เป็นบริษัทที่ดูแลพนักงานได้ดีเป็น Top 10 ของ Silicon Valley เลย
จริงๆ แล้วรายได้หลักของ eBay มาจากการขายสินค้าที่เป็นของใหม่ บริษัทมีรายได้จากสินค้าประมูลเพียง 20-30% เท่านั้น
ถ้าพิจารณาสัดส่วนรายได้ของบริษัท ส่วนที่มากที่สุดมาจากระบบการจ่ายเงินผ่าน PayPal ที่เป็นคนกลางในการถือเงินระหว่างคนซื้อและคนขาย ส่วนที่สองมาจาก listing fee (ค่าลงประกาศขายสินค้า) และส่วนที่สามมาจากโฆษณา
การเติบโตของการค้าออนไลน์ขึ้นอยู่กับปัจจัยหลักเรื่องความสะดวก ราคา และความน่าเชื่อถือของผู้ซื้อขาย
eBay ทำตัวเป็นชุมชนที่ผู้ขายมาพบเจอกับผู้ซื้อ โดยที่ eBay ไม่ลงไปแข่งขันขายกับผู้ขายเอง ข้อนี้ถือเป็นจุดขายสำคัญของบริษัท และต่างกับ Amazon ที่เป็นคู่แข่งรายใหญ่ที่สุดของบริษัท เนื่องจากบน Amazon มีสินค้าที่บริษัท Amazon ขายเอง ชนกับผู้ขายทั่วไป จนทำให้ผู้ขายบางคนใน Amazon บางรายถึงกับเลิกขาย และหันมาเปิดร้านบน eBay เท่านั้น
เมื่อ eBay ไม่ได้สร้างรายได้จากการขาย ความท้าทายของ eBay คงเป็นเรื่องการทำอย่างไรให้เติบโตไปได้เรื่อยๆ การมองหาโอกาสเพื่อให้เกิดการซื้อขายมากที่สุดถือเป็นเป้าหมายหลักของบริษัทในปีนี้
บริษัทมีไอเดียที่ว่าทุกคนย่อมมีของที่ไม่ได้ใช้ ซึ่งอาจอยู่ในห้องเก็บของ โรงรถ ตู้เสื้อผ้า การทำให้ผู้ซื้อกลายร่างเป็นผู้ขายถือเป็นโอกาสสร้างรายได้จากการขาย สิ่งที่ยากตรงนี้คือทำอย่างไรผู้ซื้อสามารถขายสินค้าได้ง่ายที่สุด
คำตอบคือ mobile platform เป็นตัวเลือกอันดับแรก ยกตัวอย่าง ถ้าผมมีเสื้อผ้าแบรนด์เนมที่ใส่ไม่ได้แล้ว สิ่งที่ผมต้องทำคือเปิดแอพ eBay ถ่ายรูป ใส่หัวข้อสินค้า แล้วแอพจะอ่านคีย์เวิร์ด และเลือกหมวดสินค้าที่เหมาะสมให้ แนะนำราคาขายให้จากสภาพสินค้า และเลือกวิธีการส่งสินค้ารวมถึงค่าส่งแสดงให้ผู้ใช้เห็น
สรุปคือผู้ซื้อแค่ถ่ายรูปกับพิมพ์ลงไปในแอพว่าสินค้าคืออะไร ที่เหลือ eBay จัดการให้หมด ตลาด C2C (Customer to Customer) อันนี้เป็นกลุ่มเป้าหมายที่บริษัทประเมินมูลค่าไว้ไม่น้อย
อีกด้านหนึ่ง บริษัทพยายามช่วยจัดการระบบสินค้าคงคลังของผู้ขายรายใหญ่ (B2C: Business to Customer) ที่เปิดร้านบน eBay โดยช่วยให้ผู้ขายสามารถทำ data mining กับฐานข้อมูลการขายของผู้ขาย มีการวิเคราะห์ข้อมูลเรื่องของ trend, growth และ recommendations ตัวอย่างคือระบบจะวิเคราะห์แนวโน้มของสินค้า x ทั้งระบบ และแนะนำได้ว่า ถ้าลดราคาลง 5% ยอดขายจะเพิ่ม 8% ผู้ขายก็สามารถคำนวณกำไรสุทธิ และปรับราคาตามจำนวนสินค้าคงคลังเพื่อให้ได้กำไรสูงสุด
สำหรับผู้ขายรายใหญ่ บริษัทยังจะเพิ่มเครื่องมือช่วยจัดโปรโมชั่น ตัวอย่างเช่น สามารถจัดโปรโมชั่นให้ลด 10% ถ้าซื้อสินค้าจากผู้ขายคนเดียวกัน 3 ชิ้นขึ้นไป เป็นต้น
eBay เป็นแพลตฟอร์มอีคอมเมิร์ซ ที่เปิดให้ผู้ขายนำเสนอสินค้าขึ้นบนเว็บและมือถือ ส่วนผู้ซื้อก็เข้ามาเลือกซื้อจากผู้ขายหลายๆ เจ้า โดยสามารถเปรียบเทียบราคาระหว่างผู้ขายแต่ละเจ้าได้
หลักการทำงานของ eBay ดูไม่มีอะไรซับซ้อน ผู้ซื้อย่อมต้องการสินค้าตามที่คาดหวัง ค่าส่งฟรี และสามารถคืนได้หากผู้ซื้อไม่พอใจ ฝั่งผู้ขายต้องส่งสินค้าที่มีคุณภาพตามที่โฆษณาไว้ ได้ตามเวลาที่กำหนด และต้องคอยระวังผู้ซื้อที่ใช้ช่องโหว่ของการคืนสินค้า แต่จริงๆ แล้วการรองรับผู้ใช้พร้อมกันหลายล้านคน และดูแลการซื้อขายหลายร้อยล้านทรานแซกชัน เป็นเรื่องที่ต้องใช้ระบบที่รัดกุมและทรัพยากรมหาศาล
การทำให้ระบบต่างๆ ดำเนินไปได้อย่างราบรื่น ทำให้ eBay ต้องเน้นการพัฒนาแพลตฟอร์มใช้เองทั้งหมด ไม่ว่าจะเป็น development, quality control และ release งานอะไรที่ต้องทำซ้ำๆ จะใช้โปรแกรมทำแทนทั้งหมดเพื่อลดความผิดพลาดของมนุษย์ (human error)
ในอุดมคติมีคำพูดว่า "automate all possible things" คือใช้โค้ดทำงานทุกอย่างเท่าที่เป็นไปได้
แต่ทางปฏิบัติ นักพัฒนาต้องสร้างโปรแกรมใหม่ขึ้นมาเรื่อยๆ เทียบได้กับ functional code ทำหน้าที่ขายและซื้อสินค้า ส่วนที่ได้ใช้ระบบอัตโนมัติกลับเป็นเรื่อง quality control ของซอฟต์แวร์
งานหลักของระบบ automation คือการทำ regression test เพื่อรัน test script ทดสอบว่าเมื่อเพิ่มฟีเจอร์ใหม่ลงไปแล้ว ฟีเจอร์เดิมยังใช้งานได้เหมือนเดิม ความสามารถของโปรแกรมไม่ได้ถดถอย (regress) ลงจากเดิม
สำหรับคนที่ไม่คุ้นเคยกับคำว่า regression ยกตัวอย่างโปรแกรมเครื่องคิดเลข ถ้าโค้ด V1 สามารถรับค่าตัวแปรแรก บวก ตัวแปรสอง แล้วให้ผลลัพธ์ การทดสอบโค้ด V1 ก็คือให้คนใส่ค่า 2 + 3 แล้วดูว่าผลลัพธ์ได้ 5 หรือไม่ นี่คือ test case อันแรก เรายังสามารถมี test case อื่นๆ เช่น ถ้าใส่ค่าติดลบ บวกกับ ค่าลบ, ถ้าใส่ค่าตัวเลขที่สูงมากๆ อย่างเลข 20 หลัก, ถ้ามีเลขมีทศนิยมบวกกัน ฯลฯ แต่ละอันก็เป็น test case ที่เราต้องทดสอบ
ต่อมาเราพัฒนาโค้ด V2 เพิ่มการคูณ มี test case ของการคูณให้เราทดสอบ ถ้าทดสอบแล้วทั้งหมดผ่าน ก่อนจะปล่อยโค้ด V2 ให้ผู้ใช้งาน เราต้องแน่ใจว่าฟีเจอร์การบวกยังทำงานได้ถูกต้อง อันนี้เรียกว่า regression
ลองคิดดูว่า ถ้าทำการทดสอบทั้งหมดด้วยคน ด้วยการเรียกโปรแกรมแล้วพิมพ์ค่าลงไป แล้วตรวจสอบคำตอบที่ได้ตาม test case ข้างต้น คนที่ทดสอบก็ต้องทำงานซ้ำเดิมทุกรอบ ยิ่งไปกว่านั้น หากทุกสัปดาห์ต้องออกโค้ด V3, V4, ... ไปเรื่อยๆ ถ้าเราใช้คนทดสอบแบบเดิม ทำงาน 1 คนต่อ 1 ฟีเจอร์ พอถึงสัปดาห์ที่ 90 เราคงต้องมีคนทดสอบมากถึง 90 คน
หากย้อนกลับไปสัปดาห์ที่ 1 ถ้าเราเขียนโปรแกรมขึ้นมาอีกชุดหนึ่ง มีหน้าที่เพื่อทดสอบการบวกตาม test case ต่างๆ เราจะสามารถใช้โปรแกรมนี้ทดสอบการบวกไปได้เรื่อยๆ ในเวอร์ชันต่อไป การทำงานแบบนี้เรียกว่า run regression test
ทีมที่สังกัดกำลังพัฒนาฟีเจอร์ใหม่ชื่อ SellerHub ช่วยให้ผู้ขายบน eBay สามารถดูออเดอร์สินค้าที่เข้ามาได้ง่ายขึ้น จัดการการคืนของ สินค้าคงคลัง วิเคราะห์ราคาสินค้า รวมถึงบอกแนวโน้มของตลาดได้ เช่น สินค้าบางตัวตั้งราคาสูงกว่าค่าเฉลี่ยตลาด ระบบจะแนะนำให้ลดราคาลง หรือ สินค้าบางตัวขายดี อาจทำให้ขาดตลาดได้ ก็จะแนะนำให้เพิ่มคงคลัง และมีโปรโมชันเพื่อเพิ่มยอดขาย หรือให้ผู้ขายดูกราฟการเติบโตของยอดขาย แยกตามกลุ่มหรือตัวสินค้าที่ผู้ขายต้องการ
ผมทำ QA ส่วนของระบบสินค้าคงคลัง ทำ automation test สำหรับ Inventory API และ Load and Performance testing ครับ
วงการ automation test มีเครื่องมือมากมาย แต่เครื่องมือจะไม่มีความหมายเลย ถ้าคนใช้ไม่เข้าใจถึงพื้นฐานเรื่องของคุณภาพของซอฟต์แวร์
การทำ test มี 3 ขั้นตอนหลักคือ
บริษัทใหญ่ๆ มีเฟรมเวิร์คสำหรับการทดสอบของตัวเอง และจะเชื่อมกับฝ่ายพัฒนาโปรแกรม จนเป็น full pipeline ด้วยหลักการ Continuous Integration (CI) โดยใช้ซอฟต์แวร์โอเพนซอร์สอย่าง Jenkins
การพัฒนาโปรแแกรมขนาดใหญ่จะใช้กระบวนการแบบ SaaS (Software as a Service) โดยแตกงานออกเป็นหน่วยย่อยเรียกว่า (I) service เพื่อทำหน้าที่เพียงไม่กี่อย่าง และมี (II) user interface ที่ทำหน้าที่ติดต่อกับผู้ใช้
หลักการของ software testing จะเน้นไปที่การทดสอบ service กับ user interface ตามที่กล่าวมา
service automation testing
การทดสอบ service จะใช้แนวทาง automation test เขียนโปรแกรมให้ทำงานเหมือนกับการที่คนทำการทดสอบซอฟต์แวร์ ตามที่กล่าวไปแล้ว
ก่อนที่เราจะสร้าง automation test เราต้องทำ manual test หรือรันการทดสอบด้วยมืออย่างน้อยหนึ่งครั้ง จากนั้นเราสร้าง automation script เป็น Test Job บน CI (Continuous Integration) เพื่อสามารถใช้ซ้ำได้เรื่อยๆ
ตัวอย่างของ service automation test คือ ถ้ามี service หน่วยหนึ่งไว้บวกเลข การเขียนโปรแกรมจะแตกออกเป็น test case หลายอันคือ (1) ตัวตั้งเป็นบวก + ตัวบวกเป็นบวก (2) ตัวตั้งเป็นบวก ตัวบวกเป็นลบ (3) ทศนิยม (4) 0 + 0 (5) ล้านๆ (6) null และอื่นๆ
เครื่องมือของ service testing เป็น API call ที่เราป้อน request และได้ response กลับมา ส่วนใหญ่มักเป็นเฟรมเวิร์คของบริษัทเอง เพราะต้องสามารถเข้าถึงฐานข้อมูลและเรียกใช้ service แต่ละตัวได้
เครื่องมือที่ผมใช้มี SOAP UI, Postman สำหรับ manual test ก่อนเขียนโค้ด
user interface testing
ส่วนของ UI testing เป็นการจำลอง user actions ที่ทำบนหน้าจอ เช่น การล็อกอิน การกดปุ่มคำสั่งต่างๆ
สำหรับเครื่องมือ UI test ของ eBay ใช้ Selenium ซึ่งเป็นเครื่องมือรันทดสอบบนเบราว์เซอร์ที่มีผู้ใช้มากที่สุด
ภาษาที่เขียนโค้ดเป็น Java โดยเลือก IDE ตามที่ถนัด (Eclipse, IntelliJ IDEA) เครื่องมืออย่างอื่นมี source code management (Git, SCM, Perforce); Build (Maven, Gradle); load and performance testing (JMeter, Loadtest) และไลบรารีอื่นๆ (Springs, Hibernate)
ถ้าสนใจเรื่องของ automation test แนะนำให้เริ่มจากพื้นฐานเรื่องของคุณภาพซอฟต์แวร์ และ software life cycle แล้วค่อยๆ เจาะลึกลงไปทางลงมือทำ
ส่วนตัวมองว่าคนทำงาน Quality Engineer (QE) มักมีความสงสัยและอยากรู้ในเรื่องต่างๆ ชอบตั้งคำถาม และคิดนอกกรอบได้พอสมควร ดังนั้นลองสำรวจบุคลิกก่อนจะหันมาเป็น QE ได้ครับ
ผมว่าการเปรียบเทียบอาจไม่ค่อยแฟร์เท่าไรนะครับ เพราะงาน system สมัยทำที่ไทย เป็นระดับ user ไม่ใช่ creator ครับ
ส่วนงาน programming ที่มาทำในสหรัฐก็ตรงข้ามกันโดยสิ้นเชิง เพราะต้องเป็นคนสร้างซอฟต์แวร์ให้คนอื่นใช้
แต่เท่าที่มีประสบการณ์ งานสาย system มักเป็นงานประจำเป็นส่วนใหญ่ เช่น setup, configure, deploy, Maintenance ทำงานเป็นชิ้นๆ ไป ในทีมมีแต่ System Engineer ด้วยกัน หรืออย่างมากก็ Sales แล้วปิดงานเป็นโครงการไป หรือถ้าเป็นแอดมินระบบ ก็จะทำงานซ้ำๆ ตามที่ได้รับมอบหมาย
งานสาย programming ต้องทำงานเป็นทีมมากกว่า ในทีมเดียวกันต้องเข้าใจ product specifications จาก Product Manager, รับโค้ดจาก Developer, ทำงานด้วยกันกับทีม QE และสุดท้ายพอตอน release จะยิ่งไปกว่านั้น ต้องทำงานข้ามทีมอื่นด้วย เพราะต้องใช้ VM platform, pool vitualization, test framework, environment, integration tests, database โดยรวมแล้ว งานมีความซับซ้อนและท้าทายมากกว่าครับ
ส่วนตัวผมเป็นคนตรงๆ เลยมีความชอบวัฒนธรรมการทำงานที่นี่พอสมควร
สิ่งที่ดี
สิ่งที่แย่ จริงๆ ก็ไม่ได้ถึงกับแย่ แต่ที่ไทยดีกว่า
ถ้ามีโอกาสดีๆ ก็ลองมาใช้ชีวิตอยู่ที่อเมริกา จะได้ประสบการณ์ที่ต่างไปครับ
ความสามารถด้านเทคนิคของคนไทยไม่แพ้ชาติใดในโลก ผมเชื่อว่าถ้าเรามีความสามารถในการเรียนรู้สูง เราสามารถทำงานอะไรก็ได้
ผมแนะนำว่าให้เรียนรู้เชิงลึกของเทคโนโลยีเฉพาะอย่างไปเลยครับ แต่ตอนเลือกว่าจะเรียนรู้อะไร ให้เลือกอย่างมีเป้าหมาย เช่น เป็นเทคโนโลยีที่บริษัทใหญ่ที่มีอนาคตไกลใช้อยู่, ตัวรากฐานทฤษฎีไม่ค่อยเปลี่ยนแปลงมากนัก เช่น network layers, tax system และหมั่นตั้งคำถามว่าทำไม อย่างไร มากกว่าการจดจำเฉพาะอะไร ที่ไหน เมื่อไร
อีกอย่างผมอยากเน้นเรื่อง soft skills นะครับ การจะให้คนที่นี่ยอมรับ ส่วนตัวแล้วผมอยากให้มีความถ่อมตน ทำให้ความคาดหวังในตัวเราในสายตาคนอื่นไม่สูง เมื่อเราทำงานกับคนอื่น เราพูด แสดงความคิด แสดงผลงาน คนรอบข้างจะเห็นเอง แล้วเราจะ exceed expectation เสมอ
ผมคิดว่าผมโชคดีมากที่ได้มาถึงจุดนี้ ในอดีตมีทั้งได้ในสิ่งที่หวัง ไม่ได้ดังหวัง และได้ในสิ่งที่ไม่ได้หวัง มีภรรยาที่น่ารักและคอยสนับสนุนผมในทุกเรื่อง
สิ่งที่ผมคิดว่าทำได้ดีคือมีเป้าหมายอยู่เสมอ ทำหรือยังไม่ทำนั้นเรื่องหนึ่ง แต่อย่างน้อยผมมีความฝันในระยะสั้น อาจจะ 6 เดือน 2 ปี หรือ 10 ปี จะทำโน่นทำนี่ อยากได้โน่นได้นี่ แล้วค่อยๆ คิดว่า ทำอย่างไรถึงจะได้ ถ้าคุณยังไม่มีความฝัน เริ่มคิดมาหนึ่งอัน แล้วทำมันให้เป็นจริง อาจจะเริ่มจากสิ่งเล็กๆ และเพิ่มความท้าทายไปเรื่อยๆ
ผมคิดว่าผมมีความสุขกับทุกเรื่องๆ ในชีวิต ทั้งการทำงาน และชีวิตส่วนตัวครับ ส่วนในอนาคตอยากมีอะไรที่ทิ้งชื่อไว้ให้โลกบ้าง (แอบฝัน) อาจจะมีบริษัทเล็กๆ ของตัวเอง, องค์กรไม่หวังผลกำไร หรืองานการกุศลที่ทำประโยชน์ให้ส่วนรวม ให้โอกาสคนอื่นครับ
Comments
"งาน system สมัยทำที่ไทย เป็นระดับ user ไม่ใช่ creator ครับ.. ส่วนงาน programming ที่มาทำในสหรัฐก็ตรงข้ามกันโดยสิ้นเชิง เพราะต้องเป็นคนสร้างซอฟต์แวร์ให้คนอื่นใช้"
โฮก >_<"
บทความเซ็ตนี้มีประโยชน์มากๆครับ
ตั้งแต่อ่าน series นี้มา ผมชอบบทความนี้สุดครับ ข้อคิดเยอะดี
"เราจะไปได้ไกลแค่ไหน" ไฟนี่ลุกเลยครับ พรึ่บๆๆๆ
ขอบคุณครับ =)
คงตอบคำถามหลายท่านได้ที่ถามว่ามีแต่คนจบจากจุฬาฯ เป็นบทความที่ดีมากครับ
สุดยอดบทความ จากสุดยอดคนคนครับ...
เอาไว้ให้เด็มหาลัยอ่านก็ดีนะ
ทีสร้าง => ที่สร้าง
ตามที่ความหวัง ?
บุคคลิก => บุคลิก
ทฤษฏี => ทฤษฎี
ความความหวัง => ความคาดหวัง
อย่างแกล้งทำ => อย่าแกล้งทำ
ตั้งความความหวัง ?
Combo Breaker!! ขำๆนะครับ
อ่านแล้วฮึดเลย ให้ข้อคิดและกำลังใจมากๆ ครับ
SPICYDOG's Blog
อ่านแล้วมันโดนใจหลายๆเรื่อง กว่าบทความชุดก่อนๆ
1.อยากมาตามฝันว่า "เราจะไปได้ไกลแค่ไหน" มาหางานก่อน ที่ผ่านๆมาๆจะเป็นว่ามาเรียนก่อนแล้วหางาน
2.เห็นภาพสุดว่าวัฒนธรรมเรากับเขาต่างกันแบบไหน (บทความอื่นๆอ่านแล้วยังไม่สุดเท่านี้)
3.soft skills อันนี้ดีมาก เอาไปใช้ได้ทุกประเทศครับ
4.ถ้าคุณยังไม่มีความฝัน เริ่มคิดมาหนึ่งอัน แล้วทำมันให้เป็นจริง
ExxonMobile?
ExxonMobil มากกว่ามั้งครับ 555+
โปรแแกรม => โปรแกรม
@ Virusfowl
I'm not a dev. not yet a user.