আপনি যদি ভাবেন C ,C++ , Java , PHP ইত্যাদি এর বেসিক শিখবেন। তারপর যদি ছাত্র জীবনে GitHub , stack overflow , Forum’s থেকে Code কপি করে কিংবা Google ঘেটে Demo Projects download করে পাশ করে যান।

তাহলে ভবিষ্যতে বেকারত্ব , হতাশা , হীনমন্যতা অপেক্ষা করে বসে আছে আপনার জন্য।
৪ বছর যে ফাঁকিবাজি করেছেন, এই সময়ের ঋণ আপনাকে পরিশোধ করতে হবে ঘরে বসে বসে একা একা শিখার মাধ্যমে ও মানুষের কটু কথা হজম করার মাধ্যমে। এখন শ্রম ও দিতে হবে দিগুন।

তারপর আবার আপনি শিখতে শিখতেই নতুন কিছু চলে আসবে, তারপর আবার সেটাও শিখতে হবে। এই সব করতে করতে বয়স শেষের দিকে চলে যেতে পারে।

তারপর ? ভালো প্রতিষ্ঠানে চাকরি করতে গেলে Problem Solving এর গুন থাকতে হবে। তাদের অধিকাংশই আপনার কাছে LeetCode এর মত সাইটে আপনার কত problem solve করা আছে সেটা দেখতে চাইবে। বিশেষ করে নতুনদের এটা বেশি হয়।

আর নয়তো Mid or Hard লেভেল এর একটা Problem ইন্টারভিও তে সমাধান করতে দিবে।
কেমনে করবেন ? আপনি তোহ ভার্সিটি লাইফে করেছেন ফাঁকিবাজি, করেছেন টুকিটাকি প্রজেক্ট যেগুলোতে তেমন Complexity Solve করতে হয়নি আপনাকে।

আদৌ পারবেন আপনাকে দেয়া সমস্যা সমাধান করতে ?

নিজেকে এই Almost Never Ending Loop থেকে বের করবেন কিভাবে ?

দিন দুনিয়ার সবাইকে ত্যাগ করে, নিজের রুমে নিজেকে বন্ধী করুন।

টানা ৬ – ১২ মাস শুধুই শিখার পিছনে ব্যয় করবেন। একজন সিনিয়রের থেকে Proper Guidance নিয়ে উঠে পড়ে লাগবেন শিখার পিছনে।

There are no alternative to this ! It’s a do or die situation for you.

কারণ একটা সময় অতিবাহিত হয়ে যাওয়ার পর আপনি আর এই Track এ সহজে প্রবেশ করতে পারবেন না।

নিজেকে এই Almost Never Ending Loop এ পড়ার হাত থেকে বাঁচাবেন কিভাবে ?

 

যদি নরমাল ( Low to Mid ) উনিভার্সিটির শিক্ষার্থী হোন, তাহলে সবার আগে একাডেমিক পড়ালেখা কে লাথি মারবেন। আপনার জন্য ভার্সিটি মানে শুধুই সার্টিফিকেট …

ল্যাব ক্লাসে যে কি কচু শিখায় সেটা আমার ভালো ভাবেই জানা আছে।

জাস্ট CGPA 3 এর ঘরে রাখার মত পড়বেন।
Non-Dept. সাবজেক্ট কে পাত্তাই দিবেন না ।

এই সাবজেক্ট গুলোতে খালি কোন রকম পাশ করার চিন্তা করবেন। আর এতে করে যে সময় টুকু বাঁচাতে পারবেন সেটা ব্যয় করবেন মাত্র ১ টা programing language শিখতে।

C , C++ বাদ …
Python , Java , C# , PHP এই ৪ টার যে কোন একটা ধরেন। এই ৪ টার মধ্যে যে language টা select করবেন শিখার জন্য, সেটাতেই expert level অবধি যাবেন।

২ সেমিস্টারে যে কোন একটাতেই expert হোন। ২ সেমিস্টার মানে ৮ মাস , যথেষ্ট সময়।
তারপর data structure শিখুন।

YouTube এ Abdul Bari নামের এক Indian Teacher এর লেকচার পাবেন। আমার মনে হয় তার Data Structure এর ভিডিও গুলো এক কথায় Extra ordinary …

তারপর ? এখন LeetCode এ account করেন। বসে বসে দিনে অন্তত ১ টা করে Problem solve করেন, At least চেষ্টা করেন।
এতে করে আশাকরি যখন পাশ করবেন ততদিনে ৩০০+ problem solve করতে পারবেন।

problem solving এর অভ্যাস হয়ে যাওয়ার পর, ইচ্ছা করেই কঠিন গুলোতে হাত দিবেন। পারবেন কি পারবেন না ঐটা দেখার বিষয় না। কারনে ঘুরাই ফিরাই আপনাকে পারতেই হবে, Coding এর মজা তোহ এইখানেই।

যাইহোক, এইভাবে সমস্যার সমাধান করতে করতে একটা সময় আসবে যখন আপনার মস্তিষ্ক বেশ দ্রুত দৌড়াবে। Programing জিনিসটা ডাল্ভাত মনে হবে। ভয় কেটে যাবে, সমস্যা আর সমস্যা মনে হবে না।

আপনাকে নিজে নিজে দ্রুত শিখার গুন রপ্ত করতে হবে।

উদাহরণ দেই,
আমার প্রথম চাকরিতে ( Intern ) একবার দরকার পড়লো jQuery, jQuery Documentation ঝাঁঝাঁয় ফেলছি কয়দিনেই।

তারপর দরকার পরলো JavaScript এটাও শুরুতে হালকা তারপর একটু সময় নিয়ে পুরাটাই একেবারে গিলে খেয়েছি।
তারপর দরকার পড়লো Front End শিখার কিন্তু বেসিক, এইটাও ঝাঁঝাঁয় ফেলেছি ।

তারপর ভাবলাম এইবার একটা Front End Framework শিখেই ফেলি। করলামও তাই, একটা Framework শিখেও ফেললাম।
মাস খানেক আগেও ছিলাম Back End Developer।

কিন্তু বর্তমানে Fullstack developer ( Frontend + backend both ).
তারপর দরকার পরলো লিনাক্স , এইটা school এ থাকতেই শিখেছিলাম।

নিজের একটা শখের প্রজেক্ট করতে দরকার পড়লো UI / UI … তাই শিখলাম Photoshop , illustrator , Adobe XD,

হটাত দেখি সব যায়গায় tailwind… tailwind করতেছে, খোজ নিয়ে দেখি এইটা নতুন এসেছে। কিন্তু বেশ কাজের এবং Bootstrap গত হয়ে যাচ্ছে, টুপ করে Tailwind শিখে ফেলেছি।

সার্ভারে host করতে গিয়ে একবার বেশ যন্ত্রনায় পড়ছিলাম, ঝামেলা মিটাতে apache spark সম্পর্কে ধারনা নিলাম, এইটাও হালকা বুঝি এখন।

তারপর হুট করে প্রয়োজন পড়ায় গোটা livewire শিখে ফেলেছি।

তারপর দেখি livewire এর সাথে inertia Js জানা থাকলে বেশ কাজে দেয়। এইটাও শিখে ফেলেছি।

নোটঃ একা একা YouTube, Google আর Documentation পড়ে পড়ে শিখা।
এই গুনটা আপনার থাকতেই হবে। নয়তো টিকতে পারবেন না। আপনাকে কি সারাজীবন অন্যরা শিখিয়ে যাবে ?

বাংগালী যে হিংসুক জাতি, এই জাতি তোহ Intern কেই শিখাতে চায় না।…

ভাই CSE তে চাকরি আছে ?

আছে বেশ ভালোই আছে। চাকরির পরিমান কম হলেও, যোগ্য প্রার্থীর চেয়ে চাকরির পরিমান বেশী বলতে পারেন।

কোম্পানীর সিনিয়র ইঞ্জিনিয়ারগন ইন্টারভিউ নিতে নিতে কি পরিমান ডিপ্রেশনে পড়ে যায় আপনাকে বলে বুঝানো যাবে না।

এমন অবস্থাও সৃষ্টি হতে দেখেছি যে, ভাইবা বোর্ডের সবাই শুধু এতটুকুই আশা করে বসে আছে যে, ক্যান্ডিডেট শুধু পাশ মার্ক অর্জন করতে পারলেই চাকরিতে নিয়ে নিবে।

কিন্তু ক্যান্ডিডেট গুলো মুখস্ত বিদ্যার জোরে মৌখিক প্রশ্নে ভালো করলেও, আসল জায়গা মানে Problem solving ও Creativity তে গিয়ে ডাব্বা মারে।

এই একটা বিষয়ে ডাব্বা মারলে আপনি কোথাও চাকরি পাবেন না। CSE তে মুখস্ত বিদ্যার স্থান প্রায় শুন্যের কোঠায়। বলতে পারেন সম্পূর্নটাই Problem solving & Creativity …
Communication টাও গুরুত্বপূর্ণ।

আপনি যদি যথেষ্ট জানেন এবং যদি আপনার Problem Solving skills ভালো হয়। তাহলে অনায়াসেই চাকরি পেয়ে যাবেন।

এই সকল ডিপ্রেসড সিনিয়র ইন্টারভিওয়ার আপনার মত কাউকে পাওয়ার আশায় তীর্থের কাকের মত অপেক্ষায় আছে।

কিন্তু যথেষ্ট দক্ষ হতে বেশ কাঠ খড় পোড়াতে হবে আপনাকে।

আমি যখন Noob ছিলাম, তখন প্রতিদিন সকাল দশটায় কম্পিউটার এর সামনে বসতাম আর রাত ২ টার দিকে উঠতাম। কখনো বা ভোর হয়ে যেত কম্পিউটার এর সামনে থেকে উঠতে উঠতে।

আমার যে খুব মজা লাগতো কাজ করতে, সেটা কিন্তু না। মাঝে মাঝে একেবারেই মাথা কাজ করতো না। তখন ৩-৪ দিন কোন কাজ করতাম না। বিশ্রামে থাকতাম।

কিছু বিষয় ছাত্র জীবনে খেয়াল রাখবেনঃ
আপনার যে সকল বন্ধু CSE তে পড়ালেখা করছে কিন্তু প্রোগ্রামিং এর ব্যাপারে বেখেয়ালি তাদের এড়িয়ে চলুন । এরা আপনার উজ্জ্বল ভবিষ্যতের শত্রু।

আপনার যে সকল বন্ধু অন্য বিষয়ে পড়ালেখা করছে, তাদের থেকেও দূরে থাকেন, যতদিন না আপনি নিজের ক্যারিয়ার সেট করতে পারছেন।
শিক্ষক তেমন কোন কাজের না, থাকা না থাকা অনেকটাই একই বিষয়। বিশেষ করে যদি নরমাল ভার্সিটিতে পড়েন।

এমন বড় ভাইদের সাথে সম্পর্ক রাখেন যারা Programing নিয়েই থাকে, এরা আপনার জন্য সেরা শিক্ষক। যে জিনিস শিখতে আপনার ১ মাস লাগবে, বড় ভাইরা সাহায্য করলে ১ সপ্তাহ লাগবে।

সব ব্যাচেই কিছু ছেলে মেয়ে থাকে যারা মেধাবী , পরিশ্রমী হয়। তাদের সাথেই থাকুন। কিছুটা গুন তার থেকে আপনার মাঝেও আসবে।
মানুষ আপনাকে অসামাজিক বলবে, ঐসব কথা কানে নিয়েন না।

Keep Practicing …

বেশি হতাশা চেপে ধরলে নিজেকে নিজেই বলবেন যে, ‘People are rewarded in public for what they have practiced for years in private’

আপনি Depressed Public হলে CSE আপনার জন্য না।

দিনে যদি মিনিমাম ৫-৬ ঘন্টা সময় Practice & learning এর পিছনে ব্যয় করার মত আর্থিক ও পারিবারিক অবস্থা আপনার না থাকে। তাহলে CSE আপনার জন্য না। এই ভাবে টেনেটুনে পাশ করলেও ফলাফল শূন্য হবে।

ভুলেও Expert Software Engineer হওয়ার আগেই Freelancing এর দিকে যাবেন না। এতে আপনার লস নেই, লাভ আছে।

Expert Software Engineer এর hourly rate আমি $200 অবধিও দেখেছিলাম Upwork এ। দিনে ৮ ঘন্টা কাজ করলে ১ লক্ষ ৩০ হাজার টাকার বেশী হয়। মাসে প্রায় ৪০ লক্ষ টাকা …

তাই শুরুতেই আগেই খাই খাই করে Freelancing এ যাইয়েন না। আগে Experience gain করেন। দেখবেন কাজে দিবে …

আর একটা ভুল মার্কেটিং সম্পর্কে বলি,
দেখবেন কিছু বেশী পাকনা লোকে বলে বেড়ায় যে, ‘Programing সবার জন্য !’ …

কিন্তু বাস্তবতা হচ্ছে Programing সবার জন্য না।
কিছু মানসিক গুন আপনার মাঝে আগে থেকেই থাকতে হবে। নয়তো CSE তে সুবিধা করতে পারবেন না।

রাস্তার পাশের আইটি প্রতিষ্ঠান থেকে ৬ মাসের কোর্সর তুচ্ছ জ্ঞান দিয়ে Software Engineer / developer হওয়া যায় না। রাজমিস্ত্রি আর সিভিল ইঞ্জিনিয়ার এর পার্থক্য বুঝেন নিশ্চয় ?

পরিশেষে বলতে চাই যে,
CSE তোহ পানির মত সহজ , CSE তে ভর্তি হবেন ? 🐸

লেখাঃ Shahriar Ahmad