"کہاں ہیں وہ نوجوان گنڈا جو ہمیں روئے زمین سے مٹا دیں گے؟"

میں نے کمیونٹیز میں سے ایک میں بحث کے ایک اور دور کے بعد اپنے آپ سے ایک وجودی سوال پوچھا جو Grebenshchikov کی تشکیل میں عنوان میں رکھا گیا ہے کہ آیا ابتدائی ویب بیک اینڈ ڈویلپر کو SQL علم کی ضرورت ہے، یا ORM بہرحال سب کچھ کرے گا۔ میں نے جواب کو صرف ORM اور SQL کے بارے میں کچھ زیادہ وسیع پیمانے پر تلاش کرنے کا فیصلہ کیا، اور بنیادی طور پر یہ منظم کرنے کی کوشش کی کہ وہ کون لوگ ہیں جو اب جونیئر اور درمیانی درجے کی ترقی کے عہدوں کے لیے انٹرویوز کے لیے جا رہے ہیں، ان کی تاریخ کیا ہے اور وہ کون سی دنیا ہیں۔ رہنا. عام طور پر، میری ایک رائے تھی، لیکن یہ ذاتی خدمات حاصل کرنے کے تجربے سے بنی اور واضح طور پر مقامی مارکیٹ میں ایڈجسٹ ہوئی۔ عام طور پر، یہ دلچسپ ہو گیا. ہمیں جو ملا وہ یہ ہے۔

عالمی ڈویلپر آبادی

کسی نہ کسی طرح سوال تک پہنچنے کے لیے، میں نے اس ڈیٹا کی تلاش شروع کرنے کا فیصلہ کیا کہ آج دنیا میں کتنے ڈویلپرز ہیں اور یہ آبادی وقت کے ساتھ کیسے بدل رہی ہے۔
مختلف ذرائع کے اندازوں کے مطابق یہ تعداد 12 سے 30 ملین افراد کے درمیان ہے۔ پر رکنے کا فیصلہ کیا۔ سلیش ڈیٹا سے ڈیٹاکیونکہ ان کا طریقہ کار کافی متوازن اور میری ضروریات کے لیے موزوں لگتا تھا۔ اپنی تشخیص میں، انہوں نے Github پر اکاؤنٹس اور ریپوزٹریز کی تعداد، StackOverflow پر اکاؤنٹس کی تعداد، npm اکاؤنٹس اور امریکہ اور یورپ میں ملازمت کے بارے میں سرکاری ذرائع سے ڈیٹا کو مدنظر رکھا۔ انہوں نے اپنے 16 مطالعات کا استعمال کرتے ہوئے نتیجے کے نمبروں کو بھی ایڈجسٹ کیا، جس میں ہر سروے کے لیے تقریباً 20 افراد شامل تھے۔

سلیش ڈیٹا کے مطابق، 2018 کی چوتھی سہ ماہی میں دنیا میں تقریباً 18.9 ملین ڈویلپرز تھے، جن میں سے 12.9 ملین پیشہ ور ڈویلپر تھے، یعنی وہ زندہ پروگرام بناتے ہیں۔ وہ لوگ جو فی الحال پروفیشنل ڈویلپر نہیں ہیں وہ لوگ ہیں جن کے لیے پروگرامنگ ایک مشغلہ ہے، اس کے علاوہ وہ لوگ جو فی الحال کسی پیشے کا مطالعہ کر رہے ہیں (مختلف طلباء اور خود تعلیم یافتہ)۔ ٹھیک ہے، یہ ہے کہ، یہاں گروپ کے سائز پر ایک اشارہ ہے جو مجھے دلچسپی رکھتا ہے - 6 ملین افراد. سچ پوچھیں تو یہ میری توقع سے زیادہ ہے۔

میرے لیے دوسرا تعجب پروگرامرز کی تعداد کی شرح نمو تھی: 2017 کی دوسری سہ ماہی سے 2018 کی چوتھی سہ ماہی تک، یہ 14.7 سے بڑھ کر 18.9 ملین تک پہنچ گئی، یا 21 میں 2018 فیصد بڑھ گئی! اگر مجھ سے پروگرامرز کی تعداد کی شرح نمو کا تخمینہ لگانے کو کہا جائے تو میں کہوں گا کہ یہ سالانہ شرح میں معمولی اضافے کے ساتھ تقریباً 5% سالانہ ہے۔ اور یہاں یہ زیادہ سے زیادہ 20% نکلا۔

