CodeGym /جاوا بلاگ /Random-UR /میں طالب علموں کو ایسی چیزیں سکھا رہا ہوں جو ان کے لیے بہ...
John Squirrels
سطح
San Francisco

میں طالب علموں کو ایسی چیزیں سکھا رہا ہوں جو ان کے لیے بہت سے دروازے کھول دے گی۔ کوڈ جیم یونیورسٹی کے سرپرست میلان ووسک کے ساتھ انٹرویو

گروپ میں شائع ہوا۔
CodeGym یونیورسٹی میں "Java Fundamentals" کورس کے سرپرستوں میں سے ایک Milan Vucic سے ملیں ، "Android app develop for beginners" کورس کے مصنف اور ٹیوٹر ہیں۔ اسے اینڈرائیڈ ڈویلپر کے طور پر کام کرنے کا آٹھ سال کا تجربہ اور جاوا اور اینڈرائیڈ کی رہنمائی کے چند سال ہیں۔ اس متن میں، وہ اپنے پیشہ ورانہ پس منظر اور رہنمائی کے بارے میں بات کرتا ہے، ان سب سے بڑی غلطیوں کا پردہ فاش کرتا ہے جو نئے آنے والے کر سکتے ہیں، اور CodeGym صارفین کو ڈویلپر بننے کا مشورہ دیتے ہیں۔

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

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

ڈویلپر بننے کے لیے آپ کا سیکھنے کا راستہ کیا تھا؟

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

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

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

آپ کے نقطہ نظر سے، Android کی ترقی (اور عام طور پر) میں جاوا کا مستقبل کیا ہے؟

میں نے بنیادی طور پر جاوا میں کوڈ لکھا ہے، جو میری پسندیدہ زبان ہے۔ میں نے جتنی زبانیں استعمال کی ہیں ان میں سے Java سب سے خوبصورت اور سیکھنے میں آسان ہے کیونکہ یہ بہت دوستانہ ہے۔ جاوا پہلے ہی بہت سے منصوبوں میں استعمال ہو چکا ہے۔ یقینا، اس کا مستقبل ہے. آپ جاوا میں تقریباً کچھ بھی بنا سکتے ہیں: اینڈرائیڈ سے ویب ایپس تک، بیک اینڈ سے فرنٹ اینڈ سے ڈیسک ٹاپ تک۔ لیکن یہاں تک کہ اگر ہم تصور کریں کہ جاوا کا کوئی مستقبل نہیں ہے اور جاوا میں لکھے گئے تمام پروجیکٹس رک گئے ہیں (جو کہ ناممکن ہے)، یہ پروگرامنگ سے واقف ہونے کے لیے اب بھی ایک بہترین زبان ہے۔ جاوا کو جان کر، آپ Python یا C# نسبتاً تیزی سے سیکھ سکتے ہیں۔ اگر آپ پہلے سیکھنے کے لیے کوئی پیچیدہ (یا بدصورت) زبان لیتے ہیں تو آپ کو پروگرامنگ پسند نہیں آئے گی۔ اگر میں نے شروع سے ہی PHP یا C++ سیکھا ہوتا تو شاید مجھے پروگرامنگ بالکل پسند نہ آتی: ان میں مہارت حاصل کرنا آسان نہیں ہے۔

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

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

آپ کو اپنا اینڈرائیڈ کورس شروع کرنے کا خیال کیسے آیا؟

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

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

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

پروگرامنگ کی پیشگی معلومات/تجربہ رکھنے والے طلباء اور کوڈنگ میں نئے آنے والوں کے درمیان کلیدی فرق کیا ہیں؟

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

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

ٹیکنالوجیز دریافت کریں۔

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

خوف کے بارے میں بھول جاؤ

سب کے لیے میرا سب سے بڑا مشورہ یہ ہے کہ ڈرو نہیں۔ ہر کوئی کیڑے اور غلطیاں کرتا ہے۔ بس گوگل کریں اور بہت تحقیق کریں، اور آپ کو آخرکار حل مل جائے گا۔

سیکھنے میں وقت لگائیں۔

ہم کلاس میں جو کچھ کر رہے ہیں وہ آدھی جنگ ہے۔ آپ کو انفرادی طور پر زیادہ وقت لگانے کی ضرورت ہے۔ آپ کلاسوں کے درمیان جتنا زیادہ کریں گے، اتنا ہی آپ سیکھیں گے، ٹھیک ہے؟ اگر آپ کلاسوں کے درمیان کچھ نہیں کرتے ہیں، تو شاید آپ کو کچھ علم ہو گا ( میرے لیکچرز دیکھنے سے )، لیکن آپ آزادانہ طور پر کچھ تخلیق نہیں کر پائیں گے۔ اگر آپ Java Fundamentals یا Android کورسز میں تربیت حاصل کر رہے ہیں، تو کم از کم اپنے طور پر کام کرنے کے اتنے گھنٹے لگائیں جتنا کہ ہم مل کر کام کر رہے ہیں۔ ہم کہتے ہیں کہ ہمارے ساتھ ہفتے میں ساڑھے تین گھنٹے ہوتے ہیں۔ پھر آپ کو ہفتے میں کم از کم تین یا چار گھنٹے خود کرنا چاہیے۔ علم کو مستحکم کرنے اور مستقبل میں بحث کے لیے ممکنہ سوالات کے ساتھ آنے کے لیے خود کوڈ بنانا ضروری ہے۔ کلاس میں یا سلیک چیٹ میں سوال پوچھنے میں کبھی ہچکچاہٹ محسوس نہ کریں۔ مستقل کیڑے کے لیے، ہم لائیو ڈیبگ سیشن بھی کر سکتے ہیں جیسا کہ ہم نے پچھلے گروپ میں کیا تھا۔ سیکھنا ایک 2 طرفہ سڑک ہے، اور اس کورس کو ایک تفریحی اور نتیجہ خیز تجربہ بنانا ہم سب پر منحصر ہے۔ "میں طلباء کو ایسی چیزیں سکھا رہا ہوں جو ان کے لیے بہت سے دروازے کھول دے گی۔"  کوڈ جیم یونیورسٹی کے سرپرست میلان ووسک کے ساتھ انٹرویو - 1
تبصرے
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION