প্রোগ্রামিং শিখতে গেলে এই ছয়টা ভুল করো না-
১. একটা সলিড রাস্তা ধরে এগুতে থাকো। যে রাস্তা শুরু করবে সেই রাস্তায় লেগে থাকো। কিছুদিন এই টাইপের টিউটোরিয়াল কিছুদিন ওই টাইপের টিউটোরিয়াল নিয়ে লাফালাফি করো না। তোমাকে ১০টা, ৫টা প্রোগ্রামিং ল্যাঙ্গুয়েজ শিখতে হবে না। জাস্ট একটা প্রোগ্রামিং ল্যাঙ্গুয়েজ ভালো করে শিখলে। সেটা দিয়ে ভালো কিছু করতে পারলে। সেটা দিয়েই কাজ হবে। অর্থাৎ তিনটা ল্যাঙ্গুয়েজ এর বেসিক সিনট্যাক্স শেখার চাইতে একটা ল্যাংগুয়েজ ভালো করে শিখে সেটা দিয়ে কিছু প্রজেক্ট করতে পারাটা অনেক বেশি ইম্পরট্যান্ট।
২. ডাটা স্ট্রাকচার এলগোরিদম, প্রব্লেম সলভিং, কম্পিটিটিভ প্রোগ্রামিং করতে পারলে অবশ্যই ভালো। তুমি পারলে কন্টিনিউ করতে থাকো। তবে করতে না পারলেও যে তুমি প্রোগ্রামিং লাইনে কিছুই করতে পারবে না। সেটা চিন্তা করার কোন কারণ নাই। যেকোন ভার্সিটির যেকোন ব্যাচেই দেখবে ছয় মাসের বেশি কম্পিটিটিভ প্রোগ্রামিং করে ২-৫জন। তার বেশি না। কোন কোন ব্যাচ আছে যে ব্যাচে একজনও কম্পিটিটিভ প্রোগ্রামিং করে না। তাহলে তারা কি প্রোগ্রামার হয় না। অবশ্যই হয়। সো, প্রোগ্রামার হতে হলে যে কম্পিটিটিভ প্রোগ্রামিং করতেই হবে বা প্রব্লেম সলভিং এ বস হতে হবে এমন ভাবার দরকার নাই। না পারলে অন্তত অল্প কিছু বেসিক কিছু ডাটা স্ট্রাকচার আর এলগরিদম শিখে এই লাইনে কিছু একটা দিয়ে শুরু করার চেষ্টা করো। তারপর দরকার হলে পরে গিয়ে এডভান্সড ডাটা স্ট্রাকচার আর এলগোরিদম এর জিনিসগুলো শিখতে পারবে।
৩. শিখতে গেলে সিরিয়াসলি শিখবে। চেষ্টা করবে একটানা বেশ খানিকটা শিখে নিজেকে একটা লেভেলে নিয়ে যেতে। দুইদিন শিখবে পাঁচদিন গ্যাপ দিবে। কয়দিন এইটা দেখবে কয়দিন ঐটা দেখবে। এমন ঠুসা মারতে থাকলে তোমার শেখার চাইতে ঠুসার পরিমাণ অনেক বেশি হবে। ছয়-আট মাসের কাজ শেষ করতে দুই আড়াই বছর লেগে যাবে।
কোন কিছুতে একদম আটকে গেলে। সম্ভব হলে কারো কাছ থেকে বা কোন গ্রূপ থেকে হেল্প নাও। আর একান্তই সেটা ধরতে না পারলে, সেটার জন্য দিনের পর দিন আটকে বসে না থেকে নেক্সট জিনিসে কন্টিনিউ করো। সব জিনিস যে একদিনেই বুঝে ফেলতে হবে এমন কোন কথা নাই। দরকার হলে দুই একটা জিনিস দুই এক মাস পরে বুঝলেও চলবে।
৪. শেখার কোন শেষ নাই। ধরো, এক জাভাস্ক্রিপ্টকেই যে কতভাবে কত কিছুতে, কত স্কেলে, কত কিছু দিয়ে কত শতভাবে কাজে লাগানো যায় তার শেষ নাই। এটার সব কিছু জানতে গেলে সব তুমি চার বছরেও শেষ করতে পারবে না। আবার চার বছর শেষ করতে করতে দেখবে আরো নতুন দুই বছরের জিনিস চলে আসছে। সো, শেখাটা হবে কনসেপ্ট বেইজড তবে সেই কনসেপ্টগুলো হবে একটা নিদৃষ্ট গোল ওরিয়েন্টেড। আগে থেকেই ডিটারমাইন্ড থাকবে এই এঙ্গেলে এই এই জিনিস শিখে এই এই জিনিস এর স্কিল গেইন করে, এই এই প্রজেক্ট করে, এইটুক পর্যন্ত কনফিডেন্স গেইন করে আমি এই দরজায় কড়া নাড়াবো। বাড়তি সময় লাগলে বাড়তি সময় দিবো। কিন্তু সলিড একটা লাইনে লেগে থাকবো।
তাহলে তোমার গোল ওরিয়েন্টেড টার্গেট এচিভ করা তোমার জন্য অনেক ইজিয়ার হবে। না হয় নিজেকে জ্ঞান সাধক, তপস্যক, জ্ঞান ঋষি হয়ে জ্ঞান বৃক্ষে ঝুলে ঝুলে বছরের পর বছর কাটিয়ে দিতে হবে। আর মনে মনে জপতে হবে– “সবুরে মেওয়া ফলে”, “সবুরে মেওয়া ফলে”। আর তুমি যখন চোখ বন্ধ করে জপতে থাকবে “সবুরে মেওয়া ফলে” তখন তোমার পাশের বাসার সবুর আংকেলের কাক এসে তোমার মেওয়া খেয়ে উড়ে চলে যাবে।
৫. আগেই ইনকামে ফোকাস করো না। আগে শিখো। বেইজটা সেট করো। স্কিল ডেভেলপ করো। কয়েকটা প্রজেক্ট করো। গিটহাব প্রোফাইল শক্ত করো। তারপর কিছু কাজ করার কনফিডেন্স চলে আসলে-সেটা দিয়ে ইন্টার্ন/চাকরি কিছু পাওয়া যায় কিনা সেটার কথা চিন্তা করো। অর্থাৎ এক সময় শেখা ফোকাসে থাকবে। সেটার মোটামুটি একটা লেভেল ক্রস করতে পারলে। তখন শেখা কন্টিনিউ থাকবে তার পাশাপাশি চাকরি/ইন্টার্ন কিভাবে পেতে হয় সেদিকেও খেয়াল করবে।
৬. অন্য কেউ কিভাবে সফল হয়েছে তার ১০০% স্ট্রাটেজি তোমার ক্ষেত্রে সেইম টু সেইম ঘটবে না। বরং তোমার সিচুয়েশন, তোমার লার্নিং এবিলিটি যেমন ইউনিক। তোমার ডেভেলপার হওয়ার প্রসেসও ইউনিক হবে। সো, কেউ একজনের কিছু একটা হয়ে গেলেই। হতাশ হওয়া যাবে না। বা কেউ কিছু একটা করে ফেলছে সেটা তুমি করতে পারো নাই বলে। সেটা নিয়ে মন খারাপ করা যাবে না। বরং সে যেটা করে ফেলছে সেটা তার কাছ থেকে শুনে নিজে নিজেও সেটা করার চেষ্টা করতে হবে। কেউ একদিনে করতে পারলে তোমার যদি দেড়দিন লাগে। সেটা নিয়ে মাথা ফাটানোর কিছু নাই।
ফাইনাল কথা হচ্ছে, ধৈর্য্য ধরে লেগে থাকা আর হার্ডওয়ার্ক করার কোন বিকল্প নাই।
লেখক: ঝংকার মাহবুব