CodeGym /جاوا بلاگ /Random-UR /سب سے مشکل حصہ زبان سیکھنا نہیں ہے، بلکہ اپنے دماغ کو مسا...
John Squirrels
سطح
San Francisco

سب سے مشکل حصہ زبان سیکھنا نہیں ہے، بلکہ اپنے دماغ کو مسائل کے حل کے لیے تار لگانا ہے - کوڈ جیم یونیورسٹی کے سرپرست ایڈورڈ ایزراٹیل کے ساتھ انٹرویو

گروپ میں شائع ہوا۔
CodeGym یونیورسٹی میں " جاوا فنڈامینٹلز " کورس کے سرپرست ایڈورڈ ایزراٹیل سے ملیں ۔ وہ کینیڈا سے ایک ڈویلپر ہے جو واقعی اپنے پیشے میں ہے۔ CodeGym میں شامل ہونے سے پہلے، اس کے ذہن میں طویل عرصے سے پروگرامنگ میں ایک سرپرست بننے کا خیال تھا۔ اس متن میں، وہ اپنے پیشہ ورانہ پس منظر اور رہنمائی کے بارے میں بات کرتا ہے، زبانیں سیکھنے کے لیے آپ کو کتنا وقت درکار ہوتا ہے، اور جن پہلوؤں پر آپ کو اپنی پڑھائی کے آغاز میں توجہ مرکوز کرنے کی ضرورت ہوتی ہے۔ سب سے مشکل حصہ زبان سیکھنا نہیں ہے، بلکہ اپنے دماغ کو مسائل کے حل کے لیے تار لگانا ہے - کوڈ جیم یونیورسٹی کے سرپرست ایڈورڈ ایزراٹیل کے ساتھ انٹرویو - 1

آپ نے ڈویلپر بننے کا انتخاب کیوں کیا؟

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

آپ نے کن کمپنیوں کے لیے کام کیا ہے، اور آپ نے کن منصوبوں میں حصہ لیا؟

اپنی یونیورسٹی کی تعلیم کے دوران، مجھے ہائیڈرو ون نامی کمپنی میں انٹرن شپ کرنے کا موقع ملا، جو اونٹاریو کو بجلی فراہم کرتی ہے۔ بنیادی طور پر، میرا کام ویب سائٹ کو برقرار رکھنا تھا کہ انہیں تمام آلات کے بارے میں تمام معلومات کو ذخیرہ کرنا پڑا. میں نے دوسرے ملازمین کی مدد کی اور کچھ اسکرپٹ تیار کیے۔ 16 ماہ کی انٹرنشپ کے دوران، میں نے ٹیم میں کام کرنے اور اپنے پروگرامنگ کے علم کو اپنی یونیورسٹی اور سائیڈ پروجیکٹس پر لاگو کرنے کا طریقہ سیکھا ہے۔ ایک بار جب میں نے انٹرن شپ مکمل کر لی اور یونیورسٹی سے گریجویشن کر لیا تو مجھے مورگن سٹینلے میں سکالا ڈویلپر کے طور پر نوکری مل گئی اور میں وہاں چھ ماہ رہا۔ ہم نے جاوا کے ساتھ کام کیا ہے، اور میں نے بہتر کوڈ لکھنے کے بارے میں بہت کچھ سیکھا ہے۔ کچھ لوگ 20-30 سالوں سے کوڈنگ کر رہے ہیں، اور یہ جاننا واقعی مددگار تھا کہ وہ کس طرح سوچتے ہیں اور کسی مسئلے سے رجوع کرتے ہیں اور آپ کے کوڈ پر ان کے تاثرات سنتے ہیں۔ اب میں چیمپئنز آنکولوجی نامی اس کمپنی میں ایک ڈویلپر کے طور پر کام کرتا ہوں - یہ ایک کمپنی ہے جو امریکہ میں بگ فارما کے کینسر پر تحقیق کرتی ہے۔ ڈویلپرز کمپنی کی ویب سائٹ کو برقرار رکھتے ہیں، نئی خصوصیات شامل کرتے ہیں، وغیرہ۔ ہم فی الحال JavaScript، Python، PHP، اور تمام باقاعدہ ویب ڈویلپمنٹ مواد کے ساتھ کام کرتے ہیں۔ میرے لیے، یہ مزے کی بات ہے: بہت کام ہے، اور سیکھنے کا عمل جاری ہے۔ آج کی بات ہے، میں پانچ پروگرامنگ زبانوں کو اچھی طرح جانتا ہوں: ازگر، جاوا اسکرپٹ، پی ایچ پی، جاوا، اور سی#۔ میں اپنے موجودہ کام میں پہلے تین استعمال کرتا ہوں۔ جاوا ڈویلپمنٹ مورگن اسٹینلے میں میری انٹرنشپ کا ایک حصہ تھا، اور میں اسکول میں اپنے پروجیکٹس پر کام کرتے ہوئے C# سے واقف ہوا۔ میں C اور C++ کے بارے میں تھوڑا سا جانتا ہوں، لیکن دوسروں کی طرح نہیں۔

ایک نئی پروگرامنگ زبان سیکھنے میں کتنا وقت لگتا ہے؟

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

کیا کوئی کمپیوٹر سائنس کی ڈگری پر چار سے پانچ سال گزارنے کے بجائے آن لائن سیکھ کر ڈویلپر بن سکتا ہے؟

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

آپ نے کس وقت ایک سرپرست بننے کا فیصلہ کیا؟

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

آپ کوڈ جیم یونیورسٹی میں کیا کرتے ہیں؟

یہاں CodeGym یونیورسٹی میں، میں ' Java Fundamentals ' کورس کے گروپس کی رہنمائی کر رہا ہوں ۔ ہمارے پاس ہفتے میں دو بار آن لائن کلاسز ہوتی ہیں، اور اگر میرے طلباء کو کلاس کے دوران کلاسوں سے باہر کوئی سوال ہو تو میں ان کا جواب دوں گا۔ میں مختلف طلباء کے ساتھ کالوں پر بھی امید کروں گا جو اضافی مدد طلب کریں گے۔ کبھی کبھی میں نصاب سے باہر جا کر طالب علموں کو پروگرام کے علاوہ کچھ سیکھ سکتا ہوں جو انہیں معلوم ہونا چاہیے۔ میری بنیادی توجہ طلباء پر ہے، اس بات کو یقینی بنانا کہ وہ نئے عنوانات کو سمجھتے ہیں اور کلاس سے باہر ان کے جو بھی سوالات ہیں ان کا جواب دینا ہے۔ 'جاوا فنڈامینٹلز' کورس ابتدائی اور کچھ پروگرامنگ پس منظر والے لوگوں کے لیے جاوا سیکھنے کی کوشش کرنے والوں کے لیے اچھا ہے۔ تاہم، اگر آپ ابتدائی ہیں، تو آپ کو اپنے مسائل کو حل کرنے کی ذہنیت کو بہتر بنانے پر زیادہ توجہ دینی چاہیے۔ کچھ لوگوں کے لیے، کسی مسئلے کو لے کر اسے چھوٹے حصوں میں تقسیم کرنا شروع میں مشکل ہوتا ہے - لیکن یہ پروگرامنگ کا خیال ہے۔ لہذا جاوا زبان کے علاوہ، آپ کو مسئلہ حل کرنے اور تنقیدی سوچ کی طرف جانے کی ضرورت ہے۔ پھر یہ کورس آپ کے لیے جاوا پروگرامنگ کو بہتر طریقے سے سمجھنے میں مددگار ثابت ہوگا۔

پروگرام سیکھنے کے دوران طلباء کی عام غلطیاں کیا ہوتی ہیں؟

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

کیا آپ CodeGym صارفین کو ان کے تربیتی اہداف کو حاصل کرنے اور ڈویلپر بننے کے بارے میں مشورہ دے سکتے ہیں؟

  1. مشق، مشق، اور مشق.
    اس طرح آپ کوڈنگ اور زبان کو سمجھنا سیکھتے ہیں۔ مشق کرنے سے، میرا مطلب کورس کے کاموں کو حل کرنا اور ایک حقیقی پروجیکٹ بنانا ہے۔ اس سے آپ کی تخلیقی صلاحیتوں اور مسائل کو حل کرنے میں اضافہ ہوگا۔
  2. ذرا متجسس رہیں۔
    اپنی زندگی یا دوسرے لوگوں کے کسی مسئلے کے بارے میں سوچیں جو پروگرامنگ کے ذریعے حل کیا جا سکتا ہے، اور یہ آپ کو مزید جاننے کی طرف لے جائے گا۔ تجسس بنیادی چیز ہے جو میں چاہتا ہوں کہ لوگوں کو ملے: اگر آپ کسی چیز کے بارے میں جاننا چاہتے ہیں، تو جائیں اور اس کا پتہ لگائیں، یا جاکر کسی کو تلاش کریں جو اس کے بارے میں بات کرے۔
  3. اپنے کام میں مسئلہ حل کرنے کی تیاری کریں۔
    پچھلے ہفتے میں ایک مسئلے پر کام کر رہا تھا، اور اس ہفتے میں اپنے بنیادی ڈھانچے سے متعلق ایک بالکل مختلف مسئلے پر کام کر رہا ہوں بجائے اس کے کہ اصل میں خصوصیات ڈالیں۔ تو ہمیشہ مختلف چیزیں ہوتی ہیں جو آپ کریں گے۔ پروگرامنگ میں، آپ کو بہت سے مسائل حل کرنے پڑتے ہیں، اور یہی بنیادی وجہ ہے کہ میں اس کے ساتھ چپکی ہوئی ہوں اور اس سے لطف اندوز ہوں۔
سب سے مشکل حصہ زبان سیکھنا نہیں ہے، بلکہ اپنے دماغ کو مسائل کے حل کے لیے تار لگانا ہے - کوڈ جیم یونیورسٹی کے سرپرست ایڈورڈ ایزراٹیل کے ساتھ انٹرویو - 2
تبصرے
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION