تو جاوا سیکھنے میں کتنا وقت لگتا ہے؟ دس سال، دس ہفتے، یا ایک دن؟ شاید آپ کی پوری زندگی؟ آپ کو کچھ آن لائن فورمز پر اس سوال کے بہت ہی عجیب و غریب جوابات مل سکتے ہیں۔ آئیے اسے شروع سے ہی واضح کرتے ہیں۔ اس مضمون میں "جاوا جاننا" کا مطلب یہ نہیں ہے کہ آپ "ہیلو ورلڈ پروگرام" لکھ سکتے ہیں۔ یہ آپ کی پہلی نوکری تلاش کرنے کے لیے جاوا کو اچھی طرح جاننے کے بارے میں ہے۔ یہاں عنوان میں بز لائٹ ایئر کا نعرہ بالکل مذاق نہیں ہے۔ آپ واقعی زندگی بھر جاوا یا کوئی دوسری زبان سیکھنا جاری رکھ سکتے ہیں۔ وجہ یہ ہے کہ زبان مسلسل ترقی کر رہی ہے، اس کا دائرہ کار بدل رہا ہے اور… خوشخبری، دوستو! گھبرانے کی کوئی وجہ نہیں! جاوا مشن کا سیکھنا یقینی طور پر 3 سے 12 ماہ میں مکمل کرنا ممکن ہے، تاہم، بہت سی باریکیاں ہیں جن پر ہم اس مضمون میں بحث کریں گے۔ یہاں ہم اس سوال کا جواب دینے کی کوشش کریں گے کہ "جاوا تیزی سے کیسے سیکھا جائے"۔
یولیا ڈینیگا
، خود سکھایا سافٹ ویئر ڈویلپر۔ یولیا لنکڈ ان کے لیے ریچ اپرنٹس انجینئر کے طور پر کام کرتی ہے، اس کے علاوہ، اس نے کمپیوٹر پروگرامنگ سیکھنے اور سلیکن ویلی میں نوکری تلاش کرنے کے اپنے تجربے کو شیئر کرنے کے لیے یوٹیوب چینل بنایا
ہم ان لوگوں کو جو جاوا سیکھنا شروع کرتے ہیں تین اہم زمروں میں تقسیم کر سکتے ہیں:
PS: اب آپ کے بارے میں کیا خیال ہے؟ آپ ابھی کتنے عرصے کے لیے جاوا سیکھتے ہیں؟ کیا یہ عمل مشکل ہے؟ یا شاید آپ کو جاوا سے متعلق اپنی پہلی نوکری مل گئی ہے؟ کیا یہ مشکل تھا؟ یا شاید آپ نے ابھی اسے ڈھونڈنا شروع کیا ہے؟ اپنا تجربہ یہاں شیئر کریں!
ہم اس کا جواب کیسے تلاش کرتے ہیں۔
سوال "جاوا سیکھنے میں کتنا وقت لگتا ہے" ایک قسم کا مشکل ہے۔ ہم اسے مزید مخصوص ذیلی سوالات میں تقسیم کرتے ہیں اور یہاں ان کا جواب دیتے ہیں۔ زیادہ درست ہونے کے لیے، ہم نے CodeGym طلباء کے ساتھ انٹرویوز، اوپن سورسز، اور سروے کے اعدادوشمار کا استعمال کیا۔ وہ سروے جاوا سیکھنے کے عمل اور اس پہلی نوکری کی تلاش کے بارے میں تھا۔ اس کا انعقاد مقامی کوڈ جیم یونٹوں میں سے ایک نے کیا تھا۔ سروے کے شرکاء 30 اور اس سے اوپر کے درجے کے CodeGym طلباء تھے، جنہوں نے جاوا سے متعلق پہلی نوکری تلاش کی یا جاوا انٹرنشپ میں حصہ لیا۔"جاوا جاننا" کا کیا مطلب ہے؟
سب سے درست، اگرچہ اس سوال کا عمومی جواب "جاوا کا استعمال کرتے ہوئے مسئلہ حل کرنے کے قابل ہو جائے گا۔" اس طرح کے مسئلے کا مقصد "امتحان پاس کرنا" یا "نوکری حاصل کرنا" ہو سکتا ہے۔ یا یہ ایک تکنیکی کام ہو سکتا ہے، یا تو ایک بڑا "Play Market کے لیے کافی اچھا اپنا پروجیکٹ بنانا"، یا ایک چھوٹا جیسا کہ "کوڈ لکھنے کا طریقہ سمجھیں جو آپ کی ضرورت کے مطابق ہو۔" یقیناً آپ کے مسائل وقت کے ساتھ بدلیں گے۔ اپنی پہلی نوکری حاصل کرنے کے بعد، آپ کو عہدوں پر بڑھنے کی ضرورت ہوگی (مثال کے طور پر، جاوا جونیئر ڈیولپر سے جاوا مڈل/سینئر ڈیولپر تک)۔ پہلا کوڈنگ ٹاسک دوسرے کے بعد آتا ہے۔ مزید، جب آپ یہ کریں گے، کچھ نئے اہداف ظاہر ہوں گے۔ آئیے اپنے سوال کی طرف واپس آتے ہیں۔ اپنے سی وی میں "میں جاوا جانتا ہوں" لکھنے کے لیے آپ کو کن موضوعات کا علم ہونا چاہیے؟ جاوا کے طلباء عام طور پر اگلے عنوانات سیکھتے ہیں:- کور جاوا یا
- کور جاوا + JUnit یا
- کور جاوا + ڈیٹا بیس یا
- کور جاوا + ٹولز یا
- کور جاوا + لائبریریاں یا
- کور جاوا + اسپرنگ + اسپرنگ بوٹ + ہائبرنیٹ یا
- کور جاوا + Android SDK یا
- …اور مذکورہ بالا تمام امتزاجات۔
- بنیادی اقسام اور اشیاء
- بنیادی تعمیرات (خصوصی آپریٹرز، لوپس، شاخیں)
- OOPs کے تصورات
- ریپر کلاسز
- مجموعے
- ملٹی تھریڈنگ
- I/O اسٹریمز
- رعایت کی ہینڈلنگ
آپ کا ذاتی طریقہ۔ آپ جاوا کس لیے سیکھتے ہیں؟
اس مضمون میں ہم "میں جاوا صرف تفریح کے لیے سیکھتا ہوں" یا "میں مستقبل میں جاوا سکھانا چاہتا ہوں" جیسے اختیارات پر غور نہیں کرتے۔ یہاں ہم آئی ٹی میں جاوا کے پیشہ ورانہ استعمال کے بارے میں بات کر رہے ہیں۔ فی الحال، اکثر جاوا کو تین طریقوں میں سے ایک میں جانے کے لیے سکھایا جاتا ہے:- جاوا ڈویلپر، ٹرینی/جونیئر ڈویلپر سے سینئر ڈویلپر تک
- اینڈرائیڈ ڈویلپر، انڈی یا کسی کمپنی میں (جونیئر سے سینئر)
- QA آٹومیشن (جاوا کے ساتھ)
جاوا ڈویلپر
جاوا ڈویلپر کا پول بہت وسیع ہے اور جاوا کے علم کے تقاضے آپ کی پہلی نوکری حاصل کرنا ہیں جو بہت مختلف ہو سکتی ہے۔ CodeGym سروے کے مطابق، کچھ لوگ ایسے ہیں جنہوں نے اپنی پہلی جاوا جونیئر نوکری صرف جاوا کور کو جان کر حاصل کی اور اس سے زیادہ کچھ نہیں۔ کمپنیاں کام کے عمل کے دوران انہیں تربیت دینے کے لیے تیار تھیں۔ تاہم، یہ ایک بہت ہی نایاب واقعہ ہے۔ اکثر ایسا شخص انٹرن شپ میں شامل ہو سکتا ہے یا کچھ امتحانات پاس کرنے کے بعد جاوا ٹرینی بن سکتا ہے۔ عام طور پر جاوا جونیئر درخواست دہندگان کو اپنی پہلی نوکری حاصل کرنے کے لیے صرف Java Core سے زیادہ جاننا چاہیے۔ یہاں متعلقہ ٹیکنالوجیز کی فہرست ہے جو جاوا ڈیولپرز کو معلوم ہونی چاہیے۔- کور جاوا
- JDK API
- جاوا 8 (لیمبڈاس)، جاوا 11
- ٹیسٹنگ لائبریریاں (JUnit)
- بہار کا فریم ورک
- اسپرنگ بوٹ اور اسپرنگ ایم وی سی
- ہائبرنیٹ
- جے ڈی بی سی
اینڈرائیڈ ڈویلپر
اینڈرائیڈ ڈویلپرز کسی کمپنی کے لیے کام کر سکتے ہیں یا ان کے اپنے پروجیکٹ ہو سکتے ہیں۔ انہیں یقینی طور پر جاوا کور اور کچھ دوسری ٹیکنالوجیز کو جاننا چاہیے۔ یہاں ہمارے پاس ایک انفوگرافک ہے جو Android Developer کے طریقے کو ظاہر کرتا ہے۔ ٹھیک ہے، فہرست میں بہت سارے پوائنٹس ہیں، لیکن ان میں سے زیادہ تر جاوا کے بارے میں براہ راست نہیں ہیں (صرف ٹیسٹ ٹولز، اور اصل میں کور جاوا)۔ عام طور پر ڈویلپر اس بات سے اتفاق کرتے ہیں کہ اپنے طور پر اینڈرائیڈ پروگرامنگ سیکھنا انٹرپرائز ڈویلپمنٹ سے کہیں زیادہ آسان اور تیز ہے۔ بہر حال، ان لوگوں کے لیے بھی جو جاوا جونیئر کے عہدے کے خواہشمند ہیں، آپ کی پروگرامنگ کی مہارتوں کو تربیت دینے کے لیے اینڈرائیڈ پروجیکٹس بنانا مفید ہوگا۔QA آٹومیشن
ایک اچھی QA آٹومیشن کو پروگرامنگ کی زبان اچھی طرح جاننی چاہیے، یہ اس پیشے کے لیے سب سے اہم مہارتوں میں سے ایک ہے۔ جاوا سے منسلک ہے۔- کور جاوا (خاص طور پر OOP، مجموعہ، فائل آپریشنز)
- ٹیسٹنگ لائبریریاں (JUnit)
- انٹیلی جے آئیڈیا
- سیلینیم RC/WebDriver فریم ورک
- صفحہ آبجیکٹ ماڈل
- HTML/CSS
- ایس کیو ایل
کون پوچھ رہا ہے؟ جاوا کے ممکنہ طلباء کے پورٹریٹ
"میرے خیال میں یہ آپ کے پس منظر پر منحصر ہے اور آپ مطالعہ میں کتنا وقت لگا سکتے ہیں۔ جب میں نے ایک سافٹ ویئر ڈویلپر کے طور پر اپنا سفر شروع کیا تو میں ہفتے میں کم از کم 40 گھنٹے مطالعہ میں گزاروں گا۔ کل وقتی مطالعہ کرنے کے 6 ماہ کے بعد مجھے کافی اعتماد محسوس ہوا کہ میں خود کسی بھی نئی ٹیکنالوجی میں مہارت حاصل کر سکتا ہوں۔ ایک سافٹ ویئر انجینئر کے طور پر اپنی پہلی نوکری حاصل کرنے کے لیے آپ کو نہ صرف جاوا سیکھنے کی ضرورت ہوگی، بلکہ کمپیوٹر سائنس، آبجیکٹ اورینٹڈ پروگرامنگ کی بنیادی باتوں کو بھی سمجھنا ہوگا اور چند پروجیکٹس لکھنا ہوں گے جو آپ کے کام کو ظاہر کرسکتے ہیں۔ میرے خیال میں اس میں نو سے بارہ مہینے لگ سکتے ہیں۔ میں جانتا ہوں کہ یہ بہت کام کی طرح لگتا ہے، لیکن حوصلہ شکنی نہ کریں! یہ سفر حقیقی تفریحی ہو سکتا ہے اگر آپ کو معلوم ہو کہ کوڈنگ کا کون سا پہلو آپ کو خوشی دے رہا ہے اور خود کو کھیلنے کی اجازت دے رہا ہے۔- "روکیز"۔ صفر تجربہ۔ ٹھیک ہے، یہاں وہ لوگ ہیں جو پروگرامنگ کے بارے میں کچھ نہیں جانتے ہیں۔
- "درمیانی"۔ پروگرامنگ کا کم سے کم تجربہ رکھنے والے طلباء۔ وہ لوگ اسکول، یونیورسٹی یا کورسز میں پروگرامنگ سیکھتے ہیں، لیکن یہ سنجیدہ سیکھنا نہیں تھا۔
- "پیشہ". سافٹ ویئر ڈویلپرز جو پروگرامنگ کی دوسری زبانیں جانتے ہیں (1 یا زیادہ)۔
- 33.3% بالکل نئے تھے۔
- 17.6% کم از کم ایک پروگرامنگ زبان جانتے تھے۔
GO TO FULL VERSION