สวัสดีครับ เนื่องจากเห็นกระทู้หลายๆ คนมีสงสัยเรื่องเงินเดือนบ้าง ที่ทำงานบ้าง จึงนึกเอามาแชร์ให้อ่านกันเผื่อเป็นประโยชน์ครับ
ผมขอแยกเนื้อหาที่ผมจะแชร์เป็นบทๆ นะครับ เพื่อที่ว่าผู้อ่านจะได้ข้ามไปยังส่วนที่สนใจได้เลย เพราะผมจะเกริ่นเนื้อหาที่มีผลทำให้ผมเป็นแบบทุกวันนี้ตั้งแต่ช่วงที่ผมยังไม่เข้าวัยรุ่นนะครับ
ประวัติส่วนตัว
- ชาย อายุไม่เกิน 25 ปี
- จบปริญญาตรี วิศวกรรมคอมพิวเตอร์
อภิธานศัพท์สำหรับผู้อ่านที่ไม่คุ้นชินกับคำศัพท์คอมพิวเตอร์
[Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้
- ภาษา Java: ภาษาสำหรับเขียนโปรแกรมภาษาหนึ่ง ซึ่งเป็นที่นิยมมากในปัจจุบัน โดยเป็นภาษาสำหรับงานทั่วไป (General Purpose Programming Language)
- ภาษา JavaScript: ภาษาสำหรับเขียนโปรแกรมภาษาหนึ่ง ใช้สำหรับทำให้เว็บไซต์โต้ตอบได้ (เช่น ทำให้กดปุ่มนี้แล้วจะเพิ่มของในหน้าเว็บโดยไม่ต้องกดรีเฟรช เป็นต้น) ซึ่งในปัจจุบันสามารถนำมาทำงานเช่นเดียวกับภาษาที่เป็น General Purpose ได้แล้ว
- Linux: ระบบปฏิบัติการหนึ่งในสามระบบปฏิบัติการที่นิยมใช้ในปัจจุบัน (Windows, macOS และ Linux) เป็นระบบปฏิบัติการที่สามารถปรับแต่งและใช้ได้โดยไม่เสียค่าใช้จ่าย โดยส่วนมากมักนำไปปรับแต่งเพิ่มเติมให้เข้ากับงานที่ต้องใช้
- Ubuntu: เป็นระบบ Linux แบบหนึ่งที่เสริมการใช้งานด้านต่างๆ โดยเน้นไปในทางการใช้งานในชีวิตประจำวัน (เขียนเอกสาร, ค้นหาข้อมูลในอินเทอร์เน็ต, ดูหนังฟังเพลง, ฯลฯ)
- Microsoft FrontPage: โปรแกรมสำหรับสร้างเว็บไซต์แบบ WYSIWYG (What you see is what you get - เห็นแบบไหน ได้แบบนั้น) พัฒนาโดยบริษัท Microsoft
- Macromedia Dreamweaver: โปรแกรมสำหรับสร้างเว็บไซต์แบบ WYSIWYG พัฒนาโดยบริษัท Macromedia ซึ่งปัจจุบันถูกซื้อไปเป็นของบริษัท Adobe แล้ว
- ภาษา C: ภาษาสำหรับเขียนโปรแกรมภาษาหนึ่ง โดยเป็นภาษาสำหรับงานทั่วไป (General Purpose Programming Language) ซึ่งปัจจุบันเป็นภาษาที่ภาษาอื่นหลายๆ ตัวนำโครงสร้างและไวยากรณ์ไปใช้เป็นพื้นฐาน
- ภาษา C#: ภาษาสำหรับเขียนโปรแกรมภาษาหนึ่ง โดยเป็นภาษาสำหรับงานทั่วไป (General Purpose Programming Language) ซึ่งมีโครงสร้างคล้ายๆ ภาษา Java แต่พัฒนาโดยบริษัท Microsoft
- Windows Form: ลักษณะของโปรแกรมที่มีส่วนโต้ตอบกับผู้ใช้เป็นภาพกราฟิก (Graphics User Interface) เช่น ปุ่ม, กล่องข้อความ, ฯลฯ ซึ่งในที่นี้กล่าวถึงในเชิงของการพัฒนาโปรแกรมบน Windows
- Console Program: ลักษณะของโปรแกรมที่เป็นข้อความ ทำงานบนหน้าจอโดยอาศัยการพิมพ์คำสั่งผ่านแป้นคีย์บอร์ด
- การทำ Partition: การแบ่งพื้นที่ในฮาร์ดไดร์ฟออกเป็นส่วนๆ เพื่อจัดสรรสำหรับงานต่างๆ เช่น แบ่งเป็นพื้นที่สำหรับติดตั้งระบบปฏิบัติการ, แบ่งเป็นพื้นที่สำหรับเก็บข้อมูล เป็นต้น หรือถ้าเอาเข้าใจง่ายๆ กว่านั้นก็คือ ที่เราเรียกๆ ว่า Drive C, Drive D นั่นเอง
- ระบบ Unix: ระบบปฏิบัติการที่เป็นพื้นฐานของ Linux และ macOS (เหมือนนำ Unix มาปรับแต่งต่อจนเป็นระบบตัวใหม่)
- OOP (Object-Oriented Programming): การเขียนโปรแกรมเชิงวัตถุ ซึ่งจะเขียนโปรแกรมโดยการมองระบบเป็นวัตถุสิ่งต่างๆ (ตาม Business ของโปรแกรมนั้นๆ) เช่น เกมก็จะมี ผู้เล่น, ไอเท็ม, ฯลฯ เป็นวัตถุที่ทำงานเกี่ยวกับสิ่งนั้นๆ ในโปรแกรม
- git: โปรแกรมสำหรับจัดเก็บงานเป็นเวอร์ชัน (Version Control System) ซึ่งช่วยในการเก็บประวัติของเอกสารต่างๆ แทนที่จะต้องคัดลอกงานออกมาเป็นชื่อต่างๆ เช่น work_final.docx, work_last_final.docx ฯลฯ
- GitHub: เป็น Version Control System บนอินเทอร์เน็ต ซึ่งปัจจุบันเป็นที่นิยมมากในกลุ่มการพัฒนาโปรแกรมแบบเปิดโค้ดโปรแกรม (Open-Source Software)
บทที่ 1: เพื่อนประถมและห้องสมุด (ป.1-ป.6)
สาระสำคัญ: ภาษาอังกฤษกับรักการอ่าน
[Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้
ท้าวความย้อนไปเมื่อตอนผมเรียนอยู่ประถม (เป็นเด็กต่างจังหวัด) ผมมักจะเป็นเด็กที่ชอบส่งงานคนแรกๆ ของห้อง ผมจำได้ว่าผมเคยส่งงานวิชาคณิตศาสตร์ให้ครูในคาบจนครูต้องขอให้ผมทำงานช้าลงเพราะลายมือหวัดจนอ่านแทบไม่ออก (แต่ผมอ่านออกนะ) ทำให้ผมเรียนได้เกรดค่อนข้างดีมาตลอด
เมื่อถึงประถมปลายก็จะมีการจัดห้องเพื่อเสริมทักษะนักเรียนตามความสามารถ ผมโชคดีและโชคร้ายในเวลาเดียวกันที่ได้เจอกับเพื่อนที่ชอบภาษาอังกฤษและชอบกลั่นแกล้ง ทุกๆ วัน เพื่อนผมก็จะมาทายคำภาษาอังกฤษที่ผมมักไม่คุ้นหูกับผมบ่อยๆ จนสุดท้ายผมต้องไปหาคำมาแข่งกับเพื่อนบ่อยๆ จนได้ไปแข่งขันเปิดดิกชันนารี (ซึ่งได้อันดับหลังๆ เลย) ทำให้ผมมีพื้นฐานภาษาอังกฤษมาบ้าง
ทุกกลางวันผมก็มักจะไปที่ห้องสมุดเพื่อเปิดสารานุกรมที่ผมชอบอ่านเป็นประจำ (เป็นสารานุกรมสำหรับเด็กที่จะมีรูปแนวการ์ตูนเยอะๆ) โดยเฉพาะเรื่องของรถตัก ทำให้ผมมีความฝันที่จะเป็นกรรมกรตั้งแต่เด็ก แต่พอไปปรึกษาพ่อก็ได้คำตอบมาว่า "เป็นวิศวะก็ขับได้นะ" ผมก็เลยมีความฝันว่าอยากเป็นวิศวกรโยธามาตั้งแต่นั้น
บทที่ 2: เกมคอมพิวเตอร์, Java และการแข่งขันครั้งแรก (ม.1-ม.3)
สาระสำคัญ: การหาตัวเอง
[Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้
พอเข้ามัธยมผมก็ได้คอมพิวเตอร์เครื่องแรกในครอบครัว จำได้ว่าผมติดเกมหนักมาก ถึงขนาดติด 0 ในวิชาคณิตศาสตร์ ซึ่งต้องไปแก้เกรดกับอาจารย์และเหตุนี้ทำให้ผมมีพื้นฐานคณิตศาสตร์แย่มากในช่วงมัธยมต้น (สมการกำลังสองอะไรพวกนี้ไม่เข้าใจเลยในตอนนั้น) แต่ผมก็ยังชอบเข้าห้องสมุดอยู่ วันหนึ่งไปเจอกับหนังสือ "เปิดหมดเปลือก สร้างเกมฮิตด้วย Java" ของคุณชวิศนัช อิงชาติเจริญ ทำให้ผมได้เริ่มเข้าสู่ด้านการเขียนโปรแกรมครั้งแรก แต่ทว่าผมไม่เข้าใจเนื้อหาในนั้นเลย จึงไปหาหนังสือเกี่ยวกับภาษา Java จนเจอกับหนังสือ "เรียนจาวาสคริปต์เบื้องต้นด้วยตัวเอง" จนสุดท้ายไปๆ มาๆ ก็เขียนเว็บ (กากๆ) ไปซะแล้ว
พอเข้าม.3 ก็ได้เริ่มลองเล่นโปรแกรมหลายๆ ตัวจากการค้นพบโปรแกรมในคอมพิวเตอร์ของโรงเรียน เลยไปขอโปรแกรมจากอาจารย์ (ขอบ่อยจนสนิทกับอาจารย์ไปเลย ฮ่าๆๆ) และรวมไปถึงจากการค้นหาข้อมูลต่างๆ ในอินเทอร์เน็ต ทำให้ผมได้ลองทำอะไรกากๆ หลายๆ อย่างที่ไม่เคยทำเช่น ไปหาโหลดโปรแกรม 3D Max มาทำ animation, ใช้ Paint และ Movie Maker ทำ 2D animation จนสุดท้ายได้ไปแข่งทำเว็บด้วยโปรแกรม FrontPage (ซึ่งตอนนั้นผมเขียนด้วย Dreamweaver MX กับ Notepad มาตลอด) ได้รางวัลอันดับต้นๆ มาฝากให้กับโรงเรียน
บทที่ 3: C, C# และเตรียมเข้ามหาวิทยาลัย (ม.4-ม.6)
สาระสำคัญ: ความรู้พื้นฐานและการพัฒนาตัวเอง
[Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้
พอขึ้นม.4 ก็จะมีการเลือกสายการเรียนซึ่งมี วิทย์-คณิต และ ศิลป์-ภาษา ซึ่งแน่นอนว่าผมเลือก วิทย์-คณิต โชคดีที่โรงเรียนผมใช้อาจารย์ที่มาจากต่างประเทศสอนภาษาอังกฤษ จึงทำให้ผมได้พูดคุยกับชาวต่างชาติแบบพอเข้าใจได้
สิ้นเทอมนั้นผมยังได้พบตัวเองหลังจากสอบ Photoshop ว่าผมชอบคอมพิวเตอร์มากๆ ทำให้ติดตามและค้นหาข้อมูลเกี่ยวกับคอมพิวเตอร์มาตลอด จนในที่สุดผมจึงได้เริ่มเขียนภาษา C เป็นครั้งแรก
พอขึ้นม.5 ที่โรงเรียนก็ได้นำอาจารย์ที่จบหรือทำงานในด้านต่างๆ มาสอน ผมจึงมีโอกาสได้ปรึกษาอาจารย์ท่านหนึ่งที่จบวิศวกรรมคอมพิวเตอร์มาว่าควรเริ่มต้นเขียนภาษาอะไรต่อ ผมจึงได้ลองภาษา C# ทำโปรแกรม Windows Form ครั้งแรกซึ่งเป็นลักษณะของโปรแกรมที่ผมอยากเขียนมานาน (ก่อนหน้านี้เขียนเป็นแค่ Console Program อย่างเดียว)
และตอนม.6 ผมได้ไปแข่งตอบปัญหาทางคอมพิวเตอร์พร้อมกับรุ่นน้องอีก 2 คน ตอนนั้นผมไปแข่งโดยไม่ได้หวังอะไรมาก เพียงแค่อยากได้ลองทักษะที่ฝึกฝนมาใช้ แต่กลับติดอันดับไปแข่งรอบ 2 อย่างไม่ได้คาดหมาย สุดท้ายได้อันดับ 2 แต่ทางผู้จัดขอแลกรางวัลอันดับ 1 มาให้ผมเป็นทุนเรียนมหาวิทยาลับเอกชนฟรี 4+1 (เรียนตรี 4 ปี เรียนอีกปีจบโททันที) เนื่องจากผมอยู่ม.6 แต่น้องที่ชนะอันดับ 1 อยู่ม.5 ผมได้ไปพูดคุยกับอธิการบดีของคณะวิศวกรรมศาสตร์เรื่องทุนและเงื่อนไขต่างๆ แต่ผมรู้สึกว่าผมจะกดดันมากไปจึงปฏิเสธรางวัล (ค่าใช้จ่ายการเรียนสูงแต่ฐานะทางบ้านยังไม่ดี ซึ่งถ้าผมทำไม่ได้ตามเงื่อนไขก็ต้องจ่าย โดยเงื่อนไขตอนนั้นคือต้องเรียนให้ได้ 3.5 ขึ้นทุกเทอม -- ต้องขอโทษทางมหาวิทยาลัยและน้องผู้ชนะด้วย ที่ผมไม่รับรางวัลนี้) แต่ทั้งนี้ที่บ้านก็ให้รางวัลเป็น MacBook เครื่องหนึ่ง (ขอเป็น MacBook เพราะตอนนั้นอยากลองเขียนแอพบนระบบ iOS)
ทั้งนี้หลังจากการแข่งขัน ผมก็ได้พูดคุยกับน้องที่ไปร่วมแข่งในวันนั้นเป็นประจำ และน้องก็แนะนำ Ubuntu ให้ผมลองเล่น ซึ่งบอกเลยว่าตอนนั้นผมงงกับระบบ Partition ของ Linux มาก (ต้องมี Swap Space) จนต้องโทรถามน้องว่าติดตั้งกันยังไงเลยทีเดียว แต่จากการได้ลองเล่น Ubuntu นั้นทำให้ผมมีพื้นฐานการใช้งานคำสั่ง Unix เบื้องต้นพอสมควร
บทที่ 4: มหาวิทยาลัย, ฝึกงานและการโดนปฏิเสธ (ปี 1-3)
สาระสำคัญ: ประสบการณ์การฝึกงาน
[Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้
พอขึ้นมหาวิทยาลัยก็ได้ไปเจอกับเกม Minecraft ซึ่งเขียนด้วย Java ทำให้ผมได้เริ่มเรียนภาษา Java โดยการเขียน Plugin ให้กับเซิร์ฟเวอร์เกม ซึ่งการเขียน Plugin เกมนี้ทำให้ผมเข้าใจ Concept ของ OOP และโครงสร้างโปรแกรมมากขึ้น รวมไปถึงการใช้งาน git และ GitHub พื้นฐาน
ในช่วงปี 2 ทางสาขาก็มีเปิดวิชาสอนเขียนแอพบน iOS โดยเอาเนื้อหาจากมหาวิทยาลัย Stanford มาสอน ทำให้ผมพอจะเขียนแอพ iOS แบบงูๆ ปลาๆ เป็นบ้าง
เมื่อถึงปี 3 ก็จะมีการหาที่ฝึกงานกันในสาขา ผมก็ได้ส่งเรื่องฝึกงานไปยังบริษัทหนึ่ง (จำได้ว่าส่งไปในเดือนกรกฎาคมซึ่งเป็นช่วงแรกๆ ของการหาที่ฝึกงาน) แต่สุดท้ายในเดือนกุมภาพันธ์ทางบริษัทก็ได้ตอบปฏิเสธกลับมาซึ่งเป็นช่วงเวลาที่หลายๆ บริษัทไม่ได้รับฝึกงานเพิ่มแล้ว ทำให้ผมต้องยื่นเรื่องขอเลื่อนฝึกงานเป็นปี 4 แทน (ที่ผมไม่ได้หาที่อื่นต่อ เพราะในตอนนั้นทางมหาวิทยาลัยบอกว่าให้ตอบรับการฝึกงานกับบริษัทเดียวเท่านั้น แต่ผมเข้าใจไปเองว่าให้ส่งเรื่องขอฝึกงานให้เสร็จสิ้นทีละบริษัทเท่านั้นแทน)
ในช่วงวันหยุดของเทอมนั้นผมจึงว่าง ก็ได้เขียนโปรแกรมต่างๆ ต่อ รวมถึงได้ลองแก้ปัญหาโปรแกรมให้กับลูกค้าในเว็บๆ หนึ่ง (ซึ่งเป็นเว็บต่างประเทศที่ให้ลูกค้าเขียนความต้องการพร้อมราคา แล้วเหล่าโปรแกรมเมอร์ก็จะมาเลือกเอาไปทำให้ -- ราคาที่รับทำค่อนข้างสูงเมื่อเทียบกับตัวงาน แต่ทั้งนี้ค่านายหน้าของเว็บก็สูงเช่นกัน) จึงพอมีรายได้มาบ้าง
แต่แล้วเพื่อนที่มหาวิทยาลัยก็ทักผมมาว่าจะลองทำงานกับที่ๆ เพื่อนผมฝึกงานไหม ผมก็ตกลง เพราะไหนๆ ก็ว่างอยู่แล้ว ก็เลยได้ไปทำงานจริงๆ (ในฐานะเด็กฝึกงาน) ทำให้ผมได้จับอะไรหลายๆ อย่างที่ไม่เคยจับมาก่อน (หมายถึงพวกการใช้งานชุดคำสั่งหรือโปรแกรมนะ) และได้ไปออกพบลูกค้าที่ใช้โปรแกรมเพื่อขอ Feedback ต่างๆ รวมถึงเขียนแอพบนระบบ iOS อย่างจริงๆ จังๆ แถมยังได้เงินเดือนอีกต่างหาก (เป็นการฝึกงานที่ผมได้ประสบการณ์เยอะมากจริงๆ ต้องขอบคุณเพื่อนคนนั้นและพี่ที่บริษัทมากๆ ที่ให้โอกาสในการฝึกงานครั้งนั้น)
บทที่ 5: เตรียมตัวหางานทำ (ปี 4) - ฝึกงาน, การยื่นสมัครงานที่ยาวนาน
สาระสำคัญ: การสมัครงานครั้งแรก
[Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้
ย้อนไปเมื่อตอนปี 1 ผมได้ Drop วิชาคณิตศาสตร์ไปหนึ่งตัว ซึ่งเป็นตัวพื้นฐานที่จะต้องเรียนก่อนวิชาถัดไป รวมทั้งต้องเรียนภาษาอังกฤษในวันที่เพื่อนๆ คนอื่นไม่ได้เรียน (ซึ่งพาให้ผมขี้เกียจเรียนเข้าไปอีก) ทำให้เกรดโดยรวมในตอนนั้นเหลือประมาณ 3 นิดๆ แต่โชคดีที่ตอนปี 4 ผมยังมีโอกาสได้เกียรตินิยม
ในช่วงก่อนสอบโปรเจคจบ ก็จะมีบริษัทมาหาเด็กไปทำงานหลายๆ คนก็สมัครไป และได้ผลตอบรับค่อนข้างเร็ว (เงินเดือนที่บริษัทนี้ จากที่ถามเพื่อนๆ ก็เริ่มกันที่ 24k แล้ว) ซึ่งผมเองก็ส่งไปแต่เนื่องจากติดฝึกงาน จึงต้องขอเริ่มงานช้ากว่าเพื่อนๆ (เพื่อนๆ เริ่มงานกันช่วงเดือนพฤษภาคม แต่ผมเริ่มเดือนตุลาคม) ทำให้ทางบริษัทใช้เวลานานพอสมควร ซึ่งสุดท้ายผมก็ได้ทำงานในตำแหน่ง Software Engineer ด้วยเงินเดือน 27k ที่ผมเรียกไป (พอทำงานจึงได้รู้ว่าที่เขารับผม เพราะผมเป็นคนเรียกเงินเดือนเอง แทนที่จะรอให้เขาเสนอมาแทน)
สุดท้ายผมจบมาด้วยเกรด 3.2x กว่าๆ ซึ่งโชคดีที่การฝึกงานในปี 4 (ซึ่งก็คือที่ๆ ผมไปทำงานในปี 3) ไม่มีผลกับการได้รับเกียรตินิยม
ชีวิตของ Software Engineer ทำงานมาหนึ่งปีได้เงินเดือน 58k ต้องผ่าน, เจอและทำอะไรบ้าง
ผมขอแยกเนื้อหาที่ผมจะแชร์เป็นบทๆ นะครับ เพื่อที่ว่าผู้อ่านจะได้ข้ามไปยังส่วนที่สนใจได้เลย เพราะผมจะเกริ่นเนื้อหาที่มีผลทำให้ผมเป็นแบบทุกวันนี้ตั้งแต่ช่วงที่ผมยังไม่เข้าวัยรุ่นนะครับ
ประวัติส่วนตัว
- ชาย อายุไม่เกิน 25 ปี
- จบปริญญาตรี วิศวกรรมคอมพิวเตอร์
อภิธานศัพท์สำหรับผู้อ่านที่ไม่คุ้นชินกับคำศัพท์คอมพิวเตอร์
[Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้
บทที่ 1: เพื่อนประถมและห้องสมุด (ป.1-ป.6)
สาระสำคัญ: ภาษาอังกฤษกับรักการอ่าน
[Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้
บทที่ 2: เกมคอมพิวเตอร์, Java และการแข่งขันครั้งแรก (ม.1-ม.3)
สาระสำคัญ: การหาตัวเอง
[Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้
บทที่ 3: C, C# และเตรียมเข้ามหาวิทยาลัย (ม.4-ม.6)
สาระสำคัญ: ความรู้พื้นฐานและการพัฒนาตัวเอง
[Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้
บทที่ 4: มหาวิทยาลัย, ฝึกงานและการโดนปฏิเสธ (ปี 1-3)
สาระสำคัญ: ประสบการณ์การฝึกงาน
[Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้
บทที่ 5: เตรียมตัวหางานทำ (ปี 4) - ฝึกงาน, การยื่นสมัครงานที่ยาวนาน
สาระสำคัญ: การสมัครงานครั้งแรก
[Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้