প্রোগ্রামার হতে হলে কি কম্পিউটার সাইন্স নিয়ে পড়া লাগে?

প্রোগ্রামার হতে গেলে কি কম্পিউটার সাইন্স নিয়ে পড়া লাগে?…

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

ভালো একজন কম্পিউটার প্রোগ্রামার হতে চাইলে কম্পিউটার সাইন্স ডিগ্রি এর বিকল্প নেই, কিন্তু এই নিয়ম এখন কিছুটা সেকেলে হয়ে গিয়েছে। ইন্টারনেট থেকে দেখে শেখা প্রোগ্রামারদের দক্ষতা ডিগ্রিপ্রাপ্ত প্রোগ্রামারদের চেয়ে পিছিয়ে নেই অনেক ক্ষেত্রেই। তবে প্রোগ্রামিংয়ে ক্যারিয়ার তৈরী করতে চাইলে কম্পিউটার সাইন্সে ডিগ্রি অবশ্যই গুরুত্বপূর্ণ একটি বিষয় হতে পারে৷ প্রোগ্রামার হওয়ায় যাত্রা আরো সহজ করে দিবে কম্পিউটার সাইন্সে পড়ালেখা, তবে অনলাইন সার্টিফিকেশন বা স্বশিক্ষায় পাওয়া প্রোগ্রামিং জ্ঞানের মাধ্যমেও প্রোগ্রামার হওয়া সম্ভব।

এখন প্রশ্ন হচ্ছে কম্পিউটার সাইন্স নিয়ে না পড়ে কিভাবে প্রোগ্রামার হওয়া যায়? সেই প্রশ্নের উত্তর জানার জন্য চেষ্টা করবো এই পোস্টে।

প্রাতিষ্ঠানিক ডিগ্রি ছাড়া কম্পিউটার সাইন্স নিয়ে প্রোগ্রামার হবেন যেভাবে

প্রোগ্রামিং সম্পর্কিত কাজের প্রচুর চাহিদা রয়েছে, যা ইন্টারনেটে যেকোনো জব বোর্ডে গিয়ে সার্চ করলে বুঝা যায়। অনেক কোম্পানি ছোটো থেকে বড় কাজের জন্য ইন্টারনেট এর মাধ্যমে স্থায়ী কর্মী বা ফ্রিল্যান্সার হায়ার করে থাকে। প্রোগ্রামার হিসেবে কাজ করার আগে আপনার প্রোগ্রামিং শিখতে হবে। প্রোগ্রামিং শেখার ক্ষেত্রে আগে ঠিক করতে হবে আপনি কোন ধরনের প্রোগ্রামার হতে চান। তবেই আপনার জ্ঞানার্জনের উপর ভিত্তি করে আপনার ক্যারিয়ার সাজানো সহজ হবে।

কম্পিউটার প্রোগ্রামারগণ সফটওয়্যার এর কোডসমূহ লিখে থাকেন। এই সফটওয়্যার হতে পারে কোনো ওয়েব অ্যাপ বা কোনো মোবাইল গেম। একজন ভালো প্রোগ্রামার হতে হলে প্রত্যেকটি বিষয় গুরুত্ব সহকারে জানার চেষ্টা করতে হবে। ট্রাবলশুটিং যেহেতু প্রোগ্রামিং এর অবিচ্ছেদ্য অংশ, তাই প্রোগ্রাম তৈরীর পাশাপাশি প্রোগ্রামের সমস্যার সমাধান করতে জানতে হবে।

আবার আপনি যদি ওয়েবসাইট ডিজাইন বা তৈরী করতে চান, তাহলে ওয়েব ডিজাইনার/ডেভলপার হওয়ার সিদ্ধান্ত নিতে পারেন। ওয়েব ডেভলপার এর চাহিদাও কিন্তু বর্তমানে অনেক বেশি। এই দুইটি ক্যারিয়ারেই কিন্তু প্রোগ্রামার এর অপশন শেষ নয়। আপনি চাইলে মোবাইল অ্যাপ ডেভলপার, এনালিস্ট, এমনকি সিস্টেমস ইঞ্জিনিয়ারও হতে পারেন।

আপনি কি ধরনের প্রোগ্রামার হতে চান তা ঠিক করার পর এবার অর্জন করতে হবে আপনার বাছাই করার ফিল্ডে প্রোগ্রামিংয়ে প্রয়োজনীয় জ্ঞান। শেখার পাশাপাশি চেষ্টা করুন অনলাইন সার্টিফিকেশন যোগার করার, যা বিভিন্ন ক্ষেত্রে পারদর্শীতার স্মারক হিসেবে কাজ করবে আপনার।

অনলাইন সার্টিফিকেট একপাশে রাখলেও প্রোগ্রামার হতে গেলে কিন্তু প্রোগামিং ল্যাংগুয়েজ জানা বাধ্যতামূলক। অনলাইন কোর্স, ইউটিউব ভিডিও, বই পড়া, ইত্যাদি মাধ্যমে ঘরে বসে শিখে ফেলতে পারেন প্রোগ্রামিং। কোনো প্রোগ্রামিং ল্যাংগুয়েজে পারদর্শীতা অর্জনের পর নিজের দক্ষতার পরিসর বড় করতে নতুন নতুন প্রোগ্রামিং দক্ষতা অর্জন করতে ও নতুন প্রোগ্রামিং ল্যাংগুয়েজ শিখতে পারেন।

