มีอนาคตนอกเหนือจากการเขียนโค้ดที่ยอดเยี่ยมหรือไม่?
เผยแพร่แล้ว: 2022-03-10มาออกกำลังกายกันเร็ว สมมติว่าคุณทำงานอย่างมืออาชีพในฐานะนักพัฒนาซอฟต์แวร์มากว่าห้าปี คุณได้รับประสบการณ์ตรงจากหลายสิบโครงการ และรักษาทักษะของคุณให้เฉียบแหลมโดยการเรียนรู้เทคนิค เครื่องมือ และกรอบงานใหม่ๆ คุณมีส่วนร่วมในห้องสมุดต่างๆ จัดระเบียบโค้ดที่คุณเขียนใหม่เป็นประจำ และแลกเปลี่ยนการตรวจทานโค้ดกับเพื่อนร่วมงานของคุณเป็นระยะ
แต่แล้วมีคนมาถามคุณว่าคำถามหนึ่งข้อที่คุณยังไม่มีโอกาสคิดออก: คุณมองตัวเองที่ไหนในอีก 10 ปีข้างหน้า?
คุณอาจจะกังวลเกี่ยวกับแนวคิดที่ว่าถ้าคุณยังคงเดินต่อไปบนเส้นทางเดิม คุณก็จะเป็นนักพัฒนารุ่นเก่าที่เขียนโค้ดได้ดีขึ้นเล็กน้อยและเร็วขึ้นอีกเล็กน้อย นักพัฒนาบางคนพอใจกับความคิดนี้และแทบรอไม่ไหวที่จะดำเนินการต่อไป แต่คนอื่นอาจรู้ว่ารถไฟเหาะแห่งบทเรียนและการเติบโตที่คุณเคยผ่านมานี้กำลังเปลี่ยนไปใช้โหมดควบคุมความเร็วอัตโนมัติอย่างรวดเร็ว
เมื่อคุณรู้สึกว่าคุณควบคุมบทบาทของคุณได้อย่างสมบูรณ์ในฐานะนักพัฒนา คุณจะเริ่มรู้สึกอยากทำอะไรมากกว่านี้ ไม่เหมือนกัน แต่มีการเติบโตส่วนบุคคลมากขึ้นแทน บางทีบางสิ่งบางอย่างที่แตกต่างกัน
ในช่วงสองสามปีที่ผ่านมาในอาชีพการงานของฉัน ฉันกำลังมองหาคำตอบ ฉันได้มีโอกาสร่วมงานกับ (และเรียนรู้จาก) นักพัฒนาที่ประสบความสำเร็จหลายคนที่สามารถปรับเปลี่ยนบทบาทที่มีอิทธิพลสูงได้ โดยที่พวกเขาใช้พื้นฐานทางเทคนิคให้เกิดประโยชน์สูงสุด พวกเขาแต่ละคนได้สำรวจเส้นทางที่แตกต่างกันซึ่งพวกเขาสามารถทำให้เกิดการเปลี่ยนแปลงตามธรรมชาติ โดยพิจารณาจากความสมดุลระหว่างทักษะหลักและทักษะเสริมของพวกเขา
เราจะไปจากที่นี่ได้ที่ไหน?
มีเส้นทางใหม่ๆ ที่เราสามารถสำรวจได้ ซึ่งสามารถบังคับให้เราเติบโตเกินกว่าขอบเขตที่คุ้นเคย และในขณะเดียวกันก็ได้รับประโยชน์จากชุดทักษะที่เราได้ทุ่มเทอย่างหนักเพื่อฝึกฝน
ในฐานะนักพัฒนา บทความส่วนใหญ่ที่เราอ่าน หนังสือการเขียนโปรแกรม และแม้แต่คำแนะนำจากเพื่อนร่วมงาน ล้วนแต่ได้รับการปรับแต่งเพื่อช่วยให้เรามุ่งเน้นเฉพาะการเขียนโค้ดที่ดีขึ้นเท่านั้น นอกจากนั้น เรายังไม่ได้รับการสอนจริงๆ ให้ทำงานได้ดีขึ้น หรือเพื่อให้เข้าใจถึงวิธีที่จะพัฒนาในเชิงปรัชญามากขึ้น
โดยปกติแล้ว เราไม่มีทางรู้เลยว่าอะไรจะเกิดขึ้นหลังจากบรรลุเป้าหมายที่เราตั้งไว้สำหรับตัวเราเองเมื่อเราเริ่มต้นอาชีพ หรือหากมีสิ่งใดที่เราต้องการทำนอกเหนือจากการเขียนโค้ดแปดชั่วโมงต่อวัน ตลอดชีวิตที่เหลือของเรา เป็นเรื่องปกติที่จะดูถูกดูแคลนการมีส่วนร่วมที่เป็นไปได้ของเราต่อทีม หากเราต้องทำอย่างอื่นนอกเหนือจากการเขียนโค้ดในอนาคตอันใกล้นี้ เราไม่แน่ใจว่าเราจะสร้างผลกระทบที่ใหญ่ขึ้นได้อย่างไร แม้ว่ามุมมองและทักษะของเราจะมีความจำเป็นในตำแหน่งที่มีอิทธิพลมากขึ้นก็ตาม
ฟังอุตสาหกรรม
ย้อนกลับไปในปี 2008 เมื่อฉันเริ่มต้นอาชีพในฐานะนักพัฒนา frontend ไม่มีใครในโลกที่ไม่เคยได้ยินชื่อ Mark Zuckerberg โปรแกรมเมอร์รุ่นเยาว์ที่กลายเป็นเศรษฐีในขณะที่เปลี่ยนวิธีการสื่อสารของผู้คน คนรุ่นมิลเลนเนียลเริ่มสร้างความโรแมนติกให้กับแนวคิดของการรวยอย่างถูกกฎหมายขณะสวมเสื้อฮู้ด ทันใดนั้น เกือบทุกคนในรุ่นของฉันต้องการเป็นนักพัฒนา
กว่าทศวรรษให้หลัง เราเริ่มรู้สึกถึงผลกระทบที่แท้จริงของนักเขียนโค้ดที่เฟื่องฟู จากการสำรวจ Stack Overflow ในปีนี้ เราได้เรียนรู้ว่ามากกว่าสองในสามของผู้ตอบแบบสอบถามมีประสบการณ์การเขียนโปรแกรมระดับมืออาชีพน้อยกว่าสิบปี
เราจะเห็นได้อย่างชัดเจนว่านักพัฒนาที่มีประสบการณ์และมีทักษะความเป็นผู้นำนั้นหายาก ดังนั้นตอนนี้บริษัทต่างๆ จึงต้องหาวิธีที่สร้างสรรค์ในการจองความสามารถที่ดีที่สุดของพวกเขา ในลักษณะที่พวกเขาสามารถดูแลนักพัฒนารุ่นเยาว์และรักษาคุณภาพงานได้ สิ่งนี้สร้างโครงสร้างความเป็นผู้นำแบบออร์แกนิกภายในทีมที่กำลังเติบโต
อุตสาหกรรมยังคงเติบโตอย่างรวดเร็ว และบทบาทของเราในฐานะนักพัฒนาก็เช่นกัน เป็นเรื่องธรรมดามากขึ้นที่จะหากรรมการและผู้จัดการที่เริ่มต้นจากการเป็นโปรแกรมเมอร์ และตอนนี้บริษัทต่างๆ ก็เปิดรับตำแหน่งผู้นำมากขึ้นซึ่งจำเป็นต้องมีภูมิหลังด้านการพัฒนา
พูดได้อย่างปลอดภัยว่าแม้ว่าการเขียนโปรแกรมจะถือเป็นงานคอปกหน้างานต่อไป แต่บทบาทของนักพัฒนาก็เติบโตขึ้นจนกลายเป็นตำแหน่งที่มีอิทธิพลอย่างมากในองค์กร แต่ไม่มีแผนงานเป็นลายลักษณ์อักษรหรือสูตรที่พิสูจน์แล้วที่จะนำทางเราผ่านการเปลี่ยนแปลงนั้น
ทางเลือกของเรามีอะไรบ้าง?
มีจุดหนึ่งในอาชีพการงานของฉันซึ่งฉันถูกถามคำถามที่น่ากลัวเกี่ยวกับอนาคตที่ฉันจินตนาการไว้สำหรับตัวเอง ฉันไม่มีคำตอบ อันที่จริง มันทำให้เกิดคำถามมากมายที่ผมยังนึกไม่ถึง
ฉันทำงานเป็นหัวหน้าส่วนหน้าอยู่แล้ว ฉันจึงได้รับความรับผิดชอบมากขึ้นเรื่อยๆ นอกเหนือจากการเขียนโค้ด ซึ่งทำให้นึกถึงอนาคตที่เป็นไปได้ซึ่งฉันอาจจะไม่เขียนโปรแกรม ความเป็นไปได้ที่จะมีผลกระทบมากขึ้นในโครงการต่าง ๆ นั้นน่าดึงดูดอย่างแน่นอน
ดังนั้นฉันจึงออกไปค้นหาตัวเลือกที่น่าสนใจสำหรับอนาคตของฉัน ฉันดูเส้นทางที่เพื่อนร่วมงานบางคนได้ใช้ซึ่งพวกเขาประสบความสำเร็จในการเปลี่ยนจากบทบาทของนักพัฒนาไปเป็นตำแหน่งที่สำคัญภายในบริษัท กรณีส่วนใหญ่ประกอบด้วยการก้าวเล็ก ๆ และอยู่ในสถานที่ที่เหมาะสมในเวลาที่เหมาะสม แต่โดยรวมแล้ว พวกเขาทั้งหมดลงเอยด้วยกิจกรรมหลักสามกลุ่มนี้:
- การจัดการทีมและโครงการ
การนำกลุ่มคนไปสู่ความยิ่งใหญ่อาจฟังดูน่าตื่นเต้น แต่ก็ไม่ใช่เรื่องง่าย ในฐานะนักพัฒนาที่ช่ำชอง มีตัวเลือกการเติบโตมากมายที่เกี่ยวข้องกับการจัดการกลุ่มนักพัฒนาที่เป็นเพื่อนกันเป็นทีมหรือการจัดการโครงการในทีมจากสหสาขาวิชาชีพ แม้ว่าจะเป็นตัวเลือกที่ให้ผลตอบแทนสูง แต่ก็ต้องก้าวออกจากแป้นพิมพ์และเรียนรู้ที่จะมอบหมายงาน ซึ่งอาจเป็นเรื่องยากมากสำหรับนักพัฒนาที่เคยชินกับการแก้ปัญหาทั้งหมดด้วยตนเอง
การย้ายไปยังตำแหน่งที่เราควบคุมกระบวนการได้มากขึ้น และทีมที่เกี่ยวข้องจะนำไปสู่การเสียสละการควบคุมที่เราเคยมีในการเขียนโค้ด - ให้คำปรึกษาและพัฒนาความสามารถ
มีบอสกี่คนที่จินตนาการถึงการโคลนนักพัฒนาชั้นนำของพวกเขา? ในโลกแห่งความเป็นจริง เหตุการณ์นี้ยังไม่มีแนวโน้มที่จะเกิดขึ้น ดังนั้นหัวหน้าที่ชาญฉลาดจึงทำสิ่งที่ดีที่สุดถัดไป: พวกเขาตั้งค่ากระบวนการที่ผู้เขียนโค้ดที่เก่งที่สุดสามารถถ่ายทอดความรู้ของตนให้เพื่อนฝูงได้อย่างแข็งขัน
เราต้องจำไว้ว่าแม้ว่านักพัฒนาบางคนจะทำสิ่งนี้ตามธรรมชาติในแต่ละวัน แต่จะมีประสิทธิภาพมากกว่าเสมอหากนักพัฒนาอาวุโสได้รับบทบาทที่เป็นทางการมากขึ้น ซึ่งพวกเขาสามารถจัดสรรเวลาเป็นประจำเพื่อพัฒนาการเติบโตของพวกเขา ทีม ซึ่งสามารถทำได้ด้วยการตรวจทานโค้ด เวิร์กช็อป และการประเมินรายบุคคลกับเพื่อนร่วมงาน - อยู่ในธุรกิจเทคโนโลยี
เป็นเรื่องปกติมากที่จะได้ยินนักพัฒนาบ่นว่าโปรเจ็กต์ได้รับการเสนอชื่อหรือกำหนดไว้อย่างไรเมื่อขายให้กับลูกค้า และในกรณีส่วนใหญ่ มักจะสายเกินไปที่จะบ่น
จากประสบการณ์ของฉัน ฉันพบว่าตัวเองมีความสุขมากขึ้นในการทำงานในโครงการที่นักพัฒนามีส่วนร่วมระหว่างการขาย เป็นเรื่องดีเสมอที่จะมีพันธมิตรที่มีเหตุผลในการทำเครื่องหมายปัญหาทางเทคนิคที่อาจเกิดขึ้นในห้องที่ไม่มีใครรู้เบาะแส
บทบาทของที่ปรึกษาและผู้อำนวยการด้านเทคนิคมีความสำคัญต่อโครงการดิจิทัลขนาดใหญ่ การมีส่วนร่วมของนักพัฒนาในเวิร์กช็อปของลูกค้าและการร่างเอกสารทางเทคนิคในช่วงเริ่มต้นของโปรเจ็กต์ใดๆ ก็ตาม อาจเป็นตัวเปลี่ยนเกมสำหรับวงจรชีวิตของโปรเจ็กต์
ทำงานกับชุดเครื่องมือใหม่
สมมติว่าเราต้องการเติบโตต่อไปและต้องการเริ่มต้นในอนาคตที่เราต้องการทำมากกว่าแค่การเขียนโค้ด เมื่อเรารู้แล้วว่าเรากำลังมุ่งหน้าไปที่ใด มีความเป็นไปได้สูงที่เราอาจจะยังไม่พร้อมสำหรับการก้าวกระโดด ท้ายที่สุด เราแค่มุ่งเน้นไปที่การได้มาซึ่งทักษะที่ทำให้เราเป็นนักพัฒนาที่ดีขึ้น
เมื่อเราตระหนักว่าเราต้องเรียนรู้อีกมาก เราต้องเริ่มทำงานกับชุดทักษะที่เหมาะสม ครั้งนี้จะแตกต่างออกไป เราจะไม่เรียนภาษา เฟรมเวิร์ก หรือไลบรารีใหม่ๆ เราจำเป็นต้องสะสมทักษะที่อาจไม่เคยรู้สึกว่ามีความสำคัญมาก่อน แต่มีความสำคัญอย่างยิ่งต่อการก้าวต่อไปในพื้นที่ที่ไม่แน่นอนเหล่านี้
การสื่อสาร
สำหรับใครก็ตามที่มีงานทำในบริษัทใด ๆ งานนี้ไม่ต้องคิดมาก การสื่อสารเป็นที่รู้จักกันว่าเป็นแกนหลักของการทำงานร่วมกันภายในองค์กรทุกประเภท น่าเสียดายที่โปรแกรมเมอร์ได้รับบัตรผ่านฟรีในพื้นที่นี้มาหลายปีแล้ว ความจำเป็นในการค้นหาบุคคลที่มีความคิดเชิงตรรกะ ขยันขันแข็ง และกระตือรือร้นทำให้เราเติบโตได้โดยไม่จำเป็นต้องมีทักษะในการสื่อสารที่ยอดเยี่ยมจริงๆ และแม้กระทั่งเป็นกลุ่มที่น่าอึดอัดใจในสังคม
หากเรามีแรงบันดาลใจในการทำงานกับทีมและลูกค้าที่แตกต่างกัน ชัดเจนว่าเราจะต้องทำงานเพื่อปรับปรุงการสื่อสารทุกด้านของเรา การประชุมแบบตัวต่อตัว การนำเสนอ และอีเมลที่สำคัญจะต้องได้รับการขัดเกลาอย่างรอบคอบตั้งแต่นี้เป็นต้นไป
กรรมสิทธิ์
การมีความคิดเชิงตรรกะส่งผลต่อวิธีการจัดระเบียบงานของเรา ในฐานะนักพัฒนา เรามักมีความรู้สึกขาวดำว่างานของเราเริ่มต้นที่ใดและสิ้นสุดที่ใด สิ่งนี้เป็นผลดีเมื่อช่วยให้เรามีความเข้าใจที่ชัดเจนเกี่ยวกับงานที่ต้องทำโดยเรา แต่บางครั้งก็ทำให้เราไม่ก้าวข้ามขอบเขตและทำงานนอกเขตสบาย
ลำดับแรกของธุรกิจคือการเริ่มเป็นเจ้าของงานในทุกๆ ด้านที่เราเกี่ยวข้อง ด้วยการทำให้เส้นที่ระบุว่างานของนักพัฒนาซอฟต์แวร์สิ้นสุดที่ใด เราจึงสามารถรับผิดชอบใหม่และเปลี่ยนไปสู่บทบาทต่างๆ ได้ในที่สุด
ความเป็นผู้นำ
ไม่ว่าเราจะมุ่งไปที่ใดในอาชีพการงาน เราจะต้องให้เพื่อนร่วมทีมไว้วางใจเรา เราต้องการให้พวกเขารู้ว่าเรากำลังมุ่งหน้าไปในทิศทางที่ถูกต้อง แม้ว่าจะไม่ชัดเจนสักระยะก็ตาม
เพื่อให้บรรลุสิ่งนี้ เราจะต้องสามารถพิสูจน์ความรู้ของเราได้ เราจะต้องมั่นใจในการตัดสินใจของเรา และเราจะต้องสามารถรับรู้ความผิดพลาดของเราและเรียนรู้จากความผิดพลาดได้อย่างรวดเร็ว
นี่ไม่ใช่งานง่ายๆ และไม่ใช่สิ่งที่คุณจะทำเครื่องหมายออกจากรายการได้ จะต้องทุ่มเทของเราตราบเท่าที่เราต้องการเติบโตต่อไปนอกฟองสบู่การพัฒนา
ไปทำงาน
เมื่อเราแน่ใจว่าต้องการก้าวกระโดดในอาชีพการงานแล้ว เราต้องเริ่มก้าวไปในทิศทางที่ถูกต้อง ขั้นตอนแรกคือการสำรวจตัวเลือกต่างๆ ตัดสินใจว่าเส้นทางใดที่คุณต้องการติดตาม และดูว่าเส้นทางนั้นสอดคล้องกับบทบาทปัจจุบันของคุณอย่างไร
บริษัทของคุณเสนอพื้นที่ที่คุณสามารถเป็นที่ปรึกษาหรือผู้จัดการได้หรือไม่? คุณคิดว่ามีโอกาสที่จะทำให้มันเกิดขึ้นที่นั่นหรือคุณคิดว่าคุณจะต้องเติบโตต่อไปที่อื่นหรือไม่? นี่เป็นเพียงคำถามบางส่วนที่คุณต้องถามตัวเอง และจะนำไปสู่การสนทนากับเพื่อนร่วมทีมและผู้จัดการของคุณ
การก้าวไปสู่ทิศทางใหม่จะต้องทำงานหนัก เปิดใจกว้าง และมีความยืดหยุ่นพอที่จะล้มเหลวและลองอีกครั้ง หลายครั้งตามที่ต้องการ