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