เมื่อเราอยากเป็น Developer ที่มีคุณภาพ จงปรับ Mindset และ หา Passion ของตัวเองให้เจอ
ในปัจจุบันบริษัทส่วนใหญ่ไม่ได้มองหาแค่คนที่เขียนโค้ดเก่งเพียงอย่างเดียว แต่มองหาคนที่มี Mindset ที่ดีและเข้ากันได้กับบริษัทนั้นๆ ด้วย นอกจากเรื่องของ Mindset แล้ว สิ่งสำคัญอีกอย่างนึงก็คือการที่เรารู้ว่า Passion ของเราคืออะไร อะไรเป็นแรงผลักดันให้เราต้องการที่จะทำบางสิ่งบางอย่าง การที่เรารู้ตัวเร็วถือเป็นเรื่องดี แต่ถ้าเรารู้ตัวเองช้าก็ถือว่ายังไม่สายไป
ถ้าให้เปรียบเทียบ Mindset กับ Technology สำหรับ Technology จะมีการเปลี่ยนแปลงอยู่ตลอดเวลา พัฒนาให้ดีขึ้นในทุกๆวัน ทุกๆวินาที Mindset ก็เหมือนกัน เราสามารถมี Mindset ที่ดีขึ้นได้ในทุกๆวัน การที่เราเอาตัวเองไปอยู่ในสังคมการทำงานที่ดีๆ ก็จะทำให้เราก็ได้ Mindset ที่ดีๆ ไปด้วย (Mindset สามารถส่งต่อให้กันได้นะ)
บทความนี้ก็อยากจะพูดถึงเกี่ยวกับการพัฒนา Mindset ของตัวเองให้ดีขึ้นได้ยังไง แล้วเราจะรู้ได้ยังไงว่า Passion ของเราคืออะไร
Mindset = วิธีคิดและความเชื่อของคนแต่ละคน ที่ส่งผลโดยตรงต่อพฤติกรรมและการตัดสินใจ
Passion = ความชอบ, ความหลงใหล ที่เป็นแรงผลักดันให้เราทำในสิ่งนั้นๆ
“คนที่ออกไปทำงานพร้อมความรู้สึกทรมานที่ต้องไปทำสิ่งนั้น จะไม่มีทางประสบความสำเร็จมากกว่าคนที่ออกไปทำด้วย Passion เพราะความชอบและหลงใหลในสิ่งนั้น”
Why Mindset and Passion are important?
“ ถ้า Mindset เปรียบเทียบได้กับ เส้นทางในการดำเนินชีวิต , Passion ก็เป็นเหมือนพลังงานให้เราไปถึงจุดหมายนั้น ”
ทั้ง Mindset และ Passion เป็นส่วนสำคัญในการกำหนดทิศทางชีวิตของเรา ว่าอนาคตของเราจะดำเนินไปทางไหน ตัวเราจะไปอยู่จุดไหนของสังคมที่เราอยู่ เราจะเติบโตไปเป็นคนแบบไหน
การที่เรามี Mindset ว่า “คนเราสามารถพัฒนาได้ สามารถเรียนรู้จากการทำผิดพลาดได้ สามารถรับฟัง feedback ของตัวเองจากคนอื่นได้ (Growth Mindset)” ก็ถือเป็นสิ่งที่ดี และ เป็นความคิดที่จะทำให้เราประสบความสำเร็จในชีวิตได้
Passion เป็นเหมือนพลังอย่างนึงในการขับเคลื่อนให้เราสามารถทำตามเป้าหมายได้ ถ้าเราเป็น Software Developer การที่เราสามารถอยู่กับการเขียนโค้ด การพัฒนา Product ต่างๆ แล้วรู้สึกสนุกเมื่อแก้ปัญหาต่างๆ ด้วยการเขียนโค้ด รู้สึกตื่นเต้นเสมอเวลาได้ทำอะไรใหม่ๆ ก็หมายความว่าเราชอบที่จะทำมันจริงๆ
Always learn new things
“ As developers and software engineers, we are doomed to a common destiny: we are required to learn for the rest of our lifetimes. ”
จงเป็นคนที่เรียนรู้และทดลองสิ่งใหม่ๆ อยู่ตลอดเวลา การเป็น Software Developer ไม่ได้หมายความว่าเราจะต้องเขียนภาษาเดียวไปตลอดชีวิตของการเป็น Developer เช่น ในวันนี้ เราอาจจะถนัดเขียน Javascript แต่เราก็ควรจะเรียนรู้ภาษาอื่นๆเอาไว้บ้าง อย่ายึดติดกับภาษา หรือ Platform เพราะมันสามารถถูกทดแทนได้ตลอดเวลา
ในบางครั้งหลายๆคน ไม่อยากที่จะเรียนรู้สิ่งใหม่ๆ เพราะติดอยู่กับ Comfort Zone การออกจาก Comfort Zone ของตัวเองบ้างเป็นเรื่องที่ดี เพราะเราจะได้รู้จักอะไรใหม่ๆ มากขึ้น อย่ากลัวว่าเราจะทำพลาด คนเราทำพลาดได้และปรับปรุงข้อผิดพลาดได้
แหล่งเรียนรู้สิ่งต่างๆ ก็มีเยอะมาก เช่น http://medium.com, https://dev.to/, https://udemy.com
Do not ignore the fundamentals
“ การเรียนรู้สิ่งหนึ่งจาก Fundamental จะทำให้เราเห็น Pattern บางอย่าง, สามารถนำไปใช้ในการเรียนรู้อย่างอื่นได้เร็วขึ้น ”
อย่าละเลย Fundamental ของสิ่งต่างๆ ในการเรียนรู้สิ่งต่างๆ จะมีสิ่งที่เป็นพื้นฐานของมันอยู่ เช่นการเรียนรู้ภาษา Javascript สิ่งที่เป็นพื้นฐานสำคัญ ก็เช่น Code Structure, Data Type, Variable, Function ซึ่งสิ่งเหล่านี้ล้วนเป็นสิ่งสำคัญในการต่อยอดเพื่อทำอะไรที่มันซับซ้อนมากขึ้น
การที่เราเรียนรู้สิ่งต่างๆ จาก Fundamental ของภาษาหนึ่ง มันอาจจะไปคล้ายกับ Fundamental ของอีกภาษาหนึ่ง ซึ่งมันจะช่วยให้เราเรียนรู้ภาษาใหม่ๆ ได้เร็วมากขึ้น
การอ่าน Docs ก็เป็นสิ่งที่ดีอย่างหนึ่ง เราอาจจะใช้เวลากับมันค่อนข้างเยอะ แต่เมื่อเราต้องการที่จะใช้งาน เราจะเห็นภาพรวมของมันทั้งหมด ทำให้วิเคราะห์ได้ว่า สถานการณ์ไหน เราควรจะเขียนโค้ดแบบไหน ใช้ฟังก์ชันอะไร
You are what you share on Social Media
“ สิ่งที่คุณแชร์บน Social Media บ่งบอกความเป็นตัวคุณได้ในระดับนึง ”
การแชร์สิ่งต่างๆบน Social Media สะท้อน Mindset ของเราได้ในระดับนึง เช่น คุณเป็นคนชอบแชร์บทความเกี่ยวกับการพัฒนาเว็บไซต์ สังคมหรือเพื่อนที่เราจะได้จาก Social Media ก็คือคนที่สนใจในการพัฒนาเว็บไซต์ จะทำยังไงให้เว็บไซต์ออกมาสวย ออกมาดี ออกมาเร็ว สังคมรอบตัวเราก็จะช่วยให้เราพัฒนาตัวเองให้เก่งได้เร็วมากขึ้น
แต่ในทางกลับกัน ถ้าเราเป็นคนชอบแชร์เรื่องดราม่า สังคมรอบตัวเราก็จะมีแต่คนที่เสพย์แต่ดรามา ชวนคุยแต่เรื่องดราม่า (ส่วนตัวมองว่าค่อนข้างเสียเวลาชีวิต)
Math and English
“ สองอย่างที่เราไม่สามารถหลีกเลี่ยงได้ในการเป็น developer ก็คือคณิตศาสตร์ และ ภาษาอังกฤษ ”
คณิตศาสตร์ และ ภาษาอังกฤษ สองอย่างนี้เป็นสิ่งสำคัญในการคำนวณ การเข้าใจ logic การสื่อสาร และ การเรียนรู้สิ่งต่างๆ ของ developer (สมัยเรียนอาจารย์เน้นย้ำเสมอว่า จะหนีจากอะไรก็หนีได้ ยกเว้นสองอย่างนี้ ซึ่งปัจจุบันก็คิดว่าเป็นแบบนั้นจริงๆ)
การคำนวณเป็นสิ่งที่ทุกคนบนโลกแทบจะใช้มัน ไม่ว่าจะ developer หรือไม่ก็ตาม บวก ลบ คูณ หาร ง่ายๆ ก็เป็นการคำนวณอย่างหนึ่งแล้ว
docs ของภาษา หรือ framework ใหม่ ล้วนแต่เป็นภาษาอังกฤษซะส่วนใหญ่ ดังนั้นถ้าเราต้องการที่จะอ่านและเข้าใจมัน เราก็จำเป็นต้องรู้ภาษาอังกฤษก่อน
Prepare yourself
“ I will study and get ready and someday my chance will come. ” — Abraham Lincoln
ทำให้ตัวเองพร้อมอยู่เสมอ เมื่อมีโอกาสเข้ามาเราจะได้คว้ามันเอาไว้ด้วยความมั่นใจ ยกตัวอย่างเช่น เราอยากจะฝึกงานในตำแหน่ง iOS Developer ก่อนจะไปสัมภาษณ์ เราก็ควรเตรียมตัวมาในระดับนึง เราควรรู้ว่าจะเขียน iOS App จะต้องใช้ภาษาอะไร, ลองทำ hello world ง่ายๆ เพื่อลองเล่น Xcode ดูว่าเครื่องมือไหนใช้ทำอะไร, Project Structure ประกอบด้วยอะไรบ้าง, iOS App lifecycle มีอะไรบ้าง แต่ละอันใช้ในกรณีไหน, View มีกี่แบบ จะใช้ View แบบไหนในสถานการณ์ไหน ซึ่งจริงๆ การที่เรารู้เรื่องพวกนี้ ก็สะท้อนให้เห็นถึงการเตรียมตัว และความสนใจที่จะทำมันจริงๆ ได้ในระดับนึงเลยนะ
การเตรียมตัวเองให้พร้อมไม่ได้หมายความว่า เราจะต้องเรียนรู้ภาษา ทุก platform บนโลกใบนี้ ให้เรียนรู้ในสิ่งที่เราสนใจ ให้เตรียมพร้อมกับสิ่งที่เราตั้งเป้าหมายไว้ว่าอยากจะทำ
Working as a team
“ iPhone ไม่สามารถูกสร้างด้วย Steve Jobs เพียงคนเดียว จะต้องมีทั้ง Engineer, Designer และอีกหลายๆ ตำแหน่ง ช่วยกันสร้างสรรค์มันออกมา ”
การทำงานเป็นทีม สามารถทำให้เราสร้างสรรค์ผลงานที่ยิ่งใหญ่ออกมาได้ ทำให้เราที่สิ่งที่ใหญ่เกินตัวเราที่จะทำคนเดียวได้ และก็เป็นส่วนหนึ่งให้เราพัฒนาตัวเองได้อย่างรวดเร็ว
Code Review ก็เป็นตัวอย่างหนึ่งของการทำงานเป็นทีม การที่เราเขียนโค้ดคนเดียว เราก็จะไม่รู้ว่าเรา มีข้อดี ข้อเสีย ตรงไหน ซึ่งคนภายในทีมก็จะสามารถให้ feedback กับเราได้ และนำไปปรับปรุงให้ดียิ่งขึ้น
Time Management
“ Until we can mange time, we can manage nothing else. ”
คนที่บริหารจัดการเวลาให้กับตัวเองได้ดี เป็นคนที่มีเป้าหมายชัดเจน ดังนั้น เราควรจะมีเป้าหมายในระยะสั้น ระยะยาว เช่น ใน 5 ปีข้างหน้าเราอยากจะไปอยู่จุดไหน, ภายในปีนี้เราอยากทำอะไรให้สำเร็จ, ภายใน 1 เดือนนี้เราอยากเรียนรู้อะไร, ภายใน 1 วันนี้เรามี list ที่จะทำอะไรบ้าง เป็นต้น
การที่เรามีการบริหารจัดการเวลาที่ดี ทำให้ การทำงาน กับ การใช้ชีวิตไปด้วยกันได้ (รวมถึงการเล่นเกม การออกกำลังกาย การไปเที่ยว การทำอะไรต่างๆ ในสิ่งที่เราอยากทำ) อีกอย่างที่สำคัญก็คือ อย่าลืม review สิ่งที่เราทำในแต่ละวัน อาจจะจดไว้เป็น to do list เพื่อนำมาปรับปรุงแก้ไขให้การจัดการเวลาของเราดีมากยิ่งขึ้น
การใช้ POMODORO technique ก็เป็นแนวทางที่ดีในการบริหารจัดการเวลา
How to Find Your Passion
“ You don’t choose your passions, your passions choose you ” by Jeff Bezos (Amazon)
เราไม่รู้ว่าเราชอบทำอะไร หรือจริงๆแล้วเรายังไม่เคยลองทำอะไรกันแน่
ก็อยากจะแนะนำให้เราลองทำอะไรหลายๆ อย่างที่เรายังไม่เคยทำ อะไรที่ทำแล้วรู้สึกว่ามันไม่ใช่ อย่างน้อยเราก็รู้ว่าอะไรที่เราไม่ชอบ จะได้ตัดสิ่งนั้นออกไป
แต่ก็ควรจำไว้เสมอว่า อะไรที่เราว่ามันไม่ใช่หรือไม่ชอบ มันต้องมาจากการไม่ชอบของเราจริงๆ ไม่ใช่เพราะว่า เราเห็นว่ามันยากไป คิดไปเองว่ามันเกินความสามารถเรา เราก็ตีความไปว่าเราไม่ชอบมันแล้ว ถ้าเป็นแบบนั้น เราก็จะไม่มีวันหา Passion ของเราเจอเลย
Life is not binary — ชีวิตคนเราไม่ใช่ Binary ที่มีแค่ 0 กับ 1 จงหา Balance ของตัวเองให้เจอแล้วเราจะใช้ชีวิตอย่างมีความสุข
อีก Mindset นึงที่น่าสนใจก็คือ การถามอย่างไรให้ได้คำตอบ (ซึ่งมี Blog ที่เขียนไว้ได้ดีมากอยู่แล้ว)
แต่ถ้าใครรู้สึกว่าไฟในการทำงานมันหมดไป ก็สามารถไปอ่านบทความของพี่เอก ได้นะ