Topic 6 คลังความรู้ของคุณ

การลงทุนในความรู้ให้ผลตอบแทนที่ดีที่สุดเสมอ

Benjamin Franklin

อา เบน แฟรงคลินคนเก่งของเรา—ไม่เคยหมดมุกคำคมกินใจเลยจริงๆ อ้อ ถ้าแค่เข้านอนเร็วตื่นเช้า เราก็คงเป็นโปรแกรมเมอร์เก่งกันหมดแล้วสิ ใช่ไหมครับ? นกที่ตื่นเช้าอาจจะได้กินหนอนก่อนใคร แต่แล้วหนอนตัวที่ตื่นเช้านั้นล่ะ จะเป็นยังไง?

แต่ในกรณีนี้ เบนพูดถูกเผงเลยครับ ความรู้และประสบการณ์ของคุณคือสินทรัพย์ทางวิชาชีพที่สำคัญที่สุดในการทำงานแต่ละวัน

แต่โชคร้ายที่มันคือ สินทรัพย์ที่มีวันหมดอายุ . [9] ความรู้ของคุณจะล้าสมัยไปเรื่อยๆ เมื่อมีเทคนิค ภาษา และสภาพแวดล้อมใหม่ๆ ถูกพัฒนาขึ้นมา แรงขับเคลื่อนของตลาดที่เปลี่ยนแปลงไปอาจทำให้ประสบการณ์ของคุณล้าสมัยหรือไม่เกี่ยวข้องอีกต่อไป และด้วยอัตราการเปลี่ยนแปลงที่เร็วขึ้นเรื่อยๆ ในสังคมเทคโนโลยีของเรา เรื่องนี้อาจเกิดขึ้นได้อย่างรวดเร็วมากครับ

เมื่อมูลค่าความรู้ของคุณลดลง มูลค่าของคุณต่อบริษัทหรือลูกค้าก็ลดลงตามไปด้วย เราอยากป้องกันไม่ให้เรื่องแบบนี้เกิดขึ้นเลยครับ

ความสามารถในการเรียนรู้สิ่งใหม่ๆ คือสินทรัพย์เชิงกลยุทธ์ที่สำคัญที่สุดของคุณ แต่คุณจะเรียนรู้ วิธี เรียนรู้ได้ยังไง แล้วคุณจะรู้ได้ยังไงว่าควรเรียน อะไร ?

Your Knowledge Portfolio (คลังความรู้ของคุณ)

เราชอบมองว่าทุกสิ่งที่โปรแกรมเมอร์รู้เกี่ยวกับการเขียนโปรแกรม โดเมนแอปพลิเคชันที่พวกเขาทำงานอยู่ รวมถึงประสบการณ์ทั้งหมดของพวกเขา คือ knowledge portfolio ของตัวเอง การจัดการ knowledge portfolio ก็คล้ายกับการจัดการพอร์ตการลงทุนทางการเงินมากครับ:

  1. นักลงทุนตัวจริงลงทุนอย่างสม่ำเสมอ—จนเป็นนิสัย
  2. การกระจายความเสี่ยงคือกุญแจสู่ความสำเร็จในระยะยาว
  3. นักลงทุนที่ฉลาดจะรักษาสมดุลของพอร์ตระหว่างการลงทุนแบบระมัดระวังกับการลงทุนที่มีความเสี่ยงสูงแต่ผลตอบแทนสูง
  4. นักลงทุนพยายามซื้อตอนราคาต่ำและขายตอนราคาสูงเพื่อผลตอบแทนสูงสุด
  5. พอร์ตควรถูกทบทวนและปรับสมดุลอยู่เป็นระยะๆ

หากอยากประสบความสำเร็จในสายอาชีพ คุณต้องลงทุนใน knowledge portfolio ของคุณโดยใช้แนวทางเดียวกันนี้ครับ

ข่าวดีคือการจัดการการลงทุนแบบนี้ก็เป็นทักษะเหมือนทักษะอื่นๆ—เรียนรู้กันได้ครับ เคล็ดลับคือบังคับตัวเองให้ทำมันตั้งแต่แรกจนกลายเป็นนิสัย สร้างกิจวัตรขึ้นมาแล้วทำตามจนสมองซึมซับมันเข้าไป เมื่อถึงจุดนั้น คุณจะพบว่าตัวเองดูดซับความรู้ใหม่ๆ ได้โดยอัตโนมัติเลยครับ

Building Your Portfolio (การสร้างคลังความรู้ของคุณ)

ลงทุนอย่างสม่ำเสมอ

