“พวกฟังก์หนุ่มๆ ที่จะกวาดล้างพวกเราไปจากพื้นโลกอยู่ที่ไหน?”

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

ประชากรนักพัฒนาทั่วโลก

เพื่อที่จะตอบคำถามนี้ ฉันตัดสินใจเริ่มต้นด้วยการค้นหาข้อมูลเกี่ยวกับจำนวนนักพัฒนาซอฟต์แวร์ในโลกทุกวันนี้ และจำนวนประชากรนี้เปลี่ยนแปลงไปอย่างไรเมื่อเวลาผ่านไป
การประมาณการจากแหล่งข้อมูลต่างๆ ระบุว่าตัวเลขอยู่ระหว่าง 12 ถึง 30 ล้านคน ตัดสินใจหยุดที่ ข้อมูลจาก SlashDataเพราะวิธีการของพวกเขาดูค่อนข้างสมดุลและเหมาะสมกับความต้องการของฉัน ในการประเมิน พวกเขาพิจารณาจำนวนบัญชีและที่เก็บข้อมูลบน Github จำนวนบัญชีใน StackOverflow บัญชี npm และข้อมูลจากแหล่งข้อมูลอย่างเป็นทางการเกี่ยวกับการจ้างงานในสหรัฐอเมริกาและยุโรป พวกเขายังปรับตัวเลขผลลัพธ์โดยใช้การศึกษาของตนเอง 16 เรื่อง ซึ่งรวมถึงผู้คนประมาณ 20 คนสำหรับการสำรวจแต่ละครั้ง

จากข้อมูลของ SlashData ในไตรมาสที่สี่ของปี 2018 มีนักพัฒนาทั่วโลกประมาณ 18.9 ล้านคน โดย 12.9 ล้านคนในจำนวนนั้นเป็นนักพัฒนามืออาชีพ กล่าวคือ พวกเขาสร้างโปรแกรมที่มีชีวิต ผู้ที่ไม่ใช่นักพัฒนามืออาชีพในปัจจุบันคือผู้ที่เขียนโปรแกรมเป็นงานอดิเรก รวมถึงผู้ที่กำลังศึกษาอาชีพต่างๆ (นักเรียนหลายคนและเรียนรู้ด้วยตนเอง) นั่นคือนี่คือคำใบ้เกี่ยวกับขนาดของกลุ่มที่ฉันสนใจ - 6 ล้านคน พูดตามตรงนี่เป็นมากกว่าที่ฉันคาดไว้

สิ่งที่น่าประหลาดใจประการที่สองสำหรับฉันคืออัตราการเติบโตของจำนวนโปรแกรมเมอร์: ตั้งแต่ไตรมาสที่สองของปี 2017 ถึงไตรมาสที่สี่ของปี 2018 เพิ่มขึ้นจาก 14.7 เป็น 18.9 ล้านคนที่กล่าวถึงหรือเพิ่มขึ้น 21% ในปี 2018! ถ้าให้ผมประเมินอัตราการเติบโตของจำนวนโปรแกรมเมอร์ ผมคงบอกว่าประมาณ 5% ต่อปี โดยจะเพิ่มขึ้นเล็กน้อยทุกปี และที่นี่ปรากฎว่ามากถึง 20%

นอกจากนี้ SlashData คาดการณ์ว่าประชากรจะสูงถึง 2030 ล้านคนภายในปี 45 เป็นเรื่องง่ายที่จะเข้าใจได้ว่าสิ่งนี้หมายถึงการเติบโตมากกว่า 8% ต่อปีเล็กน้อย ไม่ใช่ 20% แต่หมายถึงการปรับเพื่อรองรับการรุกทางอินเทอร์เน็ต (ปัจจุบันประมาณ 57% ทั่วโลก) ตามสถิติของ Statista) และปัจจัยอื่นๆ หลายประการ เช่น จำนวนนักพัฒนาซอฟต์แวร์ต่อหัว ในทางภูมิศาสตร์ จำนวนนักพัฒนามีการเติบโตอย่างแข็งแกร่งที่สุดในอินเดียและจีน โดยคาดว่าอินเดียจะแซงหน้าสหรัฐอเมริกาในด้านจำนวนนักพัฒนาภายในปี 2023 (ซึ่งขณะนี้มีอยู่แล้ว ข้อมูลมุม C#).

โดยทั่วไปแล้ว ไม่ว่าคุณจะมองอย่างไรก็จะมีโปรแกรมเมอร์จำนวนมาก เนื่องจากความต้องการมีเพิ่มมากขึ้น โดยวิธีการเกี่ยวกับความต้องการ

มีอะไรเป็นที่ต้องการ?

ในการประมาณความต้องการ ฉันใช้ข้อมูล HackerRank สำหรับ 2018 и 2019 ปี

ในแง่ของภาษาโปรแกรม ความต้องการมากที่สุดคือ JavaScript, Python และ Java ในเกือบทุกอุตสาหกรรม ยกเว้นฮาร์ดแวร์คอมพิวเตอร์ ความต้องการสูงสุดคือ C/C++ ซึ่งเข้าใจได้ โครงการฮาร์ดแวร์ยังคงมีข้อกำหนดสำหรับความเข้มข้นของทรัพยากรและประสิทธิภาพของซอฟต์แวร์ที่เกี่ยวข้อง

“พวกฟังก์หนุ่มๆ ที่จะกวาดล้างพวกเราไปจากพื้นโลกอยู่ที่ไหน?”

ในแง่ของเฟรมเวิร์ก AngularJS, Node.js และ React เป็นที่ต้องการมากที่สุด และมีช่องว่างที่ใหญ่ที่สุดระหว่างอุปสงค์และอุปทาน ซึ่งดูเหมือนว่าจะอธิบายได้ด้วยความเร็วที่ระบบนิเวศของ JavaScript เปลี่ยนแปลงไป เพราะตัวอย่างเช่น สำหรับ ExpressJS อุปทานเกินความต้องการแล้ว

“พวกฟังก์หนุ่มๆ ที่จะกวาดล้างพวกเราไปจากพื้นโลกอยู่ที่ไหน?”

ในแง่ของความสามารถ นายจ้างคาดหวังทักษะการแก้ปัญหาจากผู้สมัครเป็นหลัก นายจ้างประมาณ 95% บอกว่าทักษะเหล่านี้มีความสำคัญ ความสามารถทางภาษาการเขียนโปรแกรมอยู่ในอันดับที่สองด้วย 56% อย่างไรก็ตาม ไม่มีบรรทัดใดที่มีความรู้พื้นฐานเกี่ยวกับอัลกอริธึม โครงสร้างข้อมูล และวิทยาการคอมพิวเตอร์อื่น ๆ ไม่ว่าจะไม่ได้อยู่ในแบบสอบถามหรือไม่จำเป็นต้องมีความรู้ทางวิชาการในวงกว้างอีกต่อไป

การออกแบบฐานข้อมูลเป็นสิ่งจำเป็นโดย 23.2% ของบริษัทที่มีพนักงานต่ำกว่า 100 คน และ 18.8% ของบริษัทที่มีพนักงานมากกว่า 1000 คน ใช่แล้ว ดูเหมือนว่าจะเกี่ยวกับ ORM และ SQL! IMHO คำอธิบายเชิงตรรกะก็คือในบริษัทขนาดใหญ่มีบทบาทเฉพาะของ DBA ซึ่งเป็นผู้รับผิดชอบด้านนี้ ดังนั้นจึงเป็นไปได้ที่จะลดข้อกำหนดสำหรับนักพัฒนาและจ้างงานได้เร็วขึ้น แต่ด้วยการออกแบบระบบ มันกลับเป็นอย่างอื่น: 37.0% ในอันเล็ก, 44.1% ในอันใหญ่ ดูเหมือนว่าบริษัทขนาดใหญ่ควรมีสถาปนิกเฉพาะด้าน แต่บางทีพวกเขาอาจไม่สามารถรองรับจำนวนระบบที่สร้างขึ้นได้ หรือใส่อัลกอริธึมพื้นฐานและโครงสร้างข้อมูลเดียวกันเข้าไปใน System Design มันก็จะชัดเจนขึ้นนิดหน่อย

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

“พวกฟังก์หนุ่มๆ ที่จะกวาดล้างพวกเราไปจากพื้นโลกอยู่ที่ไหน?”

นักเรียนเรียนรู้อะไร?

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

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

พวกเขาสอนสิ่งที่นายจ้างต้องการ: JavaScript, Java, Python พวกเขาระบุว่ารู้ C/C++ แต่อาจเป็นเพราะภาษาเหล่านี้ใช้สำหรับการสอนในมหาวิทยาลัย พวกเขาสอนกรอบงาน JS แต่ความต้องการนั้นสูงกว่าอุปทานอย่างมาก เห็นได้ชัดว่าพวกเขากำลังเรียนรู้อย่างแข็งขันหลังจากหางานแรก

“พวกฟังก์หนุ่มๆ ที่จะกวาดล้างพวกเราไปจากพื้นโลกอยู่ที่ไหน?”

โดยทั่วไปแล้ว พวกเขาจะสอนสิ่งที่เป็นที่ต้องการตามที่คาดไว้

นักเรียนคาดหวังการเติบโตทางอาชีพตั้งแต่งานแรก ความสมดุลระหว่างชีวิตและการทำงานมาเป็นอันดับที่สอง (ในบางประเทศมาก่อน) และงานที่น่าสนใจมาเป็นอันดับที่สาม

พลวัตของประชากรนักพัฒนาตามภาษาโปรแกรมและประเภทซอฟต์แวร์

“พวกฟังก์หนุ่มๆ ที่จะกวาดล้างพวกเราไปจากพื้นโลกอยู่ที่ไหน?”

เว็บแอปพลิเคชันอยู่ในอันดับหนึ่งโดยมีนักพัฒนาประมาณ 16.9 ล้านคน นี่คือ SlashData อีกครั้ง ถัดไปคือบริการแบ็กเอนด์ (13.6 ล้าน) แอปพลิเคชันมือถือ (13.1 ล้าน) และเดสก์ท็อป (12.3 ล้าน) ภาค AR/VR และ IoT กำลังได้รับความนิยมเพิ่มขึ้นเรื่อยๆ AI/ML/วิทยาศาสตร์ข้อมูลได้เติบโตขึ้นอย่างมากในช่วงสองปีที่ผ่านมา

Javascript เติบโตเร็วที่สุด โดยชุมชนของ Javascript นั้นใหญ่ที่สุดอยู่แล้ว โดยเติบโตถึง 2018 ล้านคนในปี 2.5 เพียงปีเดียว พวกเขากำลังพยายามเขียนในส่วน IoT และ ML
Python เติบโตขึ้น 2018 ล้านคนในปี 2.2 เนื่องจากความนิยมที่เพิ่มขึ้นของ ML ซึ่งเดิมมีความเข้มแข็ง เช่นเดียวกับความง่ายในการเรียนรู้และความสะดวกสบายของภาษา

Java, C/C++ และ C# มีการเติบโตในอัตราที่ช้ากว่าประชากรนักพัฒนาโดยรวม ตอนนี้ภาษาเหล่านี้ไม่ค่อยเป็นภาษาการเขียนโปรแกรมที่ผู้คนเลือกที่จะเริ่มต้นด้วย ความต้องการนักพัฒนาที่นี่มีความสมดุลกับอุปทานไม่มากก็น้อย ฉันคิดว่า Java จะเติบโตช้าลงกว่านี้ถ้าไม่ใช่สำหรับ Android

PHP เป็นภาษาการเขียนโปรแกรมเว็บแอปพลิเคชันที่ได้รับความนิยมเป็นอันดับสองและยังมีการเติบโตอย่างมีนัยสำคัญ (เพิ่มขึ้น 32% ในปี 2018) ชุมชนมีนักพัฒนาประมาณ 5.9 ล้านคน แม้ว่า PHP จะมีชื่อเสียงแบบโพลาไรซ์ แต่ก็ค่อนข้างง่ายที่จะเรียนรู้และใช้กันอย่างแพร่หลาย

ผู้สมัครรุ่นเยาว์ในปัจจุบันเรียนอย่างไรเมื่อเทียบกับรุ่นก่อนๆ?

ข้อมูล HackerRank อีกครั้ง ผู้ที่มีอายุระหว่าง 38 ถึง 53 ปี ลงรายชื่อเกมเป็นโปรเจ็กต์แรกของพวกเขา

อย่างไรก็ตามฉันยืนยันว่าโปรเจ็กต์การทำงานแรกของฉันไม่มากก็น้อยคือ "โอเอกซ์" มากถึงห้ารายการติดต่อกันโดยมีฟิลด์ไม่ จำกัด ส่วนที่สองคือเกม 15 เกม ฉันเขียนทั้งหมดนี้ใน ปีก่อนคริสตกาล 010-01, มี พื้นฐานของวิลนีอุสหรือที่รู้จักในชื่อ BASIC-86 และโฟกัส เอ๊ะ

โปรแกรมเมอร์มือใหม่สมัยใหม่ (อายุไม่เกิน 21 ปี) เขียนเครื่องคิดเลขและเว็บไซต์เป็นโครงการแรก

ในบรรดาตัวแทนของ Generation X เกือบครึ่งหนึ่งเริ่มเขียนโค้ดก่อนอายุ 16 ปี หลายคนเขียนตั้งแต่อายุ 5 ถึง 10 ปี (ส่วนใหญ่เป็นผู้ที่ตอนนี้อายุระหว่าง 35 ถึง 45 ปี) ไม่มากก็น้อยที่ชัดเจนว่าทำไม: มีแหล่งข้อมูลไม่กี่แห่ง และการที่จะเป็นโปรแกรมเมอร์ได้นั้น คุณจะต้องการมันอย่างมาก และผู้ที่ต้องการมันจริงๆ ก็เริ่มเขียนโปรแกรมตั้งแต่เนิ่นๆ คนที่ไม่ต้องการมันมากตอนนี้ก็คงมีอาชีพอื่น ดังนั้นภาพในสังคมวิทยาจึงเป็นเช่นนี้ทุกประการ

“พวกฟังก์หนุ่มๆ ที่จะกวาดล้างพวกเราไปจากพื้นโลกอยู่ที่ไหน?”

ผู้สมัครรุ่นเยาว์ในปัจจุบันมีเพียง 20% เท่านั้นที่เริ่มเขียนโปรแกรมก่อนอายุ 16 ปี ซึ่งส่วนใหญ่มีอายุระหว่าง 16 ถึง 20 ปี แต่พวกเขาเรียนรู้ได้ง่ายกว่ามากด้วยเพราะตอนนี้เข้าถึงได้ง่ายขึ้นมาก

ผลการวิจัย

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

นักพัฒนารุ่นต่อไปเป็นคนธรรมดาในบางแง่พวกเขาก็คล้ายกับรุ่นก่อน ๆ ปัญหาที่อยู่อาศัยทำให้พวกเขาเสียเท่านั้น ตอบสนองความต้องการที่นายจ้างสร้างขึ้น เกณฑ์ในการเข้าสู่อาชีพลดลงเนื่องจากเครื่องมือและกรอบงานที่สะดวกยิ่งขึ้นที่ช่วยให้คุณบรรลุผลได้อย่างรวดเร็ว ขณะนี้ผู้คนจำนวนมากขึ้นกลายเป็นโปรแกรมเมอร์ คนรุ่นดิจิทัล (Generation Z) ใช้ชีวิตอยู่กับเทคโนโลยีมาตั้งแต่แรกเกิด สำหรับพวกเขา มันเป็นอาชีพทั่วไปไม่เลวร้ายไปกว่าอาชีพอื่น ๆ

ผู้ที่รู้ว่าเวลาแฝงของแคช L1 อยู่ที่ ~4 รอบ และเป็นการดีกว่าที่จะไม่ทำให้แคชไลน์ขัดข้องโดยไม่จำเป็น กำลังจะมีขนาดเล็กลงตามเปอร์เซ็นต์ของขนาดประชากรทั้งหมด อย่างไรก็ตาม พวกเขาไม่ควรกังวลเรื่องการหางาน เพราะบางคนต้องเขียนเรื่องระดับต่ำในที่ที่ยังจำเป็นอยู่ ในทำนองเดียวกันผู้ที่มีความรู้พื้นฐานอย่างลึกซึ้งในการออกแบบระบบและได้รับมันมาจากการต่อสู้ที่นองเลือดและไม่เพียงแค่ติดตามลัทธิการขนส่งสินค้าก็ไม่ควรกังวล เพราะจะมีคนในทีมจำนวนมากขึ้นที่สามารถ "แค่เขียนโค้ด" และ "แค่" ใช้เฟรมเวิร์กได้ และเพื่อที่จะ "หลีกเลี่ยงความเจ็บปวดแสนสาหัสของการใช้เวลาหลายปีใช้ชีวิตอย่างไร้จุดหมาย" (ค) พวกเขาจะต้องได้รับความสมดุลโดยคนแบบนั้น .

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

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

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

เฉพาะผู้ใช้ที่ลงทะเบียนเท่านั้นที่สามารถเข้าร่วมในการสำรวจได้ เข้าสู่ระบบ, โปรด.

การสัมภาษณ์เว็บแบ็กเดอร์จำเป็นต้องมีความรู้ SQL หรือไม่?

  • ใช่ ฉันต้องการมันเพราะฉันต้องการมันในการทำงาน

  • ใช่ ฉันทำ แม้ว่าจะไม่ค่อยจำเป็นในที่ทำงานก็ตาม

  • ไม่ ฉันไม่ต้องการมัน เรามี NoSQL

  • ไม่ ฉันไม่ต้องการมัน ORM จะทำทุกอย่าง

ผู้ใช้ 320 คนโหวต ผู้ใช้ 230 รายงดออกเสียง

ที่มา: will.com

เพิ่มความคิดเห็น