CodeGym /جاوا بلاگ /Random-UR /سینئر ڈویلپر بننا کیسا ہے۔ کردار کے لیے ایک مختصر رہنما
John Squirrels
سطح
San Francisco

سینئر ڈویلپر بننا کیسا ہے۔ کردار کے لیے ایک مختصر رہنما

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

سینئر ڈویلپر کون ہے؟

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

سینئر ڈویلپر کی کیا ذمہ داریاں ہیں؟

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

ایک سینئر ڈویلپر کے لیے تقاضے

یہاں ایک سینئر ڈیولپر کے لیے سب سے عام اور عام تقاضوں کی فہرست ہے جو آپ کو یہ نوکری حاصل کرنے کے لیے پوری کرنی چاہیے۔ یقیناً، تقاضے کمپنی کی خدمات حاصل کرنے کی پالیسیوں، پراجیکٹ پر استعمال ہونے والی ٹیکنالوجیز اور آپ کی پروگرامنگ زبان کے لحاظ سے مختلف ہوں گے۔
  • سافٹ ویئر ڈویلپمنٹ اور اس کی ٹیکنالوجیز کا وسیع عام علم؛
  • جاوا کا مضبوط علم؛
  • انٹرپرائز ایپلی کیشنز کی ڈیزائننگ، تعمیر اور جانچ میں تجربہ؛
  • جاوا کے مشہور فریم ورک جیسے اسپرنگ، اسپرنگ بوٹ، یا جاوا EE، JSF اور دیگر کا گہرائی سے علم؛
  • آبجیکٹ اورینٹڈ ڈیزائن (OOD) کا تجربہ۔
یہ پروگرامنگ سے متعلق صرف بنیادی ضروریات ہیں، لیکن سینئر ڈیولپر کی نوکری حاصل کرنے کے لیے اکثر تکنیکی معلومات کا ہونا کافی نہیں ہوتا، کیونکہ بہت سی دوسری اہم مہارتیں ہیں جو ایک مضبوط سینئر کو تشکیل دیتی ہیں۔ یہاں سینئر ڈیولپر کے لیے عام طور پر ذکر کردہ غیر تکنیکی تقاضے ہیں۔
  • اچھا وفد اور وقت کے انتظام کی مہارت؛
  • مسئلہ حل کرنے کی صلاحیتیں؛
  • معلومات اور اپنی بات کو آگے پہنچانے کی بہتر مہارت؛
  • مضبوط تحریری اور زبانی مواصلات کی مہارت؛
  • ڈیڈ لائن کو پورا کرنے اور حکمت عملی سے سوچنے کی صلاحیت۔

سینئر ڈویلپرز کتنا کماتے ہیں؟

جیسا کہ آپ جانتے ہوں گے، جب امریکہ میں کوڈنگ کی نوکریوں کے لیے تنخواہ کی بات آتی ہے، تجربہ کار سینئر ڈویلپر کے لیے، آسمان ایک حد ہے، کیونکہ گوگل، فیس بک، ایمیزون، ایپل، اور مائیکروسافٹ جیسی کمپنیاں سافٹ ویئر انجینئرز کو بہت زیادہ معاوضہ دے رہی ہیں ۔ مثال کے طور پر، گوگل میں، لیول 7 پر ایک سافٹ ویئر انجینئر، جسے آپ ایک ڈویلپر کے طور پر حاصل کر سکتے ہیں سب سے زیادہ سمجھا جاتا ہے، ایک سال میں کل $608,000 کما سکتا ہے۔ لیکن آئیے اوسط اعداد و شمار کے ذریعے جائیں۔ Glassdoor کے مطابق ، امریکہ میں اوسط سینئر پروگرامر سالانہ تقریباً 121,000 ڈالر کماتا ہے، جو کہ درمیانے درجے کے کوڈر کی سالانہ 71,000 ڈالر کی تنخواہ اور جونیئر ڈیویس کی سالانہ اوسط اجرت $63,502 کے مقابلے میں کافی زیادہ ہے۔ PayScale کی ایک رپورٹ ، 10-19 سال کا تجربہ رکھنے والا ایک سینئر ڈویلپر 5,523 تنخواہوں کی بنیاد پر اوسطاً $109,122 کا معاوضہ حاصل کرتا ہے۔ اپنے آخری کیریئر میں (20 سال اور اس سے زیادہ)، ملازمین اوسطاً $111,432 کا مجموعی معاوضہ حاصل کرتے ہیں۔ جرمنی میں ، PayScale کے مطابق، 10 سال سے زیادہ کا تجربہ رکھنے والا ایک سینئر سافٹ ویئر ڈویلپر €63,638 کا کل اوسط معاوضہ حاصل کرتا ہے۔ فرانس میں ، ایک سینئر کی اوسط تنخواہ €54,982 ہے۔ ہمیشہ کی طرح، جب بات خالصتاً تعداد کی ہو، تو امریکی پروگرامرز یورپ اور دیگر جگہوں پر اپنے ساتھیوں سے آگے ہیں۔ نوٹ کرنے کا ایک اور دلچسپ نکتہ یہ ہے کہ امریکہ میں سینئر پروگرامرز مڈ لیول کوڈرز سے نمایاں طور پر زیادہ کماتے ہیں۔ شاید، اس کی بہترین وضاحت اس مفروضے کے ساتھ کی جائے گی کہ امریکہ میں واقعی پیشہ ور اور تجربہ کار سینئر کوڈرز کی اکثریت امریکی ٹیک جنات کے لیے کام کرتی ہے، جو کہ دنیا کے معروف سافٹ ویئر ورک فورس خرچ کرنے والے ہیں۔