เหมือนกับการลงทุนทางการเงิน คุณต้องลงทุนใน knowledge portfolio ของคุณ อย่างสม่ำเสมอ แม้จะเป็นจำนวนน้อยก็ตาม นิสัยการทำสำคัญพอๆ กับจำนวนที่ลงทุน ดังนั้นวางแผนใช้เวลาและสถานที่ที่แน่นอน ห่างจากสิ่งรบกวน ตัวอย่างเป้าหมายบางส่วนมีอยู่ในหัวข้อถัดไปครับ

กระจายความเสี่ยง

ยิ่งคุณรู้เรื่อง ต่างๆ กัน มากเท่าไหร่ คุณก็ยิ่งมีคุณค่ามากขึ้นเท่านั้น ขั้นพื้นฐานคือคุณต้องรู้ลึกรู้จริงเกี่ยวกับเทคโนโลยีที่คุณกำลังใช้อยู่ตอนนี้ แต่อย่าหยุดแค่นั้น วงการคอมพิวเตอร์เปลี่ยนแปลงเร็วมาก—เทคโนโลยีที่ฮอตวันนี้อาจแทบไม่มีประโยชน์ (หรืออย่างน้อยก็ไม่เป็นที่ต้องการ) ในวันพรุ่งนี้ ยิ่งคุณคุ้นเคยกับเทคโนโลยีหลายอย่างมากเท่าไหร่ คุณก็จะยิ่งปรับตัวกับความเปลี่ยนแปลงได้ดีขึ้นเท่านั้น และอย่าลืมทักษะ อื่นๆ ที่คุณต้องมี รวมถึงทักษะในด้านที่ไม่ใช่เทคนิคด้วยครับ

จัดการความเสี่ยง

เทคโนโลยีมีตั้งแต่แบบเสี่ยงสูงที่อาจให้ผลตอบแทนสูง ไปจนถึงมาตรฐานความเสี่ยงต่ำผลตอบแทนต่ำ การเอาเงินทั้งหมดไปลงทุนในหุ้นความเสี่ยงสูงที่อาจล้มลงอย่างกะทันหันไม่ใช่ความคิดที่ดี และการลงทุนแบบระมัดระวังทั้งหมดจนพลาดโอกาสดีๆ ก็ไม่ใช่เช่นกัน อย่าใส่ไข่ทางเทคนิคทั้งหมดไว้ในตะกร้าใบเดียวครับ

ซื้อตอนราคาต่ำ ขายตอนราคาสูง

การเรียนรู้เทคโนโลยีใหม่ก่อนที่มันจะได้รับความนิยมนั้นยากพอๆ กับการหาหุ้นที่ราคาต่ำกว่ามูลค่าจริง แต่ผลตอบแทนก็คุ้มค่าไม่แพ้กัน การเรียนรู้ Java ตั้งแต่ตอนที่เพิ่งเปิดตัวและยังไม่มีใครรู้จัก อาจดูเสี่ยงในตอนนั้น แต่ก็ให้ผลตอบแทนงดงามแก่ผู้ที่เรียนรู้ก่อนใคร เมื่อมันกลายเป็นเทคโนโลยีหลักของวงการในเวลาต่อมา

ทบทวนและปรับสมดุล

นี่คืออุตสาหกรรมที่เปลี่ยนแปลงตลอดเวลา เทคโนโลยีฮอตที่คุณเริ่มศึกษาเมื่อเดือนที่แล้ว อาจเย็นชืดไปแล้วตอนนี้ก็ได้ บางทีคุณอาจต้องกลับไปทบทวนเทคโนโลยีฐานข้อมูลที่ไม่ได้ใช้มานาน หรือบางทีคุณอาจมีโอกาสได้งานใหม่ที่ดีกว่า ถ้าลองเรียนรู้ภาษาอื่นดูบ้าง….

ในบรรดาแนวทางทั้งหมดนี้ ข้อที่สำคัญที่สุดกลับเป็นข้อที่ทำง่ายที่สุดครับ:

Tip 9 ลงทุนใน Knowledge Portfolio ของคุณอย่างสม่ำเสมอ

Goals (เป้าหมาย)

ตอนนี้คุณมีแนวทางแล้วว่าควรเพิ่มอะไรและเมื่อไหร่ให้กับ knowledge portfolio ของคุณ แล้ววิธีที่ดีที่สุดในการหาทุนทางปัญญามาเติม portfolio ของคุณคืออะไร? นี่คือข้อเสนอแนะบางส่วนครับ:

เรียนภาษาใหม่อย่างน้อยปีละหนึ่งภาษา

ภาษาที่ต่างกันแก้ปัญหาเดียวกันด้วยวิธีที่ต่างกัน การเรียนรู้แนวทางที่หลากหลายจะช่วยเปิดมุมมองความคิดของคุณและหลีกเลี่ยงการติดอยู่ในกรอบเดิมๆ นอกจากนี้ การเรียนรู้หลายภาษาก็ทำได้ง่ายขึ้น เพราะมีซอฟต์แวร์ฟรีให้ใช้งานมากมาย

อ่านหนังสือเทคนิคเดือนละเล่ม

แม้บนเว็บจะเต็มไปด้วยบทความสั้นๆ และคำตอบที่บางครั้งก็เชื่อถือได้ แต่ถ้าอยากเข้าใจอย่างลึกซึ้ง คุณต้องอ่านหนังสือแบบยาวๆ ครับ ลองเดินดูร้านหนังสือหาหนังสือเทคนิคในหัวข้อที่น่าสนใจและเกี่ยวข้องกับโปรเจกต์ปัจจุบันของคุณ [10] เมื่อคุณสร้างนิสัยได้แล้ว ให้อ่านเดือนละเล่ม หลังจากที่คุณเชี่ยวชาญเทคโนโลยีที่ใช้อยู่ในปัจจุบันแล้ว ก็ขยับไปศึกษาเรื่องที่ ไม่ เกี่ยวข้องกับโปรเจกต์ของคุณบ้าง

อ่านหนังสือที่ไม่ใช่เทคนิคด้วย

สิ่งสำคัญที่ต้องจำไว้คือคอมพิวเตอร์ถูกใช้งานโดย คน —คนที่คุณพยายามตอบสนองความต้องการของเขา คุณทำงานร่วมกับคน ถูกจ้างโดยคน และถูกแฮ็กโดยคนเช่นกัน อย่าลืมมิติของมนุษย์ในสมการนี้ เพราะมันต้องใช้ชุดทักษะที่ต่างออกไปโดยสิ้นเชิง (เราเรียกมันอย่างประชดประชันว่า soft skills แต่จริงๆ แล้วมันยากมากที่จะเชี่ยวชาญ)

เข้าคลาสเรียน

มองหาคอร์สที่น่าสนใจจากวิทยาลัยหรือมหาวิทยาลัยในพื้นที่หรือออนไลน์ หรือบางทีอาจเป็นงาน trade show หรือ conference ที่จะจัดขึ้นใกล้ๆ

เข้าร่วม user group และ meetup ในพื้นที่

การแยกตัวโดดเดี่ยวอาจเป็นอันตรายถึงชีวิตต่อสายอาชีพของคุณ ลองหาดูว่าคนอื่นๆ นอกบริษัทของคุณกำลังทำอะไรกันอยู่ อย่าแค่ไปนั่งฟังเฉยๆ แต่ให้เข้าร่วมอย่างกระตือรือร้น

ทดลองใช้สภาพแวดล้อมที่แตกต่างกัน

ถ้าคุณเคยทำงานแค่บน Windows ลองใช้เวลากับ Linux ดูบ้าง ถ้าคุณใช้แค่ makefile กับ editor ลองใช้ IDE ที่ซับซ้อนและมีฟีเจอร์ล้ำสมัยดูบ้าง หรือกลับกันก็ได้

ติดตามความเคลื่อนไหว

อ่านข่าวและโพสต์ออนไลน์เกี่ยวกับเทคโนโลยีที่ต่างจากที่ใช้ในโปรเจกต์ปัจจุบันของคุณ นี่เป็นวิธีที่ดีในการรู้ว่าคนอื่นมีประสบการณ์กับมันยังไง ใช้ศัพท์เฉพาะแบบไหน และอื่นๆ

สิ่งสำคัญคือต้องลงทุนต่อไปเรื่อยๆ ครับ เมื่อคุณรู้สึกคล่องกับภาษาใหม่หรือเทคโนโลยีใหม่แล้ว ก็ไปต่อ เรียนอีกอันหนึ่ง

ไม่สำคัญเลยว่าคุณจะได้ใช้เทคโนโลยีเหล่านี้ในโปรเจกต์จริงหรือไม่ หรือแม้แต่จะใส่มันลงในเรซูเม่หรือเปล่า กระบวนการเรียนรู้จะขยายความคิดของคุณ เปิดโอกาสให้คุณเห็นความเป็นไปได้ใหม่ๆ และวิธีทำงานแบบใหม่ๆ การผสมผสานไอเดียข้ามสายนั้นสำคัญมาก ลองนำบทเรียนที่คุณเรียนรู้มาปรับใช้กับโปรเจกต์ปัจจุบันของคุณดู แม้ว่าโปรเจกต์ของคุณจะไม่ได้ใช้เทคโนโลยีนั้นก็ตาม คุณก็อาจยืมไอเดียบางอย่างมาใช้ได้ ยกตัวอย่างเช่น ลองทำความคุ้นเคยกับ object orientation แล้วคุณจะเขียนโปรแกรมแบบ procedural ต่างออกไป หรือเข้าใจ functional programming paradigm แล้วคุณจะเขียนโค้ดแบบ object-oriented ต่างออกไปเช่นกัน และอื่นๆ ครับ

