บทความนี้ลุงจะแนะนำเทคนิคการทำให้เราได้งานด้านการเขียนโปรแกรม แม้ว่าตัวเองจบไม่ตรงสาย จบบัญชีมาแต่อยากทำงานเขียนโปรแกรม สามารถเป็นได้ไหม? จบช่างไฟมาจะทำงานด้านเขียนโปรแกรมได้ไหม? หรือแม้กระทั่งไม่จบอะไรเลยก็ตาม ก็สามารถใช้สูตรนี้ในการฝึกตัวเองจนบริษัทอ้าแขนรอรับ ไปจนบริษัทโทรมาจีบเองก็เป็นไปได้ทั้งสิ้น
1- ตั้งใจ มุ่งมั่น อดทน ไม่ยอมแพ้ง่ายๆ หากเจอเหตุให้ล้มก็ต้องตั้งใจลุกขึ้นมาสู้ต่อ เพราะเส้นทางนี้ค่อนข้างลำบากมากสำหรับคนที่ไม่ได้จบตรงสายและไม่ได้จบอะไรมา ...เจอลุงขู่ไปแล้วหนึ่ง 555 ถ้ายอมแพ้ตั้งแต่ข้อนี้ก็จบเลย ใจเย็นๆ อย่าพึ่งวอกแวก "อย่ายอมแพ้ตั้งแต่ไม่ออกจากมุ้ง" ข้อแรกนี้เมื่อออกจากมุ้งแล้ว ก็เริ่มคิดได้เลยว่า "ตัวเองอยากทำงานสายไหน?" สายไหนที่ว่าคือ คุณต้องไปหา google ดูว่า อาชีพโปรแกรมเมอร์มีแบบใดบ้าง? ถ้าอยากได้คีย์เวิร์ดลัดๆ คุณเอาคำว่า "Programmer หรือ โปรแกรมเมอร์" ไปค้นหาในเว็บสมัครงาน เว็บฝากงานของไทยและต่างประเทศ อย่างของไทยถ้าคุณเอาคำเหล่านี้ไปค้นหาแล้ว คุณจะเจอตำแหน่งงานจากบริษัทต่างๆ ว่าตอนนี้เขาต้องการตำแหน่งอะไรบ้าง ให้ดูๆไว้ก่อนอย่าพึ่งใจร้อนตัดสินใจว่าจะไปทางใด แต่ถ้าตัวเองมั่นใจแล้วก็รออ่านให้จบทุกข้อก่อน
2- เมื่อมีความตั้งใจแล้ว คุณไปบอกเพื่อนที่เป็นโปรแกรมเมอร์บางคน เขาก็อาจจะด่ากลับมาว่า "ก็คุณไม่ได้เรียนวิชา computer programming, computer architecture, data structure, algrorithms อื่นๆ บลาๆๆ คุณจะไปเป็นโปรแกรมเมอร์ได้ไง?" เดินมาบอกลุงว่าเพื่อนด่ามาแบบนี้ ลุงจะแนะนำว่า "ก็ไปเรียนตาม keyword ที่เขาใบ้สิ! รอไร ฮ่ะๆ ปัดโถ่ print hello world 10 ครั้ง ปฏิบัติ" 555 ...จุดนี้คืออะไร คือคุณต้องรู้ว่าวิชาพื้นฐานที่เกี่ยวข้องกับการเป็นโปรแกรมเมอร์เขาต้องเรียนรู้วิชาอะไรบ้าง คุณก็เอาไปค้นหาเลย แล้วทดลองเรียนดู สมัยนี้วิชาด้านคอมพิวเตอร์มีให้เรียนมากมาย มหาวิทยาลัยอันดับโลกอย่าง MIT, Harvard ก็มีให้เรียนฟรีๆ แต่ยังไม่ต้องเริ่มเรียนแบบละเอียด แค่เปิดคลิปดู Intro ไปก่อนว่าวิชานั้นๆ จะเรียนหัวข้ออะไรบ้าง
3- จากข้อที่ 2 คุณอาจจะเหมือนโดนแทงเข้าไปกลางอก เพราะ..."โอ้ววลุง คอร์สเป็นภาษาอังกฤษทั้งนั้น" ...555 ข้อนี้ลุงจะแนะนำให้คุณฝึกอ่านภาษาอังกฤษ ณ บัดนาว เพราะความรู้ด้านการเขียนโปรแกรมในโลกที่เป็นภาษาอังกฤษมีเยอะกว่าไทยหลายร้อยเท่าแน่นอน โอกาศที่คุณจะมีบทความ มีหนังสือให้อ่านศึกษาก็มากขึ้นเท่านั้น จงจำไว้ว่า "ประเทศไทยแลนด์ ไม่ได้เป็นศูนย์กลางความรู้ของโลก" ดังนั้นภาษาอังกฤษถือเป็นสิ่งที่สำคัญมากและเป็นจุดเริ่มต้นของการเรียนรู้ คุณจะเจอมหาสมุทรที่กว้างใหญ่ไพศาลมากกว่าแม้น้ำเจ้าพระยาที่อยู่ในเมือง Krung Thep Maha Nakhon อย่างแน่นอน...555
4- เมื่อคุณเจอวิชาต่างๆ จากคีย์เวิร์ดของเพื่อนไปแล้ว คราวนี้คือ ให้ไปลองเปิดหลักสูตรในมหาวิทยาลัยที่สอนคณะที่เกี่ยวกับการเป็นโปรแกรมเมอร์เช่น วิศวะซอฟแวร์ วิศวะคอม วิทย์คอม อื่นๆ เป็นต้น คุณลองไปเปิดหลักสูตรคณะต่างๆเหล่านี้แล้วมานั่งเทียบๆกันดู จากหลายๆมหาวิทยาลัย คุณจะพบว่าหลักสูตรมันคล้ายๆกันมาก จะมีวิชาที่เรียนคล้ายๆกัน ...วิชาพวกนี้แหละที่เราต้องศึกษาเพิ่มเติม แต่ไม่ได้หมายความว่าต้องเรียนรู้หมดทุกอย่าง สิ่งที่คุณต้องทำคือ ถามเพื่อนคนที่เป็นโปรแกรมเมอร์ว่าตอนทำงานจริงวิชาไหนที่ใช้งานเยอะที่สุด ขอมาสัก 10 วิชาก่อน ...พวกวิชาคณิตศาสตร์ขั้นสูง ฟิสิกส์ ไม่ต้องเรียนก่อน ยังไม่จำเป็น คุณให้เพื่อนคุณเรียงตามลำดับความสำคัญมาสัก 10 วิชา จากนั้นก็เริ่มศึกษาคอนเซ็ปของวิชาเหล่านี้ว่าต้องไปฝึกอะไรบ้าง?
5- อ่านมาถึงข้อ 4 ก็ท้อเลย 555 จริงๆแล้วข้อ 4 ถือว่ายังเป็น optional ยังไม่ใช่สิ่งสำคัญสุดที่จะทำให้เราได้งาน เพราะสุดท้ายแล้วถ้าคุณมัวไปฝึกข้อ 4 จนหมดคุณก็จะไม่ได้เริ่มลงมือทำซะที แต่ข้อ 4 จะช่วยให้เราตอบคำถามตอนสัมภาษณ์หรือทำข้อสอบได้ตอนสมัครงานครั้งแรก เพราะบางบริษัทเขามีทดสอบพวกนี้ด้วย เขาจะให้ทำโจทย์ แก้ปัญหาพวกนี้บ้าง ดังนั้นอย่างน้อยๆ คุณต้องอ่านหนังสือตำราเขียนโปรแกรมของเด็กปี 1-2 ของเด็กมหาวิทยาลัยไว้ติดตัวหน่อยก็ดี
6- ข้อนี้ลุงแนะนำให้ทุกคนสมัครสมาชิกเว็บไซต์ Github.com หรือ Gitlab.com รอไว้เลย เพราะเป็นเครื่องมือที่เรียกได้ว่าเป็น Portfolio ที่จะแนบไปกับใบสมัครได้เลย ...จุดนี้ฝึกสร้าง Repository เลยว่าจะอัพโหลดโปรเจค อัพซอร์สโค้ดอย่างไร ...ดังนั้นทุกครั้งที่ทำโปรเจคเสร็จให้อัพโหลดขึ้นไปใส่ไว้ในนี้เลย (ห้ามถามลุงว่า Repository คืออะไร? จุดนี้คุณต้องใช้ Google เป็นได้แล้ว ถ้าไม่เจอคำตอบค่อยมาถามลุง 555)
7- เมื่อคุณเจอตำแหน่งงานในเว็บหางานในข้อ 1 แล้ว ให้ถามเพื่อนสักคำว่า ตำแหน่งนี้เป็นที่นิยมมากน้อยแค่ไหน จุดนี้ลุงแนะนำให้เริ่มต้นจากงานที่มีตำแหน่งงานเยอะก่อน เริ่มจากตำแหน่งที่ไม่ยากมากก่อน เริ่มไต่ไปทีละขั้น การที่เราจะไปสมัครในตำแหน่งงานที่เฉพาะทางมากๆ ซึ่งเป็นตำแหน่งงานที่มีน้อย คุณต้องรู้ลึกไม่น้อยทีเดียว และตำแหน่งพวกนี้เขาจะรับคนที่จบสายตรงก่อน ยกเว้นว่าคุณเทพมากถึงขั้นที่เก่งกว่าคนจบตรง ก็อาจจะมีโอกาสได้งาน ดังนั้นคนที่ไม่ได้จบสายตรงมา หรือไม่ได้จบแนะนำว่าเริ่มฝึกจากงานทั่วๆไปก่อน เช่น เขียนโปรแกรมสร้างเว็บไซต์ เขียนโปรแกรมสร้างแอพฯ เป็นต้น เมื่อคิดว่างานนี้น่าจะทำให้เราเริ่มต้นเข้าสู่ "วงการโปรแกรมเมอร์" ได้แล้ว ให้คุณดูในเว็บสมัครงานอีกครั้ง ให้ไปดูตรง "คุณสมบัติ" ของผู้สมัครงาน เขาจะมีเขียนคีย์เวิร์ดบรรทัดที่ 1-3 ว่าเขาต้องการคนที่มีทักษะประเภทใด
8- ตอนนี้คุณเจอกับคุณสมบัติของตำแหน่งงานนั้นแล้ว ให้คุณฝึกตามเขาเลย เช่น ตำแหน่งนักพัฒนาแอพพลิเคชั่น Android ต้องมีความรู้ด้านภาษา Java, นักพัฒนา iOS ต้องมีความรู้ภาษา Swift, ตำแหน่งนักพัฒนาแอพฯ cross platform ต้องมีความรู้เรื่อง Flutter ตำแหน่ง Python programmer ต้องมีความรู้ Python เกี่ยวกับ Data เป็นต้น ตำแหน่งทุกตำแหน่งในเว็บสมัครงานจะมีคีย์เวิร์ดเหล่านี้ คุณต้องนำคีย์เวิร์ดเหล่านี้เป็นจุดเริ่มต้นของ "การเรียนรู้แบบละเอียด"
9- "การเรียนรู้แบบละเอียด" คือ เมื่อได้คีย์เวิร์ดแล้ว ลุงขอยกตัวอย่างเกี่ยวกับตำแหน่งงาน Python Programmer สาย Data สิ่งที่คุณต้องศึกษาแบบละเอียดคือ คุณต้องนำคีย์เวิร์ดเช่น "data analytics in python" ไปค้นหาคอร์สสอนในเว็บดังๆต่างประเทศเช่น Coursera, Edx, Datacamp แล้วลงเรียนสักคอร์สแบบคอร์สฟรีให้พอเป็นน้ำจิ้มได้ลิ้มลองรสชาติว่ามีหัวข้ออะไรบ้าง เมื่อคุณเรียนจบสัก 1 คอร์ส ในเว็บเหล่านี้เขาจะมีระบบตอบคำถามให้เราทำแบบฝึกหัดค่อนข้างดีมาก ลองฝึกทำเลย เมื่อคุณเรียนไป 1 คอร์สคุณจะเจอคีย์เวิร์ดใหม่ๆ เช่น คุณเรียนเรื่อง Data ยังไงคุณต้องเจอคำว่า Pandas ไม่ใช่ ช่วงช่วง หลินฮุ่ยนะ 555 มันคือแพ็คเกจที่นิยมใช้จัดการข้อมูลแบบเทพๆ สิ่งที่คุณต้องทำคือ ไปฝึกใช้แพ็คเกจ Pandas แบบละเอียด ประมาณว่า ค้นหาในยูทูปแล้วเรียนให้เยอะที่สุดเท่าที่จะทำได้จนกว่าคุณจะเริ่มเข้าใจว่าเจ้า Pandas มันคืออะไรกันแน่? จากนั้นให้คุณไปค้นหาคอร์สด้านบนที่ลึกขึ้น เว็บต่างประเทศบางคอร์สเขาจะมี certificate ให้ด้วย ..ถ้าได้ก็ดี แต่อย่าไม่ยึดติดกับ certificate มาก เพราะสิ่งที่จะทำให้ได้งานคือ "ทักษะจากการเรียนที่สามารถทำ workshop ได้เป็นชิ้นเป็นอัน" ...ให้คุณทำวนลูปแบบนี้ทุกวัน ย้ำว่าทุกวันในช่วงการฝึกปีแรกๆ วันละนิดหน่อยก็ยังดี ถ้าไม่ได้ฝึกอย่างน้อยๆ ก็อ่านบทความที่เกี่ยวข้องสัก 1 บทความ
10- เมื่อคุณเริ่มฝึกไปสักพักใหญ่ ให้คุณลองหา workshop ทำ เช่น ฝึกเขียนโปรแกรมดึงข้อมูลจากเว็บท่องเที่ยวแล้วมาวิเคราะห์ข้อมูลจากคอมเมนท์ต่างๆว่า คนมาเที่ยวเมือง Krung Thep Maha Nakhon เขาชอบไปเที่ยวกันที่ไหน เขาชอบกินอะไร มีคนประเทศไหนที่ชอบมาในเมืองนี้มากที่สุดกี่เปอร์เซ็น พล็อตกราฟ ทำ Dashbord ออกมาให้ชาวโลกได้ดูกัน ....คุณต้องพยายามหา workshop สไตล์นี้อาจจะดูจากยูทูปก็ได้ อย่างบางคลิปที่มีคีย์เวิร์ดคำว่า Clone อะไรบางอย่าง..คุณอยากทำงานตำแหน่งสร้างเว็บ ให้คุณหาคำว่า "Instagram Clone Website" คือประมาณว่าสร้างเว็บก็อปปี้หน้าตาเหมือน Instagram จุดประสงค์เพื่อฝึกการออกแบบว่า ถ้าโจทย์มาแบบนี้เราต้องใช้เทคนิคอะไรบ้าง? วิธีแบบนี้จะทำให้เราเข้าใจภาพรวมของโปรแกรมมากขึ้น เอาเป็นว่า ลองหา workshop เป็นชิ้นเป็นอันสไตล์นี้ให้เจอ ถ้าเราพอทราบคีย์เวิร์ดจะหาโจทย์มาทดลองทำได้แน่นอน
11- ทุกครั้งที่มีการเขียนโปรแกรม ให้สร้าง repository สะสมไว้ใน Github/Gitlab ของตัวเองไว้เยอะๆ สร้างแบบ public ไปเลย และเขียนอธิบายให้เข้าใจว่าโปรเจคนี้เราทำอะไร ได้ฝึกเรื่องอะไรบ้าง ประมาณว่าเราได้เรียนรู้อะไรบ้างในโปรเจคนี้ อวดให้ชาวโลกเขารู้ไปเลยว่าเราก็ทำได้ แม้ยังไม่สมบูรณ์มากก็ตาม จุดนี้แหละจะเป็นจุดที่ ผู้รับสมัครงาน อยากดูมากที่สุดว่าคุณเคยฝึก เคยทำโปรเจคอะไรมาบ้าง แม้ไม่ใช่โปรเจคจริงก็ตาม คือคนรับสมัครงานเขาแค่อยากดูความพยายามของคุณว่าคุณตั้งใจจะทำงานสายนี้มากน้อยเพียงใด ...ถ้าเขียนแค่ hello world ฝึกไปแค่นิดหน่อย ดูคลิปแค่ไม่กี่ชั่วโมง แล้วไปใส่ใน resume เท่ๆ ว่าเขียนโปรแกรม Python ได้ ...แบบนี้ไม่ทำให้คุณได้งานอย่างแน่นอน คนสัมภาษณ์งานเขาจะมีวิธีทดสอบคุณว่า "คุณของจริงไหม?" ไม่ต้องพยายามปิดบัง เขาแค่ดูผลงาน+สัมภาษณ์เขาก็รู้แล้วว่าคุณเหมาะกับตำแหน่งที่เขารับหรือไม่
12- จุดนี้เมื่อคุณเริ่มมีผลงานเยอะแล้ว เยอะของลุงคือต้องมีสัก 100 โปรเจค จะทำให้ผู้รับสมัครร้อง "ว้าว" ทันที 555 ขออย่างเดียวอย่าก็อปมาวาง เพราะยังไงคุณก็ไม่ผ่านด่านตอนทดสอบอยู่ดี มาถึงตอนนี้คุณสามารถโม้กับชาวโลกได้แล้ว วิธีคือ แอบไปส่องกลุ่มรับสมัครงานแนวโปรแกรมเมอร์ว่าใครมาโพสประกาศงานบ้าง? คือ ลุงบอกได้เลยว่าตอนนี้ "โปรแกรมเมอร์ขาดแคลน" ไปอีกหลายปี คืออาชีพทุกอาชีพจะวิ่งเข้ามาหาซอฟแวร์ไปหมด ไว้มาเล่าให้ฟังวันหลัง ...เมื่อเริ่มเห็นโพส วิธีง่ายๆ คือ เขียนแนะนำตัวเองแบบละเอียดแบบเปิดใจว่าเรามีความเป็นมาอย่างไร เรามุ่งมั่นตั้งใจอยากได้งานนี้อย่างไร เขียนออกมาจากใจแบบละเอียดสัก 2 หน้ากระดาษ A4 บอกไปเลยว่าเราอยากได้งานนี้ "พร้อมแนบลิ้งค์ผลงาน" โปรไฟล์ Github/Gitlab ของเรา ยังไงเขาต้องอ่านแน่นอนหากเราตั้งใจเขียนขนาดนั้น ...คุณเจองานไหนที่คุณสนใจคุณส่งข้อความนี้ไปก่อนเลย แต่รบกวนช่วยบันทึกไว้ด้วยว่า พี่คนนี้คือใคร จากบริษัทอะไร งานอะไร ลงใน google docs/word เพราะจะได้คุยได้ถูกคน บางคนเล่นโปรยใบสมัครแบบสาดกระสุนชนิดที่ว่า ตำแหน่งอะไร บริษัทอะไรยังไม่รู้เลย แล้วคุณจะทำงานกับเขายังไง 555 ...ถ้าในเว็บไซต์มีให้ฝากประวัติไว้ก็สมัครไว้ด้วยก็ดี กรอกข้อมูลดีๆ เบอร์โทร อีเมลตอบกลับ ควรเช็คบ่อยๆ ช่วงนี้เรายังไม่ได้งาน รับๆไปก่อน คนโทรมาทวงนี้ก็รับๆไปก่อน 555
13- บริษัทสมัยนี้เขาสนใจความสามารถและผลงาน ถ้าทักษะเราผลงานเราดี รับรองว่าเข้าตากรรมการแน่นอน รอเขาส่งข้อความตอบกลับ ถ้าได้ข้อความตอบกลับแล้ว ให้รีบติดต่อไปหาเขาทันที ถึงตอนนี้แล้ว คุณอาจจะได้นัดสัมภาษณ์งานแล้วจ้าาา เมื่อเขานัดคุยแล้ว สมัยนี้อาจจะคุย zoom/team กันก่อน สัมภาษณ์แบบออนไลน์ จุดนี้ก็ให้ประสบการณ์ของคุณได้ตอบคำถาม จุดนี้ถ้าคุณฝึกจนชำนาญ คุณไม่ต้องเป็นห่วงอะไร ทำใจสบายๆ ถ้าเขาแจ้งว่ามีทดสอบด้วย ก็ไม่ต้องเตรียมอะไรมาก แค่เตรียมใจก็พอ คือความรู้มันอยู่ที่คุณฝึกหมดแล้ว หากคุณฝึกสะสมประสบการณ์มาหลายโปรเจคคุณจะตอบเขาได้แน่นอน อาจจะมีบางข้อที่เราไม่รู้จริงๆ ก็บอกเขาไปว่าเราไม่ทราบจุดนี้ แต่เราบอกเขาไปว่าเราจะตั้งใจพัฒนาเองต่อไปหลังจากได้งานแล้ว ..ระหว่างสัมภาษณ์งาน เขาอาจจะแจ้งคุณว่าต้องฝึกความรู้ใหม่ จุดนี้คุณต้องเปิดใจฝึกตามเขาไปได้เลย เตรียมโปรเจคดีๆ มีอะไรเด็ดๆ อวดเต็มที่ว่าเราทำอะไรมาบ้าง แม้จะดูเป็นโปรเจคที่ไม่ได้มีอะไรมากในสายตาเขา แต่มันเป็นสิ่งที่แสดงถึงความตั้งใจของเรา หากเขาแจ้งว่าให้นัดไปคุยที่บริษัทหรือสัมภาษณ์ครั้งที่สอง ตอนนี้ดีใจไว้ได้เลยว่าเขาน่าจะเลือกเราแล้ว
14- ถึงตอนนี้คุณน่าจะได้งานเรียบร้อยแล้ว ที่เหลือก็ตั้งใจทำงาน พัฒนาตัวเองตลอดเวลา พยายามเรียนรู้สิ่งใหม่ๆไว้เสมอ อย่ายึดติด อย่าเชื่อมั่นตัวเองจนเกินไป ฟังเพื่อนร่วมงานทุกคน นำคำติมาคิดปรับปรุงแก้ไข แล้วเก็บประสบการณ์จากงานจริงให้ได้มากที่สุดจาก "งานโปรแกรมเมอร์" งานแรก เมื่อคุณทำงานไปสักพักจนเข้าใจงานภาพรวมที่รับผิดชอบแล้ว มีประสบการณ์มากพอแล้ว งานถัดไปของคุณจะสมัครได้ไม่ยากเลย
"ขอให้ได้งานตามฝันจ้าาาา"
เขียนโดย Uncle Engineer