প্রবলেম সলভিং এর ক্ষমতা বাড়াতে হবে

এই কাজটা করা বেশ কঠিন। প্রবলেম সলভিং এর স্কিল বাড়ানো বলতে আসলে ‘তোমার বুদ্ধিমত্তাকে আরো বাড়াও’ এমনটাই বুঝায়।

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

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

ব্যর্থতা থেকে শিখতে হবে

সবার জীবনেই না পাওয়া থাকে। ব্যর্থতা থাকে। এমন কি যত যত সফল মানুষ দেখি। তাদেরও প্রত্যেকের জীবনেই ব্যর্থতার গল্প রয়েছে। সবাই জানে ব্যর্থতা থেকে বা ভুল থেকে শিক্ষা নিয়ে নিজেকে সামনের দিকে ঠেলে দিলেই সফলতা আসবে। কিন্তু সবাই এটা জানে না এই কাজটা ঠিক কিভাবে করতে হয়! আত্মসমালোচনা করো, নিজের সাথে কথা কথা বলো। নিজের ভুলগুলোর ব্যাপারে নফসকে (মন বা অন্তরকে) বলো সতর্ক হতে, ভাল দিকগুলোর জন্য নিজেকে নিজেই অ্যাপ্রিশিয়েট করো।

শুধু লেগে থাকো যে কাজই করো না কেনো, সফলতা আসবেই!

মোটিভেশন নিতে হবে

প্রোগ্রামিং কনটেস্ট তোমার প্রোগ্রামিং এর স্কিলকে ব্যাপক ভাবে বাড়িয়ে দিবে। তুমি চিন্তা করতে পারবা না যে একেকটা কনটেস্টের পর তোমার স্কিলটা কতখানি পুশ হয়! হ্যাঁ তোমাকে অনেকেই বলবে যে রিয়েল লাইফে সফটওয়্যার ডেভেলপমেন্টের জন্য এসব প্রবলেম সলভিং এর দরকার হয় না। আসলেই তাই! তুমি খুব বেশি ভাগ্যবান হলে হয়ত তোমার কোম্পানীর কোন প্রোজেক্টে ৫-১০% কাজে তোমার শেখা ডেটা স্ট্রাকচার-অ্যালগরিদম ইমপ্লিমেন্ট করতে পারবা। বা তোমার কনটেস্টের স্কিল কাজে লাগাতে পারবা। কারণ কন্টেস্ট এরিয়াটা রিয়েল ওয়ার্ল্ডের চেয়ে ভিন্ন। কিন্তু কনটেস্ট করলে তোমার দক্ষতা যতটা বাড়বে তা অন্যান্য উপায়ে অর্জন করা কঠিন। একটা জিনিস চিন্তা করো, ছোট বেলায় আমাদেরকে গণিত শেখানো হয়। তার মানে কি আমাদের সবাইকে গণিতবিদ হতে হবে? আমাদেরকে কবিতা পড়ানো হয়, রচনা লিখা শেখানো হয়। তাই বলে আমরা সবাই কি লেখক হব? গণিত শেখানো হয় যেন ব্যক্তি জীবনে হিসাব নিকাশ করতে পারি না কোন একটা বিষয়ে ভাল অ্যানালাইসিস করতে পারি। লেখালেখি শেখানোর কারণ হচ্ছে যেন তুমি যে কোন বিষয়ে তোমার মনের ভাব সুন্দর ভাবে প্রকাশ করতে পারো। প্রোগ্রামিং কনটেস্টটাও ঠিক তেমন। তোমার ভবিষ্যতের ভীতটা গড়তে সাহায্য করবে।

কনটেস্ট তুমি তখনই করতে পারবা যখন এটাকে একটা খেলা হিসেবে নিবা। ছোট বেলায় বিকালে ক্রিকেট খেলতে বের হয়ে খেলার সময় বা খেলার পর যেই আনন্দ পেয়েছিলে, সেটা যদি এখানেও পাও তাহলে কনটেস্ট তোমার জন্যেই! কিন্তু তা না হয়ে যদি চিন্তা কর “অমুক ভাই কনটেস্ট করে এখন অমুক জায়গায় বড় জব করে। আমিও কনটেস্ট করবো” তাহলে মনে হয় না খুব বেশি দূর আগানো সম্ভব। কনটেস্ট ছাড়াও অনেক ভাল প্রোগ্রামার আছেন। অনেক বড় বড় প্রোগ্রামার আছেন যারা কনটেস্ট এর ব্যাপারে আগ্রহী না। যদি তোমার আগ্রহ না থাকে তাহলে জোর করার দরকার নাই। কারণ, জোর করে ভালোবাসা হয় না!

Leave a Comment