Opportunities for Learning (โอกาสในการเรียนรู้)

สมมติว่าคุณอ่านหนังสือแบบตะกละตะกลาม ตามทันความเคลื่อนไหวล่าสุดในสายงานของคุณตลอดเวลา (ซึ่งไม่ใช่เรื่องง่ายเลย) แล้วมีคนมาถามคำถามคุณสักข้อ คุณไม่มีไอเดียเลยว่าคำตอบคืออะไร และก็ยอมรับตรงๆ แบบนั้นเลย

อย่าปล่อยให้มันจบแค่นั้น ให้ถือว่ามันเป็นความท้าทายส่วนตัวที่จะหาคำตอบให้ได้ ถามคนรอบตัว ค้นหาบนเว็บ—รวมถึงแหล่งข้อมูลเชิงวิชาการด้วย ไม่ใช่แค่ส่วนที่เป็นเนื้อหาทั่วไปสำหรับผู้บริโภค

ถ้าคุณหาคำตอบเองไม่ได้ ให้หาว่าใคร หาได้ อย่าปล่อยให้มันผ่านไปเฉยๆ การพูดคุยกับคนอื่นจะช่วยสร้างเครือข่ายส่วนตัวของคุณ และคุณอาจแปลกใจที่พบทางแก้ปัญหาอื่นๆ ที่ไม่เกี่ยวข้องกันไปด้วยระหว่างทาง แล้ว portfolio เก่าของคุณก็จะใหญ่ขึ้นเรื่อยๆ….

การอ่านและค้นคว้าทั้งหมดนี้ใช้เวลา และเวลานั้นก็มีน้อยอยู่แล้ว ดังนั้นคุณต้องวางแผนล่วงหน้า มีอะไรสักอย่างไว้อ่านเสมอในช่วงเวลาว่างที่ไม่มีอะไรทำ เวลาที่รอหมอหรือหมอฟันอาจเป็นโอกาสดีในการตามอ่านให้ทัน—แต่อย่าลืมพก e-reader ของตัวเองไปด้วย ไม่งั้นคุณอาจต้องพลิกอ่านนิตยสารเก่าเมื่อปี 1973 เกี่ยวกับปาปัวนิวกินีที่ขอบมุมยับๆ แทน

Critical Thinking (การคิดเชิงวิพากษ์)

ประเด็นสำคัญสุดท้ายคือการคิด เชิงวิพากษ์ กับสิ่งที่คุณอ่านและได้ยิน คุณต้องมั่นใจว่าความรู้ใน portfolio ของคุณถูกต้องและไม่ถูกครอบงำโดยกระแสฮือฮาจากผู้ผลิตหรือสื่อ ระวังพวกคลั่งไคล้ที่ยืนกรานว่าหลักการของตัวเองคือคำตอบ เดียว ที่ใช้ได้—มันอาจใช้ได้หรือใช้ไม่ได้กับคุณและโปรเจกต์ของคุณก็ได้

อย่าประเมินพลังของการค้าต่ำเกินไป แค่เพราะ search engine จัดให้ผลลัพธ์หนึ่งอยู่อันดับแรก ไม่ได้แปลว่ามันคือคำตอบที่ตรงที่สุด เพราะผู้ให้บริการเนื้อหาสามารถจ่ายเงินเพื่อขึ้นอันดับต้นๆ ได้ แค่เพราะร้านหนังสือจัดวางหนังสือเล่มหนึ่งไว้เด่นๆ ก็ไม่ได้แปลว่ามันเป็นหนังสือที่ดี หรือแม้แต่เป็นที่นิยม เพราะอาจมีคนจ่ายเงินให้วางไว้ตรงนั้นก็ได้

Tip 10 วิเคราะห์เชิงวิพากษ์สิ่งที่คุณอ่านและได้ยิน

การคิดเชิงวิพากษ์เป็นศาสตร์ทั้งแขนงในตัวมันเอง และเราขอสนับสนุนให้คุณอ่านและศึกษาเรื่องนี้ให้มากที่สุดเท่าที่ทำได้ ในระหว่างนี้ นี่คือจุดเริ่มต้นด้วยคำถามไม่กี่ข้อให้ลองถามและคิดตาม

