کیا 10X انجینئر ایک افسانہ ہے؟
حقیقت یہ ہے کہ کچھ لوگ پروگرامنگ میں دوسروں سے بہتر ہوتے ہیں۔
ایک ٹیک کمپنی میں اپنی سابقہ پوزیشن میں، میں حیران رہ گیا ہوں کہ میری ٹیم کے کچھ لوگ سب کچھ کیسے کرنا جانتے ہیں۔
یہاں تک کہ یونیورسٹی میں اپنے وقت کے دوران، ہیکاتھنز اور انٹرنشپ میں حصہ لیتے ہوئے، میں چند انتہائی باصلاحیت ڈویلپرز سے ملنے کے قابل ہوا جن سے میں نے بہت کچھ سیکھا ہے۔
اس آرٹیکل میں، میں 10X انجینئر کے بارے میں لوگوں میں پائی جانے والی کچھ غلط فہمیوں پر بات کروں گا۔ ہم یہ دیکھنے کے بعد کہ 10X انجینئر کیا ہوتا ہے۔ نہیں، ہم آپ کو خود 10X انجینئر بننے کے لیے کچھ بہترین مشورے دیں گے جو میں آپ کو دے سکتا ہوں۔
10X انجینئر کیا ہے؟
بہت سے ڈویلپرز 10X انجینئر کی اصل تعریف کے بارے میں بحث کریں گے۔ لیکن وضاحت کی خاطر، اب ایک سادہ سی تعریف بیان کرنے کی کوشش کرتے ہیں۔
ایک 10X انجینئر ایک سافٹ ویئر ڈویلپر ہے جو اپنے دس ساتھیوں کی طرح نتیجہ خیز ہونے کے قابل ہے۔
10X انجینئر کا خیال آپ کے خیال سے پہلے پیدا ہوا ہوگا۔
A ریسرچ پیپر 1968 سے "تحقیقاتی، تجرباتی مطالعہ جو آن لائن اور آف لائن پروگرامنگ کی کارکردگی کا موازنہ کرتے ہیں" نے سب سے پہلے یہ خیال پیش کیا کہ کچھ بہترین پروگرامرز بدترین پروگرامرز سے بہتر انداز میں ترتیب کو انجام دیتے ہیں۔ اگرچہ یہ وہ تعریف نہیں ہے جس پر آج اتفاق کیا گیا ہے، 10X انجینئر کا خیال جلد ہی اکیڈمی سے باہر پھیل گیا۔
چند سال بعد، کلاسک کتاب The پورانیک انسان مہینہ 10X انجینئر کے خیال کو مزید واضح کیا۔ مصنف فریڈ بروکس تجویز کرتا ہے۔ سوفٹ ویئر کی نشوونما ٹیموں کو سرجیکل ٹیموں کی طرح تشکیل دیا جاسکتا ہے۔
اس ٹیم میں، آپ کے پاس معاون پروگرامرز یا "نرسوں" کے ساتھ ایک چیف پروگرامر یا "سرجن" ہوگا۔
اگرچہ اس مشابہت کو سمجھنا آسان ہے، لیکن مجھے یقین ہے کہ سافٹ ویئر ڈویلپمنٹ کی موجودہ حالت پر لاگو ہونے پر یہ قدرے سادہ اور پرانا ہے۔
ٹیک ٹیم میں ٹیم کی حرکیات سرجن سے بہت مختلف ہوتی ہے۔ ایک فرد کے زیادہ تر کام کرنے یا صرف سب سے مشکل کام کرنے کے اس خیال نے غلط بیانی کی ہے کہ میرے خیال میں 10X انجینئر ہونا چاہیے۔
عام غلط فہمیاں
جیسا کہ 10X انجینئر کا خیال پورے ٹیک دائرے میں پھیل گیا، مینیجرز کی اکثریت اکثر غلط تشریح کرتی ہے کہ "10X" سے ہمارا کیا مطلب ہے۔
ایک عام غلط فہمی یہ ہے کہ 10X انجینئر اپنے ساتھیوں کے مقابلے دس گنا کوڈ تیار کرتے ہیں۔ یہ محض سچ نہیں ہے۔
جبکہ ایک 10X انجینئر ممکنہ طور پر اپنے ساتھیوں سے زیادہ کوڈ تیار کر سکتا ہے، لیکن مقدار درست میٹرک نہیں ہے۔ ایک پروگرامر کا تصور کریں جو کوڈ کی ایک ہزار لائنیں اس کارکردگی میں خرچ کرتا ہے جو سو سے بھی کم وقت میں کیا جا سکتا ہے۔ اسی طرح، ایک 10X انجینئر دس گنا تیزی سے کوڈ نہیں کرتا!
10X انجینئرز کے بارے میں ایک اور غلط فہمی یہ ہے کہ وہ صرف اپنے کوڈنگ کے علم کی وجہ سے بہت اچھے ہیں۔ ایک بار پھر، یہ غلط میٹرک کو دیکھنے کا ایک اور معاملہ ہے۔
جو چیز ایک 10X انجینئر کو اتنا قیمتی بناتی ہے وہ یہ ہے کہ وہ اپنی ٹیم اور تنظیم میں دس گنا قدر کیسے بڑھاتا ہے۔ ایک 10X انجینئر اپنے کوڈنگ علم کو استعمال کرنے اور اسے کمپنی کی ضروریات کے ساتھ ہم آہنگ کرنے کی صلاحیت کی وجہ سے ناگزیر ہے۔
مینیجرز کو ایسے انجینئرز کی تلاش کرنی چاہیے جو مسائل حل کر سکیں اور دوسروں کے ساتھ اچھی طرح کام کر سکیں۔ کوڈنگ کے علم سے ہٹ کر، 10X انجینئرز کو اپنے آس پاس کے ہر فرد کے کام کو بلند کرنے کے قابل ہونا چاہیے۔
10x انجینئر بننے کے پانچ طریقے
یہ سیکشن آپ کے لیے ہے اگر آپ ایک مینیجر ہیں جو اپنی اگلی ملازمت تلاش کر رہے ہیں، یا صرف ایک انجینئر ہیں جو 10X انجینئر بننے کی خواہش رکھتا ہے۔
10X انجینئر کی کچھ اہم عادات اور خصائص یہ ہیں:
وہ اپنے ٹیک اسٹیک سے زیادہ سے زیادہ فائدہ اٹھانا جانتے ہیں۔
اپنے ٹولز کو جاننا شاید سب سے واضح مشورہ ہے جو میں آپ کو دے سکتا ہوں۔ تاہم، بہت سے ڈویلپرز اب بھی مؤثر طریقے سے کام کرنے کا طریقہ سیکھ کر اپنے ورک فلو کو بہتر بنا سکتے ہیں۔
زیادہ تر 10x انجینئرز جن کے ساتھ میں نے کام کیا ہے وہ ٹرمینل کے ارد گرد اپنا راستہ جانتے ہیں۔ اگرچہ یہ ابتدائیوں کے لیے سیکھنے کا تھوڑا سا منحنی خطوط ہو سکتا ہے، لیکن پرواز کے دوران شیل کمانڈز بنانے کے طریقے کو سمجھنے سے آپ کو طویل مدت میں اپنا کام بہت تیزی سے کرنے میں مدد ملے گی۔
10x انجینئرز تھوڑا سست ہونے سے بھی فائدہ اٹھا سکتے ہیں۔ میں آپ کو بتاتا ہوں کہ میرا کیا مطلب ہے۔
تصور کریں کہ پروڈکشن کے لیے نئے وعدوں کو آگے بڑھانے کے لیے ہر روز دستی طور پر کمانڈز کا ایک سلسلہ انجام دینا پڑتا ہے۔ ایک 10x انجینئر کو بار بار کام کرنے سے گریز کرنا چاہئے۔ وہ زیادہ سے زیادہ دن کو خودکار بنانے کی اضافی کوشش کرتے ہیں۔
بہترین انجینئرز کو بھی طویل مدت میں سوچنا چاہیے۔ اگر آپ اسٹارٹ اپ کے لیے کام کر رہے ہیں، تو یہ فوری اور آسان حل پر توجہ مرکوز کرنے کے لیے پرکشش ہوسکتا ہے۔ تاہم، ہو سکتا ہے کہ یہ حل نیچے کی سطح پر نہیں بڑھ سکتے۔
وہ کبھی سیکھنا بند نہیں کرتے
ایک عظیم ڈویلپر سیکھنا کبھی نہیں روکتا۔ بہترین انجینئرز اپنے مصروف کام کے دن سے نئے تصورات، زبانوں اور فریم ورک کو آزمانے کے لیے وقت نکالتے ہیں جنہیں وہ اپنے کام پر لاگو کرنے کی کوشش کر سکتے ہیں۔
ایک 10x انجینئر کو تجسس کا صحت مند احساس برقرار رکھنا چاہیے۔ وہ اکثر اپنے آپ سے پوچھتے ہیں، "کیا یہ بہتر طریقے سے کیا جا سکتا ہے؟" یا "کیا اس مسئلے کو حل کرنے کا کوئی آسان یا زیادہ موثر طریقہ ہے؟"
اس طرح، ایک 10x انجینئر کو خود سیکھنے کے فن میں مہارت حاصل کرنی چاہیے۔ سیکھنا سیکھنا تیز رفتار ماحول میں تیز رہنے کا بہترین طریقہ ہے۔
وہ جانتے ہیں کہ اپنا وقت کیسے گزارنا ہے۔
ایک عظیم سافٹ ویئر انجینئر فیصلے کرنے میں بہت اچھا ہوتا ہے، خاص طور پر اپنے وقت کے ساتھ کیا کرنا ہے۔
10X انجینئرز کو شاذ و نادر ہی اوسط انجینئر سے زیادہ گھنٹے کام کرنے کی ضرورت ہوتی ہے۔ انجینئرز کو معلوم ہونا چاہئے کہ کب پیچھے ہٹنا ہے اور بعض درخواستوں کو کب نہیں کہنا ہے۔ انہیں معلوم ہونا چاہیے کہ کون سے کام خود کرنے ہیں اور کون سے کام سونپنے ہیں۔
مؤثر انجینئرز کو یہ جاننے کے طریقے میں مہارت حاصل کرنی چاہئے کہ آیا کوئی کام جلدی کرنے کے قابل ہے یا نہیں۔ ذہن میں رکھنے کے لیے ایک ذہنی ماڈل Pareto اصول ہے۔
اصول بتاتا ہے کہ آپ کے کام کی 80% قیمت آپ کی 20% کوششوں سے آتی ہے۔ دوسرے لفظوں میں، تمام کام برابر نہیں ہوتے۔
وہ مناسب رہنمائی کی تلاش میں ہیں۔
ایک عظیم انجینئر صنعت کے ایک تجربہ کار تجربہ کار سے بہت کچھ سیکھ سکتا ہے۔ 10X انجینئر اکثر اپنے علم کو آگے بڑھانے کے لیے اپنے آپ کو اندر اور باہر کام کے لیے رہنمائی کی تلاش میں پاتے ہیں۔
اسی طرح، 10X انجینئرز اپنے ساتھی ساتھیوں کے لیے رہنمائی کا کردار ادا کرنے سے فائدہ اٹھائیں گے۔ اس کے مزید نوسکھئیے ساتھیوں کے لیے کھلے رہنے سے پوری ٹیم کو اوپر اٹھایا گیا ہے۔
وہ کاروبار کو سمجھتے ہیں۔
سادہ الفاظ میں، سافٹ ویئر انجینئرنگ کمپیوٹرز کے لیے حقیقی دنیا کے مسئلے کو حل کرنے کا صرف ایک طریقہ ہے۔ اس بات کو ذہن میں رکھتے ہوئے، ایک موثر انجینئر کو اس مسئلے کا ماہر بننا چاہیے جسے وہ حل کرنے کی کوشش کر رہے ہیں۔
ایک انجینئر کے طور پر، آپ جس کاروبار یا صنعت کا حصہ ہیں اس کی سمجھ حاصل کرنے کی کوشش کرنا ایک زبردست خیال ہے۔ ایک 10x انجینئر کو دوسرے محکموں کے ساتھ میٹنگز میں ایک فعال شریک ہونا چاہیے۔
اگر انجینئر یہ سمجھنے کی کوشش کرتا ہے کہ دوسرے محکمے کاروبار کے تناظر میں کیا کرتے ہیں، تو وہ ایک مؤثر رابطہ کار بن جائیں گے۔ مؤثر مواصلت آپ کی ٹیم کو کاروباری تقاضوں اور پروجیکٹ کی وضاحتوں کو غلط فہمی سے روکنے میں مدد کرے گی۔
نتیجہ
امید ہے کہ اب آپ کے پاس ایک واضح تصویر ہوگی کہ 10X انجینئر کیسا لگتا ہے۔ آپ کو یہ بھی سمجھنا چاہئے کہ 10X انجینئر کیا نہیں ہے۔
مندرجہ بالا مشورہ، یقینا، صرف ایک عام رہنما خطوط ہے جو کسی بھی سافٹ ویئر انجینئرنگ کے کردار پر لاگو ہوسکتا ہے۔ اگر آپ یہ جاننا چاہتے ہیں کہ آپ بہترین کیسے بن سکتے ہیں۔ ڈی او اوپس انجینئر، مکمل اسٹیک ڈویلپر، یا ڈیٹا سائنسدان، آپ کا بہترین آپشن سیکھنے اور بنانے کے مواقع تلاش کرنا ہے۔
اس بارے میں سوچیں کہ آیا آپ کی موجودہ پوزیشن ایک اچھا سیکھنے کا ماحول ہے۔ شاید آپ سائیڈ پروجیکٹس پر کام کرنے میں زیادہ وقت گزارنا چاہتے ہیں جو آپ کو اپنے موجودہ ٹیک اسٹیک سے باہر کی ٹیکنالوجیز کو دریافت کرنے کی اجازت دے گا۔ یہ صرف کچھ تجاویز ہیں جن پر عمل کر کے آپ ٹیک میں فائدہ حاصل کر سکتے ہیں۔
آپ کے خیال میں انجینئرز کے خواہشمندوں کے لیے سب سے مفید مشورہ کیا ہے؟
جواب دیجئے