اہم ٹکنالوجی ایک اچھے پروگرامر اور ایک عظیم کے درمیان فرق کیسے بتائیں

ایک اچھے پروگرامر اور ایک عظیم کے درمیان فرق کیسے بتائیں

کل کے لئے آپ کی زائچہ

اگر تحریری کوڈ ایک سائنس ہوتا تو ، تمام ڈویلپر ایک جیسے ہوتے۔

بالکل اسی طرح جیسے آرٹ میں ، کسی بھی دو ڈویلپرز کے پاس ایک ہی سوچ یا ادراک یا ساپیکش سچائی نہیں ہوتی ہے جبکہ اسی نتیجے کے لئے کوڈ لکھتے ہیں۔

اگرچہ کچھ افراد مطلوبہ نتائج پیدا کرنے کے لئے جدوجہد کرتے ہیں ، لیکن یہ قدرتی طور پر سامنے آجاتا ہے ، گویا اس وقت اگر کوئی ایپی فینی ان سے ٹکرا جاتا ہے تو وہ پروگرام بناتے ہیں یا کسی مسئلے کو حل کرنے بیٹھ جاتے ہیں۔

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

اگرچہ اس مطالعے میں خامیاں تھیں ، ان کا محاسبہ کرنے کے بعد بھی ، اعداد و شمار اب بھی بہترین پروگرامرز اور بدترین کے مابین 10 گنا سے زیادہ کا فرق ظاہر کرتے ہیں۔

ارنکیہ میں ، ہمارے پاس ڈویلپرز کی خدمات حاصل کرنے میں پانچ سال سے زیادہ کا تجربہ ہے ، اور یہ اتنا ہی چیلنجنگ ہے جتنا کہ پہلے دنوں میں کسی اچھے پروگرام سے ایک بہترین پروگرامر کو بتانا تھا۔

یہ کوئی انوکھا چیلنج نہیں ہے۔ ہم نے دیکھا ہے کہ بہت سارے بڑے کاروباری اداروں اور صنعتوں کی کمپنیاں اسی مسئلے کے ساتھ جدوجہد کرتی ہیں۔ بہت سے لوگوں نے مختلف ٹیسٹوں کے ذریعہ فلٹرنگ کا عمل تیار کیا ہے ، لیکن کیا آپ واقعی کسی فنکار کی جانچ کرسکتے ہیں؟

سیدھا جواب نہیں ہے۔

اچھا کوڈ لکھنا صرف یہ عنصر نہیں ہوتا کہ یہ فیصلہ کرتے وقت کہ پروگرامر ایک بہت بڑا وسیلہ ہے یا نہیں۔

لیکن ایک راستہ ہے۔ کچھ اور اشارے ہیں (کوڈ رائٹنگ کے معیار کے علاوہ) جو عظیم پروگرامرز کو اچھے لوگوں سے الگ کرتے ہیں۔

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

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

میرے تجربے میں ، اگرچہ ، میں کسی پروگرامر کی تعریف کو ایک اچھے پروگرامر کی تعریف اور ایک اچھے پروگرامر کی تعریف کی ایک عظیم سے تعریف کرتا ہوں۔

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

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

تو اہم سوال ، آپ ایک عظیم پروگرامر کی شناخت کیسے کرتے ہیں؟ یہ شخص تیزی سے آپ کی پریشانی کی جڑ میں جا سکے گا۔ ہوسکتا ہے کہ وہ فوری طور پر کوئی حل فراہم نہ کرے لیکن جلد اور مؤثر طریقے سے حل کی طرف جانے کی راہ پر گامزن ہوسکتا ہے۔