مزید برآں، سلیش ڈیٹا کا تخمینہ ہے کہ 2030 تک آبادی 45 ملین تک پہنچ جائے گی۔ یہ جاننا آسان ہے کہ اس کا مطلب سالانہ 8% سے تھوڑا زیادہ اضافہ ہوتا ہے، نہ کہ 20%، لیکن وہ انٹرنیٹ کی رسائی کے حساب سے ایڈجسٹمنٹ کا حوالہ دیتے ہیں (اس وقت دنیا بھر میں تقریباً 57%)۔ Statista کے مطابق) اور کئی دوسرے عوامل، جیسے فی کس ڈویلپرز کی تعداد۔ جغرافیائی طور پر، ڈویلپرز کی تعداد بھارت اور چین میں سب سے زیادہ بڑھ رہی ہے؛ توقع ہے کہ بھارت 2023 تک ڈویلپرز کی تعداد میں امریکہ کو پیچھے چھوڑ دے گا (یہ پہلے ہی ہے C# کارنر ڈیٹا).

عام طور پر، بہت سارے پروگرامرز ہوں گے، چاہے آپ اسے کیسے دیکھتے ہیں، کیونکہ مانگ بڑھ رہی ہے۔ ویسے مانگ کے بارے میں۔

مانگ میں کیا ہے؟

مانگ کا اندازہ لگانے کے لیے، میں نے HackerRank ڈیٹا کا استعمال کیا۔ 2018 и 2019 سال.

پروگرامنگ زبانوں کے لحاظ سے، کمپیوٹر ہارڈ ویئر کو چھوڑ کر تقریباً تمام صنعتوں میں جاوا اسکرپٹ، ازگر اور جاوا کی سب سے زیادہ مانگ ہے۔ بعد میں، سب سے بڑی مانگ C/C++ کی ہے، جو قابل فہم ہے؛ ہارڈ ویئر پروجیکٹس میں وسائل کی شدت اور متعلقہ سافٹ ویئر کی کارکردگی کے لیے اب بھی تقاضے ہوتے ہیں۔

"کہاں ہیں وہ نوجوان گنڈا جو ہمیں روئے زمین سے مٹا دیں گے؟"

فریم ورک کے لحاظ سے، AngularJS، Node.js اور React سب سے زیادہ مانگ میں ہیں، اور ان کی طلب اور رسد کے درمیان سب سے بڑا فرق ہے، جس کی وضاحت اس رفتار سے ہوتی ہے جس کے ساتھ JavaScript کا ماحولیاتی نظام بدل رہا ہے، کیونکہ مثال کے طور پر ExpressJS کے لیے ، سپلائی پہلے ہی طلب سے زیادہ ہے۔

"کہاں ہیں وہ نوجوان گنڈا جو ہمیں روئے زمین سے مٹا دیں گے؟"

قابلیت کے لحاظ سے، آجر بنیادی طور پر امیدواروں سے مسئلہ حل کرنے کی مہارت کی توقع کرتے ہیں۔ تقریباً 95% آجر ان مہارتوں کو اہم بتاتے ہیں۔ پروگرامنگ زبان کی مہارت 56% کے ساتھ دوسرے نمبر پر ہے۔ ویسے، الگورتھم، ڈیٹا سٹرکچر اور دیگر کمپیوٹر سائنس کے بنیادی علم کے ساتھ بالکل بھی کوئی لائن نہیں ہے، یا تو یہ سوالنامے میں نہیں تھی، یا اب بڑے پیمانے پر تعلیمی علم کی ضرورت نہیں ہے۔

ڈیٹا بیس ڈیزائن کی 23.2% کمپنیوں کو 100 سے کم افراد اور 18.8% کمپنیوں کو 1000 سے زیادہ افراد کی ضرورت ہے۔ ہاں، ایسا لگتا ہے کہ یہ ORM اور SQL کے بارے میں ہے! منطقی، IMHO، وضاحت یہ ہے کہ بڑی کمپنیوں میں DBA کا ایک سرشار کردار ہوتا ہے، جو اس پہلو کے لیے ذمہ دار ہوتا ہے، اور اس وجہ سے یہ ممکن ہے کہ ڈویلپرز کے لیے ضروریات کو نرم کیا جائے اور تیزی سے خدمات حاصل کی جائیں۔ لیکن سسٹم ڈیزائن کے ساتھ یہ دوسری طرف ہے: 37.0% چھوٹے میں، 44.1% بڑے میں۔ ایسا لگتا ہے کہ بڑے لوگوں کو سرشار آرکیٹیکٹس ہونا چاہئے، لیکن شاید وہ صرف اس قابل نہیں ہیں کہ پیدا ہونے والے نظاموں کی تعداد کو پورا کر سکیں۔ یا پھر وہی بنیادی الگورتھم اور ڈیٹا سٹرکچر سسٹم ڈیزائن میں ڈالے جائیں تو یہ تھوڑا واضح ہو جاتا ہے۔

چھوٹی کمپنیوں کو مذکورہ بالا سسٹم ڈیزائن کی زیادہ سے زیادہ فریم ورک کی مہارت کی ضرورت ہوتی ہے، جس سے ہم کپتان کا نتیجہ اخذ کر سکتے ہیں کہ اسٹارٹ اپس کے لیے ضروری ہے کہ وہ کسی نہ کسی طرح کام کرنے والی مصنوعات کو جلد از جلد لانچ کریں، اور کل ہوگا۔

"کہاں ہیں وہ نوجوان گنڈا جو ہمیں روئے زمین سے مٹا دیں گے؟"

طلباء کیا سیکھتے ہیں؟

یہاں میں نے دوسرے کے ڈیٹا پر انحصار کیا۔ ہیکر رینک کی تحقیق.
اس بات پر غور کرنا ضروری ہے کہ اس حقیقت کے باوجود کہ یونیورسٹیوں میں پروگرامنگ کسی نہ کسی شکل میں پڑھائی جاتی ہے (میرا مطلب ہے کمپیوٹر سائنس کی بڑی کمپنیاں)، سروے میں شامل نصف سے زیادہ نے کہا کہ وہ خود تعلیم میں بھی مشغول ہیں۔

جدید طلباء یوٹیوب سے سیکھنے کو ترجیح دیتے ہیں، جبکہ پرانے ڈویلپرز سبق اور کتابوں کی طرف جھکاؤ رکھتے ہیں۔ یہ دونوں اسٹیک اوور فلو کو فعال طور پر استعمال کرتے ہیں۔ میں اس کی وجہ اس حقیقت سے کہتا ہوں کہ ویڈیو جنریشن Z کے لیے ایک مانوس میڈیا چینل ہے، جب کہ جنریشن Y کے نمائندے اب بھی بلاگرز کے بغیر ایسے دور میں ہیں۔

وہ سکھاتے ہیں کہ آجروں کی مانگ کیا ہے: JavaScript، Java، Python۔ وہ بتاتے ہیں کہ وہ C/C++ جانتے ہیں، لیکن ایسا شاید اس لیے ہے کہ یہ زبانیں یونیورسٹیوں میں پڑھانے کے لیے استعمال ہوتی ہیں۔ وہ JS فریم ورک سکھاتے ہیں، لیکن طلب سپلائی سے نمایاں طور پر زیادہ ہے، اس لیے بظاہر وہ اپنی پہلی نوکری تلاش کرنے کے بعد فعال طور پر سیکھ رہے ہیں۔

"کہاں ہیں وہ نوجوان گنڈا جو ہمیں روئے زمین سے مٹا دیں گے؟"

عام طور پر، جیسا کہ توقع کی جاتی ہے، وہ وہی سکھاتے ہیں جو مانگ میں ہے۔

طلباء اپنی پہلی ملازمت سے پیشہ ورانہ ترقی کی توقع کرتے ہیں، کام کی زندگی کا توازن دوسرے نمبر پر آتا ہے (کچھ ممالک میں پہلے) اور دلچسپ کام تیسرے نمبر پر آتے ہیں۔

پروگرامنگ زبانوں اور سافٹ ویئر کی اقسام کے ذریعہ ڈویلپر کی آبادی کی حرکیات

"کہاں ہیں وہ نوجوان گنڈا جو ہمیں روئے زمین سے مٹا دیں گے؟"

ویب ایپلیکیشنز ایک اندازے کے مطابق 16.9 ملین ڈویلپرز کے ساتھ پہلے نمبر پر ہیں۔ یہ دوبارہ سلیش ڈیٹا ہے۔ اس کے بعد بیک اینڈ سروسز (13.6 ملین)، موبائل ایپلیکیشنز (13.1 ملین) اور ڈیسک ٹاپ (12.3 ملین) ہیں۔ AR/VR اور IoT شعبے بتدریج مقبولیت حاصل کر رہے ہیں، AI/ML/Data Science میں پچھلے دو سالوں میں نمایاں اضافہ ہوا ہے۔

جاوا اسکرپٹ سب سے تیزی سے ترقی کر رہا ہے؛ اس کی کمیونٹی پہلے سے ہی سب سے بڑی ہے، صرف 2018 میں 2.5 ملین بڑھ رہی ہے۔ یہاں تک کہ وہ اس میں IoT اور ML شعبوں میں لکھنے کی کوشش کر رہے ہیں۔
ML کی بڑھتی ہوئی مقبولیت کی وجہ سے 2018 میں Python میں 2.2 ملین کا اضافہ ہوا، جہاں یہ روایتی طور پر مضبوط ہے، اس کے ساتھ ساتھ زبان سیکھنے میں آسانی اور سہولت کی وجہ سے۔

Java، C/C++ اور C# مجموعی ڈویلپر آبادی کے مقابلے میں سست رفتار سے بڑھ رہے ہیں۔ وہ اب شاذ و نادر ہی پروگرامنگ زبان ہیں جس کے ساتھ لوگ شروع کرنے کا انتخاب کرتے ہیں۔ یہاں ڈویلپرز کی مانگ سپلائی کے ساتھ کم و بیش متوازن ہے۔ مجھے لگتا ہے کہ جاوا اینڈرائیڈ کے لیے نہ ہوتا تو اور بھی آہستہ ہوتا۔

پی ایچ پی دوسری مقبول ترین ویب ایپلیکیشن پروگرامنگ زبان ہے اور یہ بھی نمایاں طور پر بڑھ رہی ہے (32 میں 2018 فیصد تک)۔ اس کی کمیونٹی کا تخمینہ 5.9 ملین ڈویلپرز ہے۔ پی ایچ پی کی پولرائزنگ ساکھ کے باوجود، یہ سیکھنا بہت آسان اور وسیع پیمانے پر استعمال ہوتا ہے۔

پچھلی نسلوں کے مقابلے آج کے نوجوان امیدوار کیسے پڑھتے ہیں؟

ہیکر رینک ڈیٹا دوبارہ۔ وہ جو اب 38 اور 53 کے درمیان ہیں ان کے پہلے پروجیکٹ کے طور پر گیمز کی فہرست۔

ویسے، میں تصدیق کرتا ہوں کہ میرا پہلا کم و بیش کام کرنے والا پراجیکٹ "tic-tac-toe" تھا جس میں لامحدود فیلڈ کے ساتھ لگاتار پانچ تک تھے، دوسرا 15 کا گیم تھا۔ میں نے یہ سب کچھ اس پر لکھا BC 010-01، وہاں تھا ولنیئس بنیادی، عرف BASIC-86 اور فوکل۔ ایہہ۔

جدید نوسکھئیے پروگرامرز (21 سال تک کی عمر کے) اپنے پہلے پروجیکٹ کے طور پر کیلکولیٹر اور ویب سائٹس لکھتے ہیں۔

جنریشن X کے نمائندوں میں، تقریباً نصف نے 16 سال کی عمر سے پہلے کوڈ لکھنا شروع کر دیا، بہت سے لوگوں نے 5 سے 10 سال کی عمر میں ایسا کیا (بنیادی طور پر وہ جو اب 35 سے 45 سال کے درمیان ہیں)۔ یہ کم و بیش واضح ہے کہ کیوں: معلومات کے بہت کم ذرائع تھے، اور پروگرامر بننے کے لیے آپ کو واقعی اسے بری طرح سے چاہنا تھا، اور جو لوگ واقعی یہ چاہتے تھے انہوں نے ابتدائی طور پر پروگرامنگ شروع کردی۔ وہ لوگ جو اسے زیادہ نہیں چاہتے تھے اب ان کا پیشہ مختلف ہے، لہذا سماجیات میں تصویر بالکل اس طرح ہے۔

"کہاں ہیں وہ نوجوان گنڈا جو ہمیں روئے زمین سے مٹا دیں گے؟"

آج کے نوجوان امیدواروں کا صرف 20% 16 سال کی عمر سے پہلے پروگرامنگ شروع کر دیتے ہیں، اکثریت کہیں 16 اور 20 کے درمیان۔ لیکن ان کے لیے سیکھنا بھی بہت آسان ہے؛ اب یہ بہت زیادہ قابل رسائی ہے۔

نتائج

مجھے ابھی تک اس سوال کا کوئی ٹھوس جواب نہیں ملا کہ آیا ایک ابتدائی ویب بیک اینڈ ڈویلپر کو آج SQL کی ضرورت ہے، لیکن میں نے پروگرامرز کی جدید آبادی کے بارے میں اپنے خیال کو درست کر لیا ہے۔

ڈویلپرز کی اگلی نسل عام لوگ ہیں، کچھ طریقوں سے وہ پچھلی نسلوں سے مشابہت رکھتے ہیں؛ رہائش کے مسئلے نے انہیں صرف خراب کیا۔ وہ اس مطالبہ کو پورا کرتے ہیں جو آجروں کے ذریعہ پیدا ہوتا ہے۔ زیادہ آسان ٹولز اور فریم ورک کی وجہ سے پیشے میں داخل ہونے کی حد کم ہو گئی ہے جو آپ کو تیزی سے نتائج حاصل کرنے کی اجازت دیتے ہیں۔ اب زیادہ لوگ پروگرامر بن رہے ہیں؛ ڈیجیٹل جنریشن (جنریشن Z) پیدائش سے ہی ٹیکنالوجی میں رہ رہی ہے؛ ان کے لیے یہ ایک عام پیشہ ہے، دوسروں سے بدتر نہیں۔

وہ لوگ جو جانتے ہیں کہ L1 کیش لیٹینسی ~ 4 سائیکل ہے، اور یہ کہ کیش لائنوں کو غیر ضروری طور پر کریش نہ کرنا بہتر ہے، کل آبادی کے سائز کے فیصد کے طور پر چھوٹے ہوتے جا رہے ہیں۔ تاہم، انہیں نوکری حاصل کرنے کی فکر نہیں کرنی چاہیے؛ کسی کو، آخر کار، کم درجے کی چیزیں لکھنی پڑتی ہیں جہاں اس کی ضرورت ہے۔ اسی طرح، وہ لوگ جو نظام کے ڈیزائن کے بارے میں گہری بنیادی معلومات رکھتے ہیں اور اسے خونی عملی لڑائیوں میں حاصل کرتے ہیں، اور صرف ایک کارگو فرقے کی پیروی نہیں کرتے ہیں، انہیں فکر نہیں کرنی چاہیے۔ کیونکہ ٹیموں میں زیادہ لوگ ہوں گے جو "صرف کوڈ لکھ سکتے ہیں" اور "صرف" فریم ورک استعمال کر سکتے ہیں، اور "بے مقصد زندگی گزارنے والے سالوں کے دردناک درد سے بچنے کے لیے" (c) انہیں صرف ایسے لوگوں سے متوازن رہنے کی ضرورت ہوگی۔ .

نرم مہارتیں دھیرے دھیرے مطلوبہ کے زمرے سے لازمی کی طرف منتقل ہو رہی ہیں (میرے پاس اس کی تصدیق کے لیے کوئی معروضی ڈیٹا نہیں ہے، صرف عملی مشاہدہ)۔ پروگرامرز کی تعداد بڑھ رہی ہے، اور ان سب کو براہ راست یا بالواسطہ کنٹرول کے ذریعے نتائج حاصل کرنے کے لیے ہدایت کی جانی چاہیے، اور یہ بالکل وہی ہے جس کے لیے نرم مہارتوں کی ضرورت ہے۔

"انٹر آئی ٹی" مجھے ایک مقامی علاقائی کہانی لگتی ہے، جو ان جگہوں کے لیے عام ہے جہاں پروگرامر کی آمدنی موازنہ کرنے والے "نان آئی ٹی" ماہر کی آمدنی سے نمایاں طور پر مختلف ہوتی ہے۔ منسک میں، جہاں میں رہتا ہوں، یہ عام طور پر ایک عوامی تحریک ہے، میں ہر روز نئے کورسز کے اشتہارات دیکھتا ہوں کہ مائشٹھیت آئی ٹی میں کیسے داخل ہوں، اور صفائی کرنے والی کمپنیاں پروگرامرز کو اس پیغام کے ساتھ نشانہ بناتی ہیں کہ "کیا آپ اس تصویر کا کوڈ سمجھتے ہیں؟ اس کا مطلب ہے کہ آپ اپنے اپارٹمنٹ کو صاف نہ کرنے کے متحمل ہوسکتے ہیں، ہم آپ کے لیے سب کچھ کریں گے۔‘‘ کچھ ہندوستان میں بھی بظاہر یہی کچھ ہو رہا ہے۔ میرے پاس بھی یہ ثابت کرنے کے لیے کوئی ڈیٹا نہیں ہے۔

عام طور پر، میری رائے میں، کچھ بھی پروگرامرز کی آبادی کو خطرہ نہیں ہے. اس حقیقت کے بارے میں بڑبڑانے کا کوئی فائدہ نہیں ہے کہ آپ کو دن کے وقت حقیقی پروگرامرز نہیں مل سکتے ہیں، اور یہ کہ امیدوار اکثر "کچھ نہیں جانتے"۔ وہ اتنے ہی ہوشیار اور قابل ہیں، شاید اس سے بھی زیادہ ہوشیار اور "حقیقی پروگرامرز" سے زیادہ قابل؛ وہ صرف وہ علم حاصل کرتے ہیں جس کی تیزی سے بڑھتی ہوئی مارکیٹ کو ان کی ضرورت ہوتی ہے اور بعد میں اس چیز کو روک دیتے ہیں جس کی انہیں ابھی تک ضرورت نہیں تھی اور وہ صحیح فائدہ نہیں پہنچائیں گے۔ ابھی. وہ سیکھیں گے جب انہیں ضرورت ہو گی، کیونکہ وہ اب بھی سیکھنا چاہتے ہیں۔ شاید، ہر کوئی اس کے قابل نہیں ہوگا، لیکن ہر کسی کو اس کی ضرورت بھی نہیں ہوگی؛ مستقبل قریب میں، مارکیٹ آسانی سے ایسے لوگوں کو قبول کرے گی جو کسی فریم ورک کا استعمال کرتے ہوئے ایک اور ایپلیکیشن تصور کو تیزی سے اکٹھا کرسکتے ہیں۔

سروے میں صرف رجسٹرڈ صارفین ہی حصہ لے سکتے ہیں۔ سائن ان، برائے مہربانی.

کیا ویب بیکنڈر انٹرویوز کے لیے SQL علم کی ضرورت ہوتی ہے؟

  • ہاں، میں اس کا مطالبہ کرتا ہوں کیونکہ مجھے کام کے لیے اس کی ضرورت ہے۔

  • ہاں، میں کرتا ہوں، حالانکہ کام پر اس کی ضرورت کم ہی ہوتی ہے۔

  • نہیں، مجھے اس کی ضرورت نہیں ہے، ہمارے پاس NoSQL ہے۔

  • نہیں، مجھے اس کی ضرورت نہیں ہے، ORM سب کچھ کرے گا۔

320 صارفین نے ووٹ دیا۔ 230 صارفین غیر حاضر رہے۔

ماخذ: www.habr.com

نیا تبصرہ شامل کریں