کیریئر کے تناظر

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

سینئر ڈویلپر بننا کیسا ہے۔ آراء

فطری طور پر، جب عام طور پر سینئر ڈیولپر کی پوزیشن کی بات آتی ہے، تو زیادہ تر بحثیں دو اہم موضوعات پر مرکوز ہوتی ہیں جن پر ڈویلپر صرف بحث کرنے کے خواہشمند ہوتے ہیں: کیا چیز واقعی آپ کو سینئر دیو بناتی ہے اور کتنی جلدی آپ خود کو سینئر کہنا شروع کر سکتے ہیں۔ "یہ کچھ لوگوں کو حیران کر سکتا ہے، لیکن سینئر سطح کی ملازمتوں میں مسلسل درخواست دہندگان کو 5 سے 8 سال کے درمیان تجربہ کرنے کا کہا جاتا ہے۔ کچھ ایسے تھے جنہوں نے 10 سال یا اس سے زیادہ کے لیے پوچھا، لیکن زیادہ نہیں۔ ایک سینئر ڈویلپر کے طور پر، ایک کمپنی آپ سے یہ توقع کرے گی کہ آپ ایک مبہم خیال لے سکیں گے، اس کی وضاحت کریں گے، ترقی کی منصوبہ بندی کریں گے، ایک ٹیم کو شامل کریں گے اور اس کی تکمیل تک عمل کریں گے۔ جبکہ، ایک انٹرمیڈیٹ ڈویلپر سے، عام طور پر، نگرانی کے بغیر، ان کو تفویض کردہ انفرادی کاموں کو انجام دینے، ٹیم کے اندر کام کرنے اور کچھ رہنمائی کرنے کی توقع کی جاتی ہے۔ لیکن ضروری نہیں کہ شروع سے ختم ہونے تک پورے عمل کو کنٹرول کیا جائے،" جان مورس، 10 سال سے زیادہ کا تجربہ رکھنے والے ایک سینئر پروگرامر، اپنا نظریہ بتاتے ہیں ۔ "ایک سینئر ڈویلپر کے ساتھ، میں ایک اعلی سطحی/زیادہ مبہم مقصد دے ​​سکتا ہوں اور وہ اس کی وضاحت کر سکتے ہیں، عملدرآمد کے لیے ایک منصوبہ بنا سکتے ہیں، اسے میرے ذریعے چلا سکتے ہیں، پھر اسے کم سے کم ہاتھ سے پکڑ کر لاگو کر سکتے ہیں۔ لہذا جب آپ کو اعتماد محسوس ہوتا ہے کہ آپ ایک مبہم خیال لے سکتے ہیں اور اسے مکمل طور پر پایہ تکمیل تک پہنچا سکتے ہیں تو آپ ایک سینئر دیو ہیں۔ نوٹ کریں کہ اس کا مطلب یہ نہیں ہے کہ آپ کبھی بھی مدد نہیں مانگیں گے، کیونکہ ہر کوئی وقتاً فوقتاً ایسا کرتا ہے، لیکن آپ اس عمل کو آگے بڑھا سکتے ہیں بغیر میں آپ کو بیبیسیٹ کراؤں،" وائز ٹیلی میٹری کے شریک بانی اور سی ای او ایرک وائز کہتے ہیں ۔ اور آئیے اسے جرمنی کے ایک تجربہ کار سافٹ ویئر ڈویلپر پابلو اولیوا کے اس خوبصورت اقتباس کے ساتھ سمیٹتے ہیں: "میں نے جن سینئر ڈویلپرز کے ساتھ کام کیا ہے، ایسا لگتا ہے کہ ایک بہت بڑا ٹول بیلٹ ہے۔ جب بھی مسائل پیدا ہوئے، ان کے پاس رجوع کرنے کے لیے کافی وسائل تھے۔ وہ ان ٹولز اور زبانوں کو اچھی طرح جانتے تھے جو ہم روزانہ کی بنیاد پر استعمال کرتے ہیں، اور جانتے تھے کہ جب وہ کچھ نہیں جانتے تھے تو کہاں تلاش کرنا ہے (بے مقصد گوگل کرنے اور پہلی کوشش میں صحیح دستی صفحہ پر جانے میں فرق ہے)۔ پرانے حل کے اس علم اور نئے حل تلاش کرنے میں مہارت نے انہیں اپنے ساتھیوں کی طرف سے بہت عزت بخشی، جو اکثر تجاویز کے لیے ان سے رجوع کرتے تھے۔ وہ، بدلے میں، یہ بھی جان لیں گے کہ کب خود کو دیکھنا چھوڑنا ہے اور کسی ساتھی سے مدد کے لیے پوچھنا ہے۔ کچھ کے پاس سرٹیفیکیشن تھے، کچھ کے پاس نہیں تھے۔ کچھ گریجویشن کر چکے تھے، کچھ نہیں ہوئے تھے۔ لیکن وہ ہمیشہ اپنی ٹیموں کے لیے ایک حوالہ نقطہ تھے (اور یہاں تک کہ دوسری ٹیموں کے لوگوں کے لیے بھی، کچھ خاص طور پر شاندار سینئر ڈیوس کے لیے)۔ تو، کتنے لوگ پھنس جانے پر آپ سے مدد مانگنے کے بارے میں سوچتے ہیں؟"
تبصرے
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION