สร้างโอกาสให้ตัวเองด้วยการเพิ่ม Surface Area of Success
ถ้าคุณอยากประสบความสำเร็จในฐานะโปรแกรมเมอร์ อย่ารอให้โอกาสเดินมาหาคุณเอง แต่จงสร้าง Surface Area of Success (พื้นที่แห่งโอกาส) ให้ใหญ่ขึ้นเหมือนการวางกับดักความโชคดีไว้รอบตัว ยิ่งคุณทำกิจกรรมที่หลากหลาย โอกาสที่คนอื่นจะมองเห็นคุณก็ยิ่งมากขึ้นตามไปด้วย
ลองนึกภาพโปรแกรมเมอร์สองคน คนแรกนั่งเรียนคอร์สออนไลน์และสะสมใบประกาศนียบัตรไปวันๆ ส่วนคนที่สองเรียนรู้ควบคู่ไปกับการทำโปรเจกต์จริง ลงแข่งแฮกกาธอน (งานแข่งขันเขียนโปรแกรมในเวลาจำกัด) และแชร์สิ่งที่ตัวเองทำลงบนโลกออนไลน์
คนแรกอาจจะมีพื้นฐานที่ดี แต่คนที่สองกำลังสร้าง แรงดึงดูด ให้กับโอกาสใหม่ๆ อยู่ตลอดเวลา คุณไม่สามารถกำหนดได้ว่างานชิ้นแรกหรือโอกาสดีๆ จะมาจากไหน แต่คุณสามารถเพิ่มจำนวนช่องทางที่มันจะวิ่งเข้ามาหาคุณได้ด้วยวิธีคิดแบบนี้
เรียนรู้เพื่อลงมือทำ ไม่ใช่เรียนเพื่อเก็บสะสม
การเรียนเป็นรากฐานที่สำคัญที่สุด แต่หลายคนหลงทางอยู่กับการเรียนจนลืมลงมือสร้างจริง การดูวิดีโอสอนหรือบันทึกบทเรียนไว้เยอะๆ โดยไม่เคยเขียนโค้ดเอง อาจเป็นแค่การ ผลัดวันประกันพรุ่ง ที่ดูเหมือนว่าคุณกำลังทำงานหนักอยู่
ลองใช้การเรียนรู้เป็นเชื้อเพลิงในการลงมือทำแทน เมื่อเรียนรู้หัวข้อใหม่ ให้รีบทำโปรเจกต์เล็กๆ ทันที ถ้าติดปัญหาตรงไหน นั่นแหละคือเวลาที่คุณจะได้เรียนรู้จริงๆ เพราะการแก้ปัญหาที่เกิดขึ้นหน้างานจะทำให้ความรู้กลายเป็นทักษะที่ติดตัวคุณไปตลอด
วงจรการเรียนรู้ที่ดีควรเป็นแบบนี้: เรียนรู้ -> สร้าง -> ติดปัญหา -> เรียนเพิ่ม -> แก้ไข -> ทำซ้ำ หากคุณมัวแต่รอจนกว่าจะรู้สึกว่า "เก่งพอ" หรือ "พร้อมแล้ว" คุณจะไม่มีวันได้เริ่มต้นเสียที เพราะในโลกการทำงานจริง ไม่มีใครรู้สึกพร้อมร้อยเปอร์เซ็นต์ก่อนเริ่มโปรเจกต์หรอก
// สมมติว่ากำลังเรียนเรื่องการดึงข้อมูลจาก API (ช่องทางเชื่อมต่อข้อมูล)
// แทนที่จะดูวิดีโออย่างเดียว ให้ลองเขียนโค้ดดึงข้อมูลมาแสดง
fetch('https://api.example.com/data') // ฟังก์ชันดึงข้อมูลจากที่อยู่เว็บที่กำหนด
.then(response => response.json()) // แปลงข้อมูลที่ได้ให้เป็น JSON (รูปแบบข้อมูลที่โปรแกรมอ่านง่าย)
.then(data => console.log(data)) // แสดงผลลัพธ์ที่ได้ออกมาทางหน้าจอ
.catch(error => console.error('เกิดข้อผิดพลาด:', error)); // จัดการกรณีที่ดึงข้อมูลไม่ได้
บรรทัดแรกใช้คำสั่ง fetch เพื่อขอข้อมูลจากเซิร์ฟเวอร์ บรรทัดที่สองแปลงข้อมูลเป็นรูปแบบที่โปรแกรมจัดการต่อได้ง่าย ส่วนบรรทัดที่สามแสดงข้อมูลออกมาดู และบรรทัดสุดท้ายคือการดักจับข้อผิดพลาดหากอินเทอร์เน็ตมีปัญหา
ผลลัพธ์ที่ได้คือข้อมูลชุดหนึ่ง (เช่น รายชื่อผู้ใช้หรือข้อมูลสินค้า) แสดงขึ้นมาบนหน้าจอคอนโซลของเบราว์เซอร์ ซึ่งนี่คือจุดเริ่มต้นของการสร้างแอปพลิเคชันจริง
แฮกกาธอนคือสนามซ้อมรบชั้นดี
งานแฮกกาธอนหรือการแข่งขันเขียนโปรแกรมเป็นวิธีที่เร็วที่สุดในการเปลี่ยนความรู้ให้เป็นผลงาน เพราะคุณมีเวลาจำกัด มีโจทย์ที่ท้าทาย และมีเพื่อนร่วมทีมที่ต้องประสานงานด้วย คุณจะไม่มีเวลามานั่งเลือกเทคโนโลยีที่ "ดีที่สุด" แต่คุณต้องตัดสินใจและ Deploy (เอาโค้ดขึ้นระบบจริงให้คนอื่นใช้งาน) ให้ทันเวลา
สิ่งที่แฮกกาธอนสอนคุณได้ดีกว่าตำราคือการแก้ปัญหาเฉพาะหน้า การทำงานเป็นทีม และการสื่อสารในภาวะกดดัน คุณจะได้เรียนรู้วิธีการทำ Rapid Prototyping (การสร้างต้นแบบอย่างรวดเร็ว) เพื่อให้เห็นภาพสินค้าก่อนที่จะลงรายละเอียดลึกเกินไป
ที่สำคัญที่สุดคือการได้พบผู้คน ทั้งเพื่อนร่วมทีม เมนเทอร์ (พี่เลี้ยง) หรือแม้แต่บริษัทที่มาหาคนเข้าทำงาน แม้คุณจะไม่ได้รางวัลชนะเลิศ แต่การได้รู้จักคนที่มีไฟเหมือนกันอาจเป็นจุดเปลี่ยนสำคัญในอาชีพของคุณได้เลย ซึ่งนี่คือการขยายพื้นที่โอกาสที่คุณหาไม่ได้จากการนั่งเรียนคนเดียว
เปิดเผยผลงานสู่สาธารณะด้วย Open Source
การสร้างโปรเจกต์เก็บไว้ในเครื่องตัวเองเป็นเรื่องดี แต่การทำ Open Source (การเปิดเผยโค้ดให้คนทั่วไปนำไปใช้หรือพัฒนาต่อได้) จะทำให้งานของคุณกลายเป็นหลักฐานความสามารถที่ชัดเจนที่สุด แทนที่จะบอกว่า "ผมเขียน Python เป็น" คุณสามารถส่งลิงก์ GitHub (เว็บไซต์เก็บโค้ด) ให้เขาดูโปรเจกต์ที่คุณทำจริงได้เลย
ไม่ต้องกลัวว่าจะต้องไปแก้ไขโปรเจกต์ระดับโลกที่ซับซ้อน เริ่มต้นง่ายๆ ด้วยการช่วยแก้ไขเอกสารประกอบการใช้งาน (Documentation) การเขียนโปรแกรมทดสอบ (Test) หรือการแจ้งบั๊ก (Bug - ข้อผิดพลาดในโปรแกรม) ที่คุณเจอในโปรเจกต์เล็กๆ ก่อนก็ได้
เป้าหมายไม่ใช่การสะสมรูปสี่เหลี่ยมสีเขียวใน GitHub แต่คือการทำให้ตัวเองเป็นประโยชน์ต่อชุมชนนักพัฒนา เมื่อคุณมีส่วนร่วมในการแก้ไขโค้ดของคนอื่น คุณจะได้เรียนรู้วิธีการเขียนโค้ดในระดับมืออาชีพที่ผ่านการตรวจสอบจากคนเก่งๆ มาแล้วหลายคน
เรียนรู้วิธีคิดจากนักสร้างมืออาชีพ
วิธีพัฒนาตัวเองที่หลายคนมองข้ามคือการแกะรอยวิธีคิดของคนที่เก่งกว่า อย่าดูแค่ว่าเขาเขียนโค้ดอะไร แต่ให้ดูว่าเขา ตัดสินใจ อย่างไร ลองเลือกโปรเจกต์ที่น่าสนใจใน GitHub แล้วลองตั้งคำถามว่า "ทำไมเขาถึงเลือกใช้โครงสร้างแบบนี้" หรือ "เขากำลังแก้ปัญหาอะไรกันแน่"
ลองพยายามแก้โจทย์เดียวกันด้วยตัวเองก่อน แล้วค่อยกลับไปดูวิธีที่เขาทำ คุณจะเห็นความแตกต่างว่าเขามองเห็นจุดไหนที่คุณมองข้ามไป หรือเขามีวิธีจัดการกับปัญหาที่ซับซ้อนให้กลายเป็นเรื่องง่ายได้อย่างไร การฝึกแบบนี้จะช่วยสร้าง Engineering Judgment (วิจารณญาณในการออกแบบซอฟต์แวร์) ให้กับตัวคุณเอง
จำไว้ว่าคอร์สเรียนอาจสอนวิธีใช้เครื่องมือ แต่การศึกษาจากคนเก่งจะสอนวิธีเลือกใช้เครื่องมือให้เหมาะกับงาน ซึ่งทักษะการตัดสินใจแบบนี้แหละที่จะทำให้คุณก้าวจากมือใหม่กลายเป็นโปรแกรมเมอร์ระดับซีเนียร์ (ผู้เชี่ยวชาญ) ได้ในอนาคต
เปลี่ยนทุกกิจกรรมให้เป็นสินทรัพย์
ข้อผิดพลาดที่พบบ่อยคือการทำกิจกรรมแยกกันเป็นส่วนๆ เช่น ทำแฮกกาธอนเสร็จแล้วก็จบไป แต่จริงๆ แล้วคุณสามารถเปลี่ยนหนึ่งโปรเจกต์ให้กลายเป็นหลายโอกาสได้ หากคุณทำโปรเจกต์จากแฮกกาธอนเสร็จ ให้ลองทำตามนี้
- เก็บโค้ดลง GitHub เพื่อเป็นหลักฐานการทำงาน
- เขียนบทความอธิบายว่าโปรเจกต์นี้แก้ปัญหาอะไรและใช้อะไรทำ
- อัดวิดีโอสั้นๆ สาธิตการใช้งาน (Demo) เพื่อใส่ในพอร์ตโฟลิโอ
- นำเสนอผลงานในกลุ่มนักพัฒนาเพื่อแลกเปลี่ยนความคิดเห็น
วิธีนี้คือการใช้กฎของ Leverage (การทวีคูณผลลัพธ์) แทนที่จะทำทุกอย่างใหม่หมด คุณแค่เอาสิ่งที่มีอยู่มาต่อยอดให้เกิดประโยชน์สูงสุด คุณไม่ได้แค่ได้งานชิ้นหนึ่ง แต่คุณได้คอนเทนต์ ได้เครือข่าย และได้ชื่อเสียงในสายงานนั้นด้วย
สรุป: เริ่มต้นสร้างโอกาสด้วยการลงมือทำ
ความสำเร็จไม่ใช่เรื่องบังเอิญ แต่เป็นผลลัพธ์จากการที่คุณวางตัวเองไว้ในจุดที่มีโอกาสผ่านเข้ามาได้บ่อยที่สุด เริ่มต้นวันนี้ด้วยการแบ่งเวลา 70% ไปกับการสร้างโปรเจกต์จริง และอีก 30% ไปกับการแบ่งปันหรือเรียนรู้จากคนอื่น ถ้าคุณไม่เริ่มลงมือทำ วันนี้คุณก็ยังอยู่ที่เดิม
สมมติว่าคุณกำลังฝึกเขียนเว็บแอปพลิเคชัน อย่าเพิ่งทำเว็บที่ซับซ้อนเกินไป ให้ลองสร้างโปรเจกต์เล็กๆ เช่น "แอปจดรายการสิ่งที่ต้องทำ" (To-Do List) แล้วเอาขึ้น GitHub เขียนอธิบายสั้นๆ ว่ามันทำอะไรได้บ้าง และแชร์ลงโซเชียลมีเดียของกลุ่มโปรแกรมเมอร์
เมื่อมีคนเข้ามาคอมเมนต์หรือแนะนำวิธีแก้ไข นั่นคือจุดเริ่มต้นของการสร้างเครือข่ายและการขยายพื้นที่โอกาสของคุณ การทำแบบนี้ซ้ำๆ จะทำให้คุณเก่งขึ้นอย่างรวดเร็ว และที่สำคัญคือจะมีโอกาสใหม่ๆ วิ่งเข้ามาหาคุณโดยที่คุณไม่ต้องวิ่งไล่ตามมันเลย
ที่มา: Increase Your Surface Area of Success: Learn, Build, Contribute, and Learn From Builders — DEV Community