JavaRush /جاوا بلاگ /Random-UR /بہت سے ڈویلپرز واقعی شروع ہونے سے پہلے ہی کیوں ہار جاتے ہ...

بہت سے ڈویلپرز واقعی شروع ہونے سے پہلے ہی کیوں ہار جاتے ہیں؟

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

  • یہ بہت بورنگ تھا ۔ میں بمشکل خود کو بیٹھ کر کوڈ کرنے کے لیے لا سکا۔ غلطیاں مسلسل پاپ اپ ہوئیں، کچھ غلط ہو گیا۔ ہاں، میں ابھی تک یہ سب نہیں سمجھ پایا ہوں۔ وہ 30 منٹ تین گھنٹے کی طرح محسوس ہوئے!
وہ اکثر دوسرے کا انتخاب کرتے ہیں۔ اور سب اس لیے کہ ہر کوئی کبھی کبھی دوسرے آپشن میں بیان کردہ صورت حال میں خود کو پاتا ہے۔ وہ بھی جو 5، 8، 10 سالوں سے پروگرامر کے طور پر کام کر رہے ہیں۔ اور عام طور پر، پہلا آپشن کچھ عجیب و غریب پریوں کی کہانی کی طرح لگتا ہے۔ لہذا، چونکہ ہم پہلے ہی پروگرامنگ سیٹیٹی کے بارے میں بات کرنے کا فیصلہ کر چکے ہیں، اس لیے یہ نوٹ کرنا ضروری ہے کہ ایسا تمام ڈویلپرز کے ساتھ ہوتا ہے، اور اکثر اوقات۔ اور، ظاہر ہے، ہم اسے برداشت نہیں کر سکتے۔
بہت سے ڈویلپرز واقعی شروع ہونے سے پہلے ہی کیوں ہار جاتے ہیں - 2
آئیے یہ جاننے کے لیے گہرائی میں کھودنے کی کوشش کریں کہ ایسا کیوں ہوتا ہے۔ پچھلے کچھ سالوں میں، میں نے بہت سے خواہشمند ڈویلپرز سے ملاقات کی ہے جو:
  1. میں نے حال ہی میں پروگرامنگ شروع کی ہے اور خود کو مکمل طور پر کھویا ہوا محسوس کر رہا ہوں۔
  2. تعارفی مرحلے میں پھنس جائیں اور جب بھی آپ کو کسی بیرونی نگرانی کے بغیر خود کوڈ کرنا پڑے تو تکلیف محسوس کریں۔
  3. وہ ظاہر ہے باصلاحیت تھے، لیکن وہ انٹرویو میں ناکام رہے یا انہیں دعوت نامے ہی نہیں ملے۔

ٹرننگ پوائنٹ کیا ہے؟

مجھے نئے پروگرامرز کی ضروریات اور ضروریات کا مطالعہ کرنے میں کافی وقت صرف کرنا پڑا، کیونکہ یہ مختصراً میں کیا کرتا ہوں۔ ہر چیز کو بہتر طور پر سمجھنے کے لیے، مجھے اپنی کمپنی کے ساتھیوں سے بات کرنے، Facebook گروپس، فورمز، سوال و جواب کی سائٹس پر تحقیق کرنے، Reddit کے بڑے دھاگوں کا مطالعہ کرنے، اور یہاں تک کہ کئی چھوٹی کمیونٹیز کا سروے کرنے کی ضرورت تھی۔ اور یہ وہی ہے جو ہمیں پتہ چلا: "مجھے ایسا لگا جیسے میں نے ویڈیو میں جو کچھ تھا اسے کاپی کیا اور بس"؛ "میں موجودہ مثالوں کے لئے گوگل کر رہا تھا جو پہلے ہی کسی کے ذریعہ لکھی گئی تھیں۔ اسی وقت، میں نے محسوس کیا کہ ایک 3 سالہ بچہ ریاضی کی پہیلی کو حل کر رہا ہے۔ یہ بہت پریشان کن ہے"؛ "میں صرف ایک پروگرامر کی طرح سوچنے کے قابل نہیں ہوں"؛ یہ میرا پسندیدہ ہے: "پروگرام سیکھنے کے دوران میں نے جو کچھ سیکھا وہ یہ ہے: 99% وقت جب آپ مکمل طور پر الجھن اور غیر موثر محسوس کرتے ہیں۔ لیکن جیسے ہی آپ کچھ کام کرنے کا انتظام کرتے ہیں جیسا کہ اسے ہونا چاہئے - بس یہ ہے، وہ احساس - جادو ہوا ہے!
بہت سے ڈویلپرز واقعی شروع ہونے سے پہلے ہی کیوں ہار جاتے ہیں - 3
اگر آپ ان حوالوں کو قریب سے دیکھیں تو آپ کو ایک اہم چیز نظر آئے گی: ان لوگوں کی اندرونی جدوجہد اس حقیقت سے نہیں آتی کہ وہ غیر فعال ہیں یا خاطر خواہ کوششیں نہیں کرتے ہیں۔ اس کی وجہ یہ نہیں ہے کہ ان کا تربیتی پروگرام خراب ہے یا نظم و ضبط کی کمی ہے۔ درحقیقت ان کے پاس عملی تجربے کی کمی ہے۔ یہ ایک ناقابل شکست مشکل لگتی ہے۔ تاہم، ان میں سے بہت سے پروگرامنگ ترک کرنے اور ترک کرنے کے لیے تیار تھے۔

نوسکھئیے پروگرامرز کے مسائل کے بارے میں دو خرافات

میں نے دریافت کیا ہے کہ نئے پروگرامرز کو جن مسائل کا سامنا کرنا پڑتا ہے ان کی جڑ میں سافٹ ویئر ڈویلپر ہونے کے بارے میں دو مشہور افسانے ہیں۔ میں ابھی ان خرافات کو دور کرنا چاہوں گا تاکہ نوجوان پروگرامرز غیر ضروری اوورلوڈ سے بچ سکیں۔

افسانہ نمبر 1۔ آپ کو پروگرامنگ سے محبت کرنی ہوگی، اگر آپ اسے پسند نہیں کرتے، تو یہ آپ کے لیے نہیں ہے۔

میں کتنی بار نوجوان ڈویلپرز سے ایسا کچھ سنتا ہوں! اور ہاں، میں اس بیان سے سختی سے اختلاف کرتا ہوں۔ آپ کو ڈویلپر بننے کے لیے پروگرامنگ سے محبت کرنے کی ضرورت نہیں ہے۔ درحقیقت، تقریباً 50% پیشہ ور ڈویلپرز لفظی طور پر بعض اوقات اس سے نفرت کرتے ہیں۔ میں یہ بات ذاتی مشاہدات کی بنیاد پر کہتا ہوں۔ یقینا، یہ بہت اچھا ہے اگر مسئلہ کو آسانی سے اور آسانی سے، خوبصورتی سے حل کیا جا سکتا ہے، تو بات کرنے کے لئے. یہ بہت اچھا ہے جب آپ کے پاس بہترین، صاف، تجربہ شدہ کوڈ ہو جو لوگوں کے مسائل حل کر سکے۔ لیکن افسوس، ایسی کامیابیاں وہ نہیں ہیں جو آپ کے 100٪ وقت پر قابض ہوں گی... قریب بھی نہیں۔ ایک پروگرامر کی روزمرہ کی زندگی عام طور پر ان خیالات سے بھری ہوتی ہے جیسے: "یہ کتنا اچھا تھا کہ میں انحصار انجیکشن پیٹرن کو لاگو کرنے کے قابل تھا، خوبصورتی سے کلاسوں کو الگ کر سکتا تھا، اس طرح میرے کوڈ کی حمایت میں اضافہ ہوتا ہے۔ میں عظیم ہوں!"
Почему многие разработчики сдаются, даже толком не начав - 4
افسوس، ایسا شاذ و نادر ہی ہوتا ہے۔ یہاں تک کہ جو لوگ کوڈ لکھنے سے محبت کرنے کا دعوی کرتے ہیں وہ اپنے وقت کا ایک اہم حصہ بورنگ، نیرس کام کرنے میں صرف کرتے ہیں جو ہمیشہ آسانی سے نہیں ہوتا ہے۔ پروگرامرز کے دفتر میں، فحش زبان ایک کار سروس سینٹر کے مقابلے میں کم نہیں سنی جاتی ہے. ایمانداری سے! اس میں کوئی حرج نہیں ہے کہ بعض اوقات آپ پروگرامنگ سے نفرت کرتے ہیں۔ یقینا، سوال "شاید یہ میرے لئے بالکل نہیں ہے؟" ایک نوآموز پروگرامر کے ذہن میں اکثر اس وقت پیدا ہوتا ہے جب وہ خود پر دباؤ محسوس کرتا ہے، کام کا بھاری بوجھ اٹھاتا ہے اور سب کچھ بالکل نہیں ہوتا جیسا کہ ہم چاہتے ہیں۔ یہ عام بات ہے، یقین کرو۔ اور، ہاں، پروگرامنگ آپ کے لیے ہے، اس میں کوئی شک نہیں۔ اگر آپ یہ پڑھ رہے ہیں، تو اس کا مطلب ہے کہ آپ کی پرواہ ہے۔ اور اگر آپ پرواہ کرتے ہیں، تو سب کچھ یقینی طور پر کام کرے گا.