ถาม “ทำไม 5 ครั้ง”

เทคนิคยอดนิยมของที่ปรึกษา คือถาม “ทำไม?” อย่างน้อยห้าครั้ง ถามคำถาม แล้วรับคำตอบมา ขุดลึกลงไปอีกด้วยการถาม “ทำไม?” ทำซ้ำเหมือนคุณเป็นเด็กสี่ขวบขี้เซ้าซี้ (แต่สุภาพหน่อย) วิธีนี้อาจช่วยให้คุณเข้าใกล้ต้นตอของปัญหามากขึ้น

ใครได้ประโยชน์จากเรื่องนี้?

อาจฟังดูมองโลกในแง่ร้ายไปหน่อย แต่การ ตามเงิน ไปดูก็เป็นแนวทางวิเคราะห์ที่มีประโยชน์มากทีเดียว ผลประโยชน์ที่ตกกับคนอื่นหรือองค์กรอื่นอาจสอดคล้องกับผลประโยชน์ของคุณ หรืออาจไม่สอดคล้องกันก็ได้

บริบทคืออะไร?

ทุกอย่างเกิดขึ้นในบริบทของตัวมันเอง นั่นเป็นเหตุผลว่าทำไมทางแก้แบบ “ไซซ์เดียวใช้ได้กับทุกคน” มักใช้ไม่ได้จริง ลองพิจารณาบทความหรือหนังสือที่โฆษณา “แนวปฏิบัติที่ดีที่สุด” คำถามที่ดีที่ควรถามคือ “ดีที่สุดสำหรับใคร?” มีเงื่อนไขอะไรบ้าง แล้วผลที่ตามมาทั้งระยะสั้นและระยะยาวคืออะไร?

สิ่งนี้จะได้ผลเมื่อไหร่หรือที่ไหน?

ภายใต้สถานการณ์แบบไหน? สายไปหรือเปล่า? เร็วไปหรือเปล่า? อย่าหยุดแค่การคิดขั้นแรก ( อะไรจะเกิดขึ้นต่อไป ) แต่ให้ใช้การคิดขั้นที่สองด้วย: แล้วหลังจากนั้นจะเกิดอะไรขึ้นอีก?

ทำไมสิ่งนี้ถึงเป็นปัญหา?

มีโมเดลพื้นฐานอยู่เบื้องหลังหรือเปล่า? แล้วโมเดลพื้นฐานนั้นทำงานยังไง?

น่าเสียดายที่คำตอบง่ายๆ เหลืออยู่น้อยมากในทุกวันนี้ แต่ด้วย portfolio อันกว้างขวางของคุณ และการนำการวิเคราะห์เชิงวิพากษ์มาใช้กับบทความเทคนิคจำนวนมหาศาลที่คุณจะได้อ่าน คุณจะสามารถเข้าใจคำตอบที่ ซับซ้อน เหล่านั้นได้ครับ

Related Sections Include (หัวข้อที่เกี่ยวข้อง)

  • Topic 1, ​ It's Your Life (ชีวิตคือของคุณ) ​
  • Topic 22, ​ Engineering Daybooks (สมุดบันทึกวิศวกรรม) ​

Challenges (แบบฝึกหัด)

  • เริ่มเรียนภาษาใหม่ในสัปดาห์นี้เลยครับ เขียนโปรแกรมด้วยภาษาเดิมๆ มาตลอดใช่ไหม? ลอง Clojure, Elixir, Elm, F#, Go, Haskell, Python, R, ReasonML, Ruby, Rust, Scala, Swift, TypeScript หรือภาษาอื่นๆ ที่คุณสนใจ และ/หรือดูแล้วน่าจะถูกใจคุณ [11]

  • เริ่มอ่านหนังสือเล่มใหม่ (แต่อ่านเล่มนี้ให้จบก่อนนะครับ!) ถ้าคุณทำงานเจาะลึกในระดับ implementation และการเขียนโค้ด ให้อ่านหนังสือเกี่ยวกับ design และ architecture ถ้าคุณทำงานออกแบบระดับสูง ให้อ่านหนังสือเกี่ยวกับเทคนิคการเขียนโค้ด

  • ออกไปพูดคุยเรื่องเทคโนโลยีกับคนที่ไม่ได้เกี่ยวข้องกับโปรเจกต์ปัจจุบันของคุณ หรือไม่ได้ทำงานที่บริษัทเดียวกัน สร้างเครือข่ายในโรงอาหารของบริษัท หรือบางทีอาจหาเพื่อนที่มีความสนใจเดียวกันที่ meetup ในพื้นที่ครับ