افسانہ نمبر 2۔ بہت کچھ ہے جو میں نہیں جانتا، میں اسے کبھی نہیں سیکھوں گا!

یہ ایک اور عام خیال ہے (شاید پہلے افسانے سے بھی زیادہ مقبول)۔ بہت سے لوگ اس بارے میں شکایت کرتے ہیں۔ اور میں بالکل واضح طور پر سمجھتا ہوں کہ اس کے پیچھے کیا ہے۔ ہماری سرگرمی کا میدان اتنا وسیع ہے کہ آپ جتنا گہرائی میں جائیں گے، اتنا ہی واضح طور پر آپ کو احساس ہوگا کہ آپ ابھی تک کتنا نہیں جانتے ہیں۔ مجھے یہ سوچ کر بھی برا لگتا ہے۔ یہ بہت افسردہ کن ہے! اچھی خبر یہ ہے کہ آپ کو سب کچھ جاننے کی ضرورت نہیں ہے۔ یہ جاننا کافی ہے کہ آپ جو نہیں جانتے اسے کیسے تلاش کریں۔ ابھی کے لیے، یقینی بنائیں کہ آپ جس چیز کے ساتھ کام کر رہے ہیں اس کے بنیادی اصول آپ کے پاس ہیں۔
Почему многие разработчики сдаются, даже толком не начав - 5
آئیے اس مثال کو دیکھتے ہیں۔ اگر آپ CSS کے ساتھ تجربہ کر رہے ہیں، تو آپ کو سمجھنا چاہیے کہ اسے HTML عناصر پر اسٹائل لگانے کے لیے ڈیزائن کیا گیا ہے۔ آپ ایک بٹن بنا سکتے ہیں جس میں بارڈرز، رنگ، شیڈو یا اینیمیشن ہو۔ آپ یہ نہیں بتا سکتے کہ جب آپ کسی بٹن پر کلک کریں گے تو کیا ہوگا (اس کے لیے آپ کو جاوا اسکرپٹ کی ضرورت ہے)۔ لہذا، اگر آپ کو بٹن دبانے پر تصویر کو "دوبارہ زندہ" کرنے کی ضرورت ہے:
  1. آپ کے پاس ایک تصویر اور بٹن عناصر (HTML) ہونا ضروری ہے؛
  2. اس کے بعد آپ ایک مخصوص کلاس (CSS) کے لیے اینیمیشن کو اپنی مرضی کے مطابق بنا سکتے ہیں۔
  3. اور جب بٹن پر کلک کیا جائے تو آپ تصویر میں کلاس شامل کر سکتے ہیں (جاوا اسکرپٹ)۔
آپ اسے ایک بار ہدایات میں پڑھیں۔ ایک ہفتے کے بعد، آپ کو فارم جمع کرواتے وقت تصویر میں ایک سایہ شامل کرنا ہوگا۔ آپ پہلے ہی جانتے ہیں کہ کیا تلاش کرنا ہے۔ آپ کو CSS، HTML، JavaScript کے بارے میں عام فہم ہے اور اس بات کی سمجھ ہے کہ وہ کس فنکشنلٹی کے لیے ذمہ دار ہیں۔ باقی صرف گوگل کے لیے ضروری الفاظ ہیں۔ اس صورت میں، "سی ایس ایس ایڈ شیڈو" اور "جاوا اسکرپٹ ایڈ فارم"۔ کیا آپ دیکھتے ہیں کہ ہم نے کیا کیا؟ اس لیے بہت جلد ہمت نہ ہاریں، اور مؤثر مطالعہ کے لیے صحیح عادات پیدا کریں۔ لیکن ہم ان کے بارے میں اگلی بار بات کریں گے۔
تبصرے
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION