সিএস, সিএসই, এসই নাকি আইসিটি?

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

আমি যেহেতু অনেক বছর আগে বিশ্ববিদ্যালয়ে ভর্তি হয়েছিলাম, তাই আমি ‘প্রোগ্রামিং স্কুল'[১] গ্রুপে একটি পোস্ট দেই এবং সেখান থেকে বিভিন্ন বিশ্ববিদ্যালয়ের সিলেবাস জোগাড় করি। বিভাগের নামগুলো ভিন্ন হলেও সিলেবাস কিন্তু খুব কাছাকাছি। এখন চল, একটু জেনে নিই, আন্ডারগ্রাজুয়েট পর্যায়ে কোন কোন বিষয়গুলো ভালোভাবে পড়লে সেটা একজনকে ভালো সফটওয়্যার প্রকৌশলী হিসেবে বেড়ে উঠতে সহায়তা করে?

প্রথমেই জানতে হবে কম্পিউটার সম্পর্কে মৌলিক ধারণা, আর সেটি পাওয়া যাবে Introduction to Computer নামক কোর্সে। তারপর Structure Programming (স্ট্রাকচার্ড প্রোগ্রামিং)। সাধারণত আমাদের দেশের বিশ্ববিদ্যালয়গুলো এই বিষয়টি পড়ানোর সময় সি ল্যাঙ্গুয়েজ শেখায়। আর সেই সাথে Discrete Mathematics (ডিসক্রিট ম্যাথমেটিক্স)। এটিও দেখবে সিলেবাসে আছে।

তারপরে আমাদের শিখতে হবে Object Oriented Programming (অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং), Data Strucutre (ডাটা স্ট্রাকচার) ও Digital Logic (ডিজিটাল লজিক)। সেগুলোও দেখবে সব বিষয়ের সিলেবাসেই আছে।

এর পরের ধাপ রয়েছে কম্পিউটার নেটওয়ার্কিং (Computer Networking), মাইক্রোপ্রসেসর ও অ্যাসেম্বলি ল্যাঙ্গুয়েজ (Microprocessor and Assembly Language), কম্পিউটার আর্কিটেকচার (Computer Architecture) ও অপারেটিং সিস্টেম (Operating System)। এগুলোও আবশ্যিক বিষয়, মানে জানতেই হবে। তাই তোমরা যদি ভার্সিটির সিলেবাসগুলো খেয়াল করো, দেখবে যে এই বিষয়গুলো আছেই, থাকতেই হবে।

আর বাকি রইল ডাটাবেজ (Database), অ্যালগরিদম (Algorithm), আর্টিফিশিয়াল ইন্টিলিজেন্স (Artifical Intelligence) ও সফটওয়্যার ইঞ্জিনিয়ারিং (Software Engineering)। এই বিষয়গুলোও না জানলেই নয়।

এখন তুমি যদি কোনো বিশ্ববিদ্যালয়ের কম্পিউটার সায়েন্স সংশ্লিষ্ট কোনো বিভাগে ভর্তি হতে চাও, তাহলে সেই বিভাগের (মানে ডিপার্টমেন্টের) সিলেবাসটি দেখে নাও, যদি উপরে যেসব বিষয়ের কথা উল্লেখ করলাম, সেগুলো থাকে, তাহলে নিশ্চিন্তে ভর্তি হয়ে যাও।

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

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

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

[১] https://www.facebook.com/groups/programming.school/

[২] https://www.facebook.com/DimikComputing (কম্পিউটার সায়েন্সের কিছু বিষয় সহজভাবে বোঝানের জন্য তৈরি করা হয়েছে দ্বিমিক কম্পিউটিং স্কুল। সেখানে ইতিমধ্যে প্রোগ্রামিংয়ে হাতেখড়ি, ওয়েব কনসেপ্টস ও ডিসক্রিট ম্যাথের উপর বাংলায় অনলাইন কোর্স আয়োজন করা হয়েছে। সামনে আরো কিছু কোর্স আসছে।)

আউটসোর্সিং গন্তব্যের শীর্ষ তালিকায় বাংলাদেশ

বিশ্বের নামকরা গবেষণা প্রতিষ্ঠান AT Kearney-এর শীর্ষ ৫০টি আউটসোর্সিং গন্তব্যের দেশের মধ্যে প্রথমবারের মতো স্থান করে নিল বাংলাদেশ। কয়েকবছর পরপর এই গবেষণা প্রতিষ্ঠানটি এই তালিকা তৈরি করে, যেটি সারা বিশ্বের বিনিয়োগকারীরা অত্যন্ত গুরুত্বের সাথে বিবেচনা করেন। বাংলাদেশের বর্তমান অবস্থান সারা পৃথিবীতে ২৬, আর এশিয়ার মধ্যে ১০!

akterney-ranklist

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

basis-pc
ছবি : বেসিস

বেসিসেের সাবেক সভাপতি ও বিডিজবস্-এর সিইও ফাহিম মশরুর ফেসবুক বার্তায় বলেন, ‘এই অর্জনের প্রধান কৃতিত্ব বাংলাদেশের হাজার হাজার আই-টি তরুণ উদ্যোক্তা আর আউটসোর্সিং পেশাজীবিদের।’ বিডিওএসএনের সাধারণ সম্পাদক মুনির হাসান ফেসবুকে বলেন, ‘এটিকার্নির শীর্ষ ৫০ তালিকায় স্থান পাওয়ার জন্য বাংলাদেশের সকল তথ্যপ্রযুক্তি কর্মীকে অভিনন্দন জানাই্’।

তালিকায় শীর্ষ তিনটি দেশ হচ্ছে ভারত, চীন ও মালয়েশিয়া। তালিকা তৈরিতে মূলত তিনটি বিষয় প্রাধান্য পায় – দেশের অর্থনীতির আবেদন (Financial attractiveness), কর্মীদের সংখ্যা ও দক্ষতা (People skill and availability) এবং ব্যবসার পরিবেশ (Business Environment)।

সম্পূর্ণ রিপোর্টটি দেখা যাবে এখানে : http://goo.gl/Dq45Km

সাক্ষাৎকার : আল-মামুন সোহাগ

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

al-mamun

সুবিন : বর্তমান কাজ কোথায় এবং কী নিয়ে?
আল-মামুন : আমি বর্তমানে কানাডা তে অবস্থান করছি। Ratrod Studio, Inc এ Senior গেম ডেভেলপার হিসাবে দায়িত্বরত আছি। প্রধানত আমি গেম ডেভেলপার, মোবাইল ডিভাইস এর জন্য গেম বানাই। iOS/Android/Windows8/Windows Phone এবং Console এর জন্য sports/racing টাইপ এর গেম গুলোই বর্তমান কোম্পানি তৈরি করে থাকে।

সুবিন : গেম তৈরিতে আগ্রহী হওয়ার কারণ কী?
আল-মামুন : আমি গেম ডেভেলপার হবো, এই বিষয়টা Aim in Life রচনায় কখনও লিখি নাই। তবে কম্পিউটার ইঞ্জিনিয়ারিং পড়ার ইচ্ছা ছিল। যদিও বিশ্ববিদ্যালয়ে ভর্তি হওয়ার পর প্রথম কম্পিউটারে টাচ করেছিলাম। এর আগে শুধু TV আর সিনেমাতে কম্পিউটার দেখেছি। বিশ্ববিদ্যালয় থেকে বের হওয়ার পর একটা কোম্পনি তে ইন্টারভিউ দেই, ওরা বাংলাদেশে AAA ধরনের গেম বানাতে ডেভেলপার খুঁজছিল কিন্তু কাউকে পাচ্ছিল না। আমি গেম ডেভেলপার হিসাবে ইন্টারভিউ দেই, পরে ওরা আমাকে সিলেক্ট করে। যদিও আমি ইন্টারভিউ এর পরে একটা ছোট একটা গেম এর ডেমো বানিয়ে দেই দুই দিনে। হয়ত ওইটা ওদের আমাকে পছন্দ করার কারণ।

সুবিন : এখন পর্যন্ত বানানো সেরা গেম?
আল-মামুন : এখন পর্যন্ত অনেক গেমই বানিয়েছি। সব সেরা গেমগুলোই মোবাইল ডিভাইসের জন্য। যদিও ফেইসবুক সহ অনেক প্লাটফর্মে আমার বানানো গেম আছে। আমার বেস্ট কিছু গেম নিচের লিঙ্ক পাওয়া যাবেঃ
https://itunes.apple.com/us/artist/ratrod-studio-inc./id355894663
https://play.google.com/store/search?q=ratrod%20studio%20inc

সুবিন : সোশ্যাল গেম, ডেস্কটপ গেম এবং মোবাইল গেম, সব প্ল্যাটফর্মেই কাজ করা হয়েছে। এগুলোতে কাজ করার অভিজ্ঞতা কোনটার কেমন?
আল-মামুন : এক একটা প্লাটফর্ম এ এক এক রকম ফান এন্ড চ্যালেঞ্জে। সোশ্যাল গেম এর ইউজার casual গেম খেলতে পছন্দ করে, তাই সিম্পল কিন্তু addicting করা লাগে। দুনিয়াতে সিম্পল কিছু করা সবচে কঠিন কাজ, কারণ এক এক জন এক একটা ব্যাপারে simplicity খুঁজে পায়। ডেস্কটপ আর কনসোল হলো গেমারদের সবচেয়ে প্রিয়। সব Next Gen technology সবার প্রথমে এই ২ টা তে আসে। AAA গেম এখনও বানানোর সৌভাগ্য হয় নাই। ওইটার জন্য অনেক বড় বাজেট এবং টিম লাগে। আমি সবচে বেশি কাজ করেছি মোবাইল প্ল্যাটফর্মে। এই প্লাটফর্মটা এখন সব থেকে প্রমিজিং। তার অবশ্য অনেক কারণ আছে। এখন সবার হাতে মোবাইল, সবাই এটাকে এন্টারটেইনিং ডিভাইস হিসাবে নিয়েছে। মোবাইল ডিভাইসগুলো দিন দিন পাওয়ার হাউস এ পরিণত হচ্ছে। তার পরেও মেমোরি, গ্রাফিক্স এবং ফিজিক্স গণনা অনেক চিন্তা ভাবনা করে করতে হয়। বর্তমানএ আমি শুধু গেম নিয়ে আর কাজ করছি না, অ্যাড সিস্টেম, মনেটাইজেশন এবং নেটিভ সিস্টেম ইন্টিগ্রেশন নিয়ে কাজ করছি।

সুবিন : একটা বড় গেম তৈরি করতে কী ধরনের লোক দরকার হয়? খরচই বা কেমন?
আল-মামুন : আমরা যদি ডেস্কটপ অর কনসোল গেমের কথা বলি তাহলে ওইটার হিসাব সম্পূর্ণ আলাদা। একটা ডেস্কটপ অর কনসল গেম বানাতে মিলিয়ন ডলার খরচ করতে হয়। NFS টাইপ এর একটা গেম বানাতে অন্তত ২ থেকে ৩ বছর ডেভেলপমেন্ট টাইম ধরতে হবে, যেখানে ২০০ থেকে ৩০০ প্রোগ্রামার, আর্টিস্ট, প্রডিউসাররা কাজ করবে। মোবাইল এর জন্য একটা ত্রিমাত্রিক গেম বানাতে ৬ মাস থেকে ১ বছর সময় লাগে, কিন্তু সব কিছুই নির্ভর করবে ডিজাইন এর উপর। কোন প্রোফেশনাল গেম বানানোর খরচ ৩০,০০০ – ৫০,০০০ ডলার এর নিচে হয় না (সবকিছুই নির্ভরশীল ডিজাইন এর উপর)। আবার ছোট 2D গেম ৪০০০ থেকে ৫০০০ ডলার এ করা যায়।

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

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

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

সুবিন : যারা এখনও বিশ্ববিদ্যালয় পর্যায়ের শিক্ষার্থী, তারা ভবিষ্যতে গেম তৈরির কাজে আসতে চাইলে এখন থেকেই কি তাদের কোনো প্রস্তুতির দরকার আছে? যদি থাকে, তাহলে সেগুলো কী কী?
আল-মামুন : গেম ডেভেলপমেন্টে আসতে হলে সবার আগে বের করতে হবে, সে গেম এর কোন বিষয়ে নিজেকে এক্সপার্ট হিসাবে দেখতে চায়। এক এক জন এক একটা ব্যাপারে আনন্দ খুঁজে পায়। তারপর সেই বিষয়ের উপরই ধ্যান-জ্ঞান করতে হবে। যেমন, গেম প্রোগ্রামার হওয়ার জন্য সবার আগে একটা প্রোগ্রামিং ল্যাঙ্গুয়েজ জানতে হবে। কোন ল্যাঙ্গুয়েজ তা ব্যাপার না, জানতে হবে কিভাবে লজিক দাঁড় করতে হয়। যে ধরেনের গেম খেলতে পছন্দ করে, সেগুলা নিয়া টেকনিকাল এনালাইসিস করতে হবে। বুঝতে হবে, কী ভাবে কাজগুলা হয়, আর্ট পাইপ লাইন বুঝতে হবে। আর্টিস্ট এর সাথে কমিউনিকেট করতে জানতে হবে। টুলস সম্পর্কে জানতে হবে। তারপর নিজে নিজে ডেমো বানাতে হবে। চেষ্টা করতে হবে একটা প্রোডাক্ট বানানোর। কেউ যদি এই স্টেপ ফলো করে তাহলে নিজের চাকরি নিয়া কখনো চিন্তা করতে হবে না, চাকরি তার কাছে চলে আসবে। ধরা যাক একটা ছেলে বা মেয়ে বিশ্ববিদ্যালয় থেকে বের হওয়ার আগে একটা Angry Bird টাইপ এর একটা গেম বানিয়ে তার প্রোফাইল হিসাবে দেখালো, তাহলে কোনো কোম্পানি তাকে নিতে দ্বিধা বোধ করবে না।

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

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

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

সুবিন : এবার আসি একটু অন্য প্রসঙ্গে। কোন কোন স্কুল ও কলেজে লেখাপড়া করা হয়েছে? [আমি এই প্রশ্নটা সবাইকেই করছি, যাদের ইন্টারভিউ নিচ্ছি। এর একটা কারণ আছে।]
আল-মামুন : আমার স্কুল এর নাম রাওতরা মাধ্যমিক বিদ্যালয়। আমি জানি আমার পরিচিত কেউ এই নাম শুনে নাই। শোনার কথাও না। ঢাকা থেকে ৩০০ কিমি. দুরের একটা গ্রাম এর স্কুল। উচ্চ মাধ্যমিক অবশ্য মাগুরা গভ কলেজে করেছি। সাকিব আল হাসান এর মাগুরা, তাই সারা দেশ নামটা জানে।

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

এরকম ১২টি সাক্ষাৎকার নিয়ে প্রকাশিত হয়েছে “প্রোগ্রামিং ক্যারিয়ার গাইডলাইন : এক ডজন প্রোগ্রামারের কথা”। বইটি পাওয়া যাচ্ছে নীলক্ষেতের হক লাইব্রেরি ও রকমারি ডট কম-এ। বিস্তারিত জানতে ওপরের ছবিতে ক্লিক করুন।

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

লিনাক্স

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

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

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

বাংলাদেশে নব্বইয়ের দশকের মাঝামাঝি কয়েকটি আইএসপি (ইন্টারনেট সার্ভিস প্রোভাইডার) চালু হয়। সেগুলো প্রত্যেকেই লিনাক্সের উপর নির্ভরশীল ছিল। বিডিকম অনলাইন লিমিটেডের সুমন আহমেদ সাবির বলেন, “সেই সময় আমরা কার্ণেল ১.০ তে কাজ শুরু করি। শেখার জন্য কিছু বই আর ডকুমেন্টেশন ছিল, সেগুলো ঘেঁটে ঘেঁটেই আমাদের শেখা। সার্ভারের কাজের জন্য ইউনিক্সই তখন বিশ্বব্যাপী সমাদৃত ছিলো, কিন্তু ওগুলোর দাম ছিল অনেক বেশি, তাই আমাদের জন্য লিনাক্স ব্যবহারের কোনো বিকল্প ছিলো না।” বর্তমানেও বাংলাদেশের আইএসপিগুলোর প্রথম পছন্দ লিনাক্স। তবে এখন কাজ অনেক সহজে করা যায়, আগে যেই কাজ করতে হয়ত তিন-চার দিন সময় চলে যেত, সেই কাজ এখন তিন-চার ঘণ্টায় করে ফেলা যায়। আর ইন্টারনেটের সহজলভ্যতার জন্য নতুন কিছু শিখে নিতে তেমন বেগ পেতে হয় না।

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

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

বিভিন্ন ওপেন সোর্স সফটওয়্যার :
ব্রাউজার : মজিলা ফায়ারফক্স, ক্রোমিয়াম (গুগল ক্রোমের ওপেন সোর্স ভার্শন)
ডকুমেট প্রসেসর : লিব্রা অফিস রাইটার
স্প্রেডশীট : লিব্রা অফিস ক্যাল্ক
মাল্টিমিডিয়া প্রেজেন্টেশন : লিব্রা অফিস ইমপ্রেস
ইনস্ট্যান্ট মেসেজিং : পিজিন
ইমেজ এডিটিং : গিম্প
ভিডিও প্লেয়ার : ভিএলসি

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

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

যারা উবুন্টু ব্যবহারে আগ্রহী, তাদের জন্য দ্বিমিকের লিনাক্সের সঙ্গে পরিচয় কোর্সটি উপযোগি। এবং এই অনলাইন কোর্সটি সবার জন্য ফ্রি।

নোট : আমার এই লেখাটি প্রথম আলোতে প্রকাশিত হয় আগষ্ট ২৯, ২০১৪ তারিখে। লিঙ্ক : http://www.prothom-alo.com/technology/article/304102/

সাক্ষাৎকার : রুহুল আমীন সজীব

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

সজীব (বামে)
সজীবের (ছবির দিকে তাকালে বামে) সাথে আমি, পিপীলিকা টিমের একটি অনুষ্ঠানে।

সুবিন : সজীব, কী খবর?
সজীব : এই তো সুবিন ভাই। খবর সব কিছু মিলিয়ে ভালই। আপনি কেমন আছেন?

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

সুবিন : শুনলাম এক বিখ্যাত প্রফেসরের সাথে কাজ করছ?
সজীব : আমি কাজ করছি স্টিভেন স্কিইনা এর সাথে। উনি এলগরিদম আর ডাটা সায়েন্স নিয়ে কাজ করেন।

সুবিন : স্কিইনা তো আমাদের পরিচিত। মানে তাঁর Algorithm Design Manual বইটি আমরা অনেকেই পড়েছি। তিনি লোক কেমন?
সজীব : স্কিইনা খুবি মজার লোক। উনি এখানে এলগরিদম এর সেমিনার পরিচালনা করেন। স্টোনি ব্রুক সিএস এর এসিএম এর গ্রুপগুলি দেখাশোনা করেন।

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

সুবিন : তুমি কোন ভার্সটিগুলাতে অ্যপ্লাই করেছিলে?
সজীব : আমি প্রায় ৮ টি টপ স্কুলে এপ্লাই করেছি। মাঝারি মানের ৪ টি তে এপ্লাই করেছি। অফার পেয়েছি কার্নেগি ম্যালন (মাষ্টার্স ফলোড বাই পিএইচডি), স্টোনি ব্রুক (পিএইচডি উইথ ফেলোশীপ), ইউএমবিসি বাল্টিমোর (পিএইচডি) তে।

সুবিন : স্টোনি ব্রুকে কেন ভর্তি হলে?
সজীব : আমি যেখানেই এপ্লাই করেছি, সেখানে আমার রিলেটেড কাজ হয় কিনা সেই ব্যাপারটিতে প্রাধান্য দিয়েছি। স্টোনি ব্রুক এর সিএস অনেক বড় ডিপার্টমেন্ট। এখানে কমবেশী প্রায় সব কিছু নিয়েই কাজ হয়। আমার আগ্রহ ছিল এনএলপি (NLP), আইআর (IR) বা এলগরিদম নিয়ে।  স্টোনি ব্রুকে আমার পছন্দের কয়েকজন প্রফেসর ও আছেন। স্টিভেন স্কিইনা তাদের মধ্যে অন্যতম। আমি মূলত স্টিভের ডাটা সায়েন্স ল্যাবের কথা মাথায় রেখে এপ্লাই করি। পাশাপাশি আমার আগ্রহের সাথে রিলেটেড আরো কয়েকটা ল্যাবের কথাও আমি আমার স্টেটমেন্ট অব পারপাসে উল্লেখ করি। যাই হোক, প্রথমত আমাকে এক্সেপ্ট করেন প্রফেসর মাইকেল কিফার। উনি নলেজ রিপ্রেজেন্টেশান নিয়ে কাজ করেন।

সুবিন : স্টেটমেন্ট অব পারপাস যাকে সংক্ষেপে SOP বলে, সেটি কতটা গুরুত্বপূর্ণ? এটি লেখার ব্যাপার কোনো টিপস্ ?
সজীব : পিএইচডিতে যে কোন বিশ্ববিদ্যালয়ে এপ্লিকেশনের জন্য SOP এর উপর অন্তত ৫০% গুরুত্ব আরোপ করা হয়। তাই SOP অবশ্যই খুব ভালো করে লিখতে হবে। আমি SOP নিয়ে অনেক চিন্তা ভাবনা করেছি। অনেকের অভিজ্ঞতা জেনেছি। তারপরে নিজের SOP লিখেছি।
এতে মূলত নিচের ব্যাপার গুলি থাকে :
১। আমি কি করতে চাই
২। আমার আগ্রহের কাজ করার জন্য আমি আন্ডারগ্রেডে কি পড়েছি, বা করেছি, আমার কোন অভিজ্ঞতা
৩। এই কাজ নিয়ে আমার ভবিষ্যৎ পরিকল্পনা
৪। এবং আমার এই গবেষনা করার জন্য যে বিশ্ববিদ্যালয়ে এপ্লাই করছি তার কি প্রয়োজন
এই সব নিয়েই সাধারণত একটি SOP লেখা হয়। এক কথায়, SOP তে নিজেকে কেউ আইন্সটাইন প্রমাণ করার থেকে নিজের যে পজটিভ দিকগুলো এবং অভিজ্ঞতা আছে এবং সেগুলো কিভাবে একজনের আগ্রহের বিষয়বস্তুতে গবেষণা করতে সাহায্য করতে পারবে তাই তুলে ধরতে হয়।

সুবিন : তুমি যেহেতু বেশ কিছুদিন শিক্ষকতা করেছ, নিশ্চয়ই এমন প্রশ্ন ছাত্রছাত্রীরা তোমাকে কর, ‘স্যার, প্রোগ্রামিং করতে গিয়ে লেখাপড়া করার সময় পাই না, তাই ভালো রেজাল্ট করতে পারি না’। কিংবা ‘স্যার, প্রোগ্রামিং করলে আমার লেখাপড়ার ক্ষতি হয়, তাই প্রোগ্রামিং করি না।’ এদেরকে তুমি কী উত্তর দাও?
সজীব : আমি কখনোই মনে করিনা যে প্রোগ্রামিং একজনের পড়ালেখায় সময় নষ্ট করে। প্রোগ্রামিং করার সময়ে একজন মাথা খাটিয়ে, কাগজে আঁকিবুকি করে, বা একটি এলগরিদম ডিজাইন করার সময়ে যে অভিজ্ঞতা অর্জন করে, তা যেকোন ধরনের বুকিস পড়ালেখার থেকে ভালো। সিএস (CS : Computer Science)-এ যেকোন ধরনের পড়ালেখার ৭০% কাজ হল প্রব্লেম সল্ভিং রিলেটেড। আর আমরা প্রব্লেম সল্ভ করি প্রোগ্রামিং করে। অতএব, আমি মনে করি প্রোগ্রামিং না জানলে সিএস এর বেশীরভাগ কাজ করা অনেক দূরহ হয়ে পরে।

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

সুবিন : যদিও মেয়েদের বয়স আর ছেলেদের সিজিপিএ জিজ্ঞাসা করতে হয় না, তবুও, তোমার সিজিপিএ কত ছিল? এটি হয়ত পাঠকদের অনুপ্রাণিত করতে পারে।
সজীব : হা হা। আমার সিজিপিএ ৩.৯৬। এতে করে কেউ যেন আবার ভেবে না বসে যে এই জন্যই আমি উপরের অনেক বড় বড় কথা বলেছি। আমি যা বলেছি তা আমার নিজের এবং আশেপাশের অন্যান্য ছাত্র-ছাত্রীদের অভিজ্ঞতার থেকেই বলেছি।

সুবিন : আমি জিজ্ঞাসা করলাম এই কারণে যে তুমি তো প্রোগ্রামিংয়ের প্রচুর সময় দিতে, আবার ক্যাম্পাসের নানান কাজে (আসলে অকাজে) উপস্থিত থাকতে। তোমার স্কুল-কলেজ কোনগুলো ছিল?
সজীব : আমার স্কুল ছিল মতিঝিল গভর্নমেন্ট বয়েজ হাই স্কুল, ঢাকা। কলেজ ছিল নটর ডেম কলেজ, ঢাকা।

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

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

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

সুবিন : বাংলা সার্চ ইঞ্জিন তৈরিতে কী কী চ্যালেঞ্জ ছিল, এবং সেটি কিভাবে অতিক্রম করেছ?
সজীব : প্রায় তিন বছরে আমি ৩০ জনেরও বেশী ছাত্রের সাথে সার্চ ইঞ্জিনের জন্য প্রয়োজনীয় টুলস নিয়ে কাজ করেছি। এর প্রায় সবই পরবর্তীতে এই ইঞ্জিন তৈরীর জন্য প্রয়োজনীয়তা অভিজ্ঞতা যুগিয়েছে। আমি প্রথম যে থিসিস গ্রুপগুলির সাথে কাজ করার সুযোগ পাই, তারা সাস্ট ২০০৪ ব্যাচের। এদের মধ্যে দুইটি গ্রুপ ছিল যারা ওয়েব ক্রলার এবং লোকেশন বেসড সার্চ নিয়ে কাজ করে আমার সাথে। এই ব্যাচের এআই সাবজেক্ট আমি পড়িয়েছিলাম। এর ল্যাব প্রজেক্টে একটি গ্রুপ আমার সাথে এডাপ্টিভ স্পেল চেকার নিয়ে কাজ করে। সাস্ট ২০০৫ এর অনেকগুলি গ্রুপ পরবর্তীতে আই আর নিয়ে কাজ শুরু করে। একটি গ্রুপ ওয়েব ক্রলার কন্টিনিউ করে। একটি গ্রুপ বাংলা ডকুমেন্টের কি-ওয়ার্ড ডিটেকশান নিয়ে কাজ করে। একটি গ্রুপ ওপেনসোর্স এর লুসিনি (lucene)-তে বাংলা ইউনিকোড সাকসেসফুলি সাপোর্ট দেয়। সেই সাথে ওয়েব ক্রলারের ক্রল করা ডাটা লুসিনিতে সার্চেবল করে। সেই সাথে তৈরী হয় পিপীলিকার ইউজার ইন্টারফেস। একই রকম ভাবে সাস্ট ২০০৬ ব্যাচের অনেকগুলি গ্রুপ আই আর নিয়ে কাজ করার আগ্রহ প্রকাশ করে। তারা স্টেমিং, কি-ওয়ার্ড ডিটেকশান, লোকেশান বেইসড সার্চের উপর কাজ শুরু করে। সাস্ট ২০০৭ ব্যাচ স্ট্যামিং এবং কি-ওয়ার্ড এর কাজে বেশ অগ্রগতি নিয়ে আসে। তারপরেই আমি বুঝতে পারি যে পিপীলিকা আমরা লাইভ করতে পারব। এর মধ্যে ২০০৫ ব্যাচ এর পিপীলিকার নামকরন সহ উইজার ইন্টারফেস এর মাধ্যমে বাংলা কন্টেন্ট সার্চ করার বেসিক টুলসটি আমি সব জায়গায় প্রেজেন্টেশনে দেখাই। এই টুলসটি পরে একটি সফটওয়্যার কম্পিটিশনে প্রথম হয় এবং জিপিআইটি এই প্রোডাক্ট এর ব্যাপারে আগ্রহ দেখায়, যার জন্য আমরা সবাই এখন পিপীলিকা ব্যাবহার করতে পারছি। যদিও আমি যতদূর ভেবে রেখেছি ততদূর পথ পাড়ি দেওয়ার জন্য আমাদের অনেক কাঠ খড় পোড়াতে হবে তবুও আমাদের হাতে স্মল স্কেলে একটি সার্চ ইঞ্জিন রয়েছে তা মোটেও কম কথা নয়।

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

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

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

সুবিন : তোমাদের এসব প্রজেক্টে শিক্ষার্থীদের সম্পৃক্ততা কেমন ছিল?
সজীব : মঙ্গলদীপ সুবচনের জন্য আমার কাজ মূলত আর্কিটেকচার লেভেলের। এই দুইটি কাজের জন্য আমি বাংলাদেশ সরকারের সায়েন্স এন্ড আইসিটির ফান্ড পেয়েছি। এই ফান্ড ব্যবহার করে আমি আমার ছাত্র-ছাত্রীদের নিয়ে সুবচন এবং মঙ্গলদীপ সফটওয়্যার হিসেবে প্রকাশ করি। এডমিশন সিষ্টেমের জন্য আমাদের ছাত্র-ছাত্রীরাই প্রথমবার সিষ্টেম ইমপ্লিমেন্ট করে। পরে আমরা প্রায় ৮ জন শিক্ষক মিলে একে প্রফেশনাল প্রোডাক্টে রুপ দেই। আর পরবর্তীতে জাতীয় বিশ্ববিদ্যালয়ের জন্য আমরা ক্লাউড বেইসড এডমিশন সিস্টেম প্রবর্তন করি। যেখানে আপনিও আমাদের সাথে ছিলেন। তাছাড়া, বিআইডব্লিঊটিএ (BIWTA) এর প্রজেক্টেও আপনি ও আপনার কোম্পানী আমাদের সাথে কাজ করেছে। তাই আপনি ভালোই জানেন।

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

সুবিন : এবারে একটু অন্য আলাপে আসি। তোমার শিক্ষকতা পেশায় আসার কারণ কি?
সজীব : এসডিএসএলে আমি প্রায় সবকিছুই পেয়েছিলাম এই কথাটা সত্যি। কিন্তু তবুও, সার্চ ইঞ্জিন নিয়ে আমি যতখানি কাজ করতে চেয়েছিলাম তা পারিনি। আমার মনে হয়েছে, একটি বিশ্ববিদ্যালয়ে শিক্ষকতার সুবাদে আমি সেই সুযোগ পাব। কিন্তু শাবিপ্রবি এবং সিএসই ডিপার্টমেন্ট আমার এই ভাবনা কে কয়েকটি ছোট ঘটনার মাধ্যমে ভিন্ন মাত্রা দেয়। আমি ২০০৯ সালে আমাদের ডিপার্টমেন্টের সিএসই কার্নিভালে গিয়ে বুঝতে পারি সবাই মানে আমার শিক্ষক এবং জুনিয়র ছাত্র-ছাত্রীরা ধরেই নিয়েছে যে আমি সাস্টে যাব। এই ব্যাপারটি আমাকে সাস্টের সাথে ইমোশনাল এটাচমেন্ট এনে দেয়। যেই কারনে আমি আমার তখনকার বেতনের পাঁচ ভাগের এক ভাগ সেলারীতে জয়েন করি। আমি আমার ফ্যামিলির ব্যায়ভার বহন করি আমার পুরনো কোম্পানির সেলারী একাউন্ট থেকে। আমি কখনো ভাবিনি আমি কোনো প্রজেক্ট পাব। শুধুমাত্র সাস্ট এর ছাত্র-ছাত্রীদের প্রতি আমার দায়বদ্ধতা আর সাস্টের সাথে ইমোশনাল এটাচমেন্টের কারনেই আমি সিএসই তে জয়েন করে ফেলি।

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

সুবিন : তুমি যে মেশিন লার্নিং কোর্সের কথা বললে, আমাদের সময়ে তো সেই কোর্সটি ছিল না। পরে অবশ্য আমি Coursera থেকে প্রফেসর Andew Ng-এর মেশিন লার্নিংয়ের কোর্সটি করি। চমৎকার বিষয়। তোমার কি মনে হয় MOOC (Massive Open Online Course) থেকে আমাদের শিক্ষার্থী কিংবা শিক্ষকরা উপকৃত হতে পারেন?
সজীব : অবশ্যই উপকৃত হতে পারবে। আমি নিজে মেশিন লার্নিং এর জন্য এই রকম কয়েকটা কোর্সের সাহায্য নিয়েছি। আমি যদি মেশিন লার্নিং এ পড়ার জন্য মাষ্টার্স বা পিএইচডি এর জন্য অপেক্ষা করতাম তবে তা কোনদিনও সম্ভব হতোনা। আমি ততটুকুই শিখেছি যতটুকু আমার প্রয়োজন এবং তারপরে আমি তা শিখিয়েছি। MOOC সবাইকে এই সুযোগটি করে দিয়েছে। যে কেউ তার প্রয়োজন অনুযায়ী একটা কোর্স করে, আনুষঙ্গিক হোম ওয়ার্ক করে নিজের জন্য দরকারী অভিজ্ঞতাটুকু নিয়ে নিবে। এটাই MOOC এর একটা শক্তিশালী দিক।

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

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

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

এরকম ১২টি সাক্ষাৎকার নিয়ে প্রকাশিত হয়েছে “প্রোগ্রামিং ক্যারিয়ার গাইডলাইন : এক ডজন প্রোগ্রামারের কথা”। বইটি পাওয়া যাচ্ছে নীলক্ষেতের হক লাইব্রেরি ও রকমারি ডট কম-এ। বিস্তারিত জানতে ওপরের ছবিতে ক্লিক করুন।

সুবিন : সজীব, তোমাকে অসংখ্য ধন্যবাদ তোমার ব্যস্ত জীবন থেকে তিন ঘণ্টা সময় দেওয়ার জন্য।
সজীব : আপনাকেও অসংখ্য ধন্যবাদ। এত ধৈর্য্য নিয়ে আমার কথা শোনার জন্য।

ফ্রিল্যান্সিং ও আউটসোর্সিং

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

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

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

ফ্রিল্যান্সিং সম্পর্কে আরো জানতে নিচের ভিডিওটি দেখুন।

আমি লেখাটি যখন শুরু করেছিলাম, কাকতালীয়ভাবে তার কিছুক্ষণ পরে প্রথম অলোর অনলাইন সংস্করণে এই লেখাটি প্রকাশিত হয়: http://www.prothom-alo.com/technology/article/194983/, এখানে অনেক সুবিধার কথা বলা আছে, তাই আমি সুবিধার বিষয়গুলো আর লিখলাম না।

এবার কয়েকটি অসুবিধার কথা বলি।

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

২) আরেকটা অসুবিধা হচ্ছে কাজের পরিবেশ ও একাকীত্ব। ফ্রিল্যান্সাররা সাধারণত বাসায় বসে কাজ করে। এতে বেশ কিছু সমস্যা হয়। যেমন বাসায় হয়ত বুঝতে চাইবে না যে সে কাজ করছে। হুটহাট বিভিন্ন কাজের ফরমায়েশ দেওয়া হবে। কিংবা সে যদি বিবাহিত হয়, তাহলে তার স্ত্রী মনে করবে যে সে তার দিকে যথেষ্ট মনোযোগ না দিয়ে কম্পিউটার নিয়ে বসে আছে। আর বাচ্চা-কাচ্চা হলে তো কথাই নেই। ল্যাপটপে হিসু করে দেওয়ার প্রবল সম্ভাবনা আছে। তাহলে কী মানুষ ফ্রিল্যান্সিং করবে না? করবে, তবে কাজের জন্য বাসার আলাদা একটা রুম ঠিক করে নিলে ভালো হয় যেখানে অন্যরা সহজে আসবে না। আরো ভালো হয় বাইরে শেয়ারড অফিস নিলে। বিদেশে এরকম অনেক কোওয়ার্কিং স্পেস ( co-working space ) আছে। যেখানে রুম কিংবা টেবিল ভাড়া নিয়ে কাজ করা যায়। সেখানে কাজের পরিবেশ ভালো থাকে। আবার অন্যদের সাথে দেখা-সাক্ষাতের সুযোগ মেলে। নিয়মিত বাইরে গেলে শারীরিক ও মানসিক স্বাস্থ্য ভালো থাকে। বাংলাদেশেও ধীরে ধীরে এমন কোওয়ার্কিং স্পেস চালু হচ্ছে। সামনে হয়তো আরো বাড়বে। আর এমন ব্যবস্থা না থাকলে কয়েকজন ফ্রিল্যান্সার মিলে একটি অফিস ভাড়া নিয়ে ফেলা যায়!

৩) সামাজিক স্বীকৃতি। এটা একটা গুরুত্বপূর্ণ বিষয়। যারা এখনও বিয়ে করে নি, তারা হয়তো টের পাচ্ছে না বিষয়টা। তবে এক্ষেত্রে বিডিওএসএন ও বেসিসকে ধন্যবাদ দিতে হয়, কারণ তারা এটা নিয়ে হৈচৈ করার কারণে ধীরে ধীরে মানুষ বিষয়টা সম্পর্কে জানতে পারছে।

৪) শেষ অসুবিধাটা হচ্ছে রাত জাগা। যেহেতু বেশিরভাগ ক্ষেত্রেই আমেরিকার লোকজনের সাথে কাজ করতে হয়, আর সেটা পৃথিবীর মানচিত্রে আমাদের ঠিক উল্টো দিকে, তাই রাত না জেগে উপায় নেই। এটা দীর্ঘমেয়াদে স্বাস্থ্যের জন্য ক্ষতিকর। তবে এ থেকে পরিত্রাণের সহজ উপায় আমার জানা নেই।

মূল লেখাটি ফেসবুকে নোট আকারে লিখেছিলাম এপ্রিল ১৮, ২০১৪ তারিখে।

মারুফ মনিরুজ্জামান এর সাক্ষাৎকার

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

সুবিন : মনির ভাই, এখন কোথায় কাজ করছেন?
মনিরুজ্জামান : আমি এখন Caradigm নামে একটা কোম্পানিতে কাজ করি। এটা মাইক্রোসফট আর জেনারেল ইলেকট্রিক কোম্পানির হেলথ কেয়ার ভিত্তিক যৌথ উদ্যোগ।

সুবিন : এখানে আপনি কী ধরণের কাজ করেন? আপনার প্রজেক্ট সম্পর্কে একটু বলুন।
মনিরুজ্জামান : আমি যে প্রজেক্টে কাজ করি সেটা হেলথ কেয়ারের জন্য একটা প্লাটফর্ম। এটা বিভিন্ন উৎস এবং ডিভাইস থেকে তথ্য সংগ্রহ থেকে শুরু করে স্বাস্থ্য সংক্রান্ত যেসব প্রযুক্তি দরকার হয়, সেগুলোর জন্য একটা প্লাটফর্ম সরবরাহ করে। যেটার উপর ভিত্তি করে অন্য ছোটবড় কোম্পানি সফটওয়্যার লিখতে পারে। এখানে মূলতঃ মাইক্রোসফটের প্রযুক্তি ব্যবহার হয়। যেমন ল্যাংগুয়েজের জন্য C#, প্লটাফর্মের জন্য Windows Server, SQL Server, Windows Azure, এছাড়া Natural Language Processing ইত্যাদি ব্যবহার হয়।

সুবিন : Caradigm-এ কবে থেকে কাজ করছেন? এখানে চাকরি পেলেন কিভাবে?
মনিরুজ্জামান : Caradigm এ কাজ করি প্রায় দেড় বছর। এখানে কাজ পেয়েছি মূলতঃ আমার আগের মাইক্রোসফটে কাজ করার অভিজ্ঞতা থাকায়। আমি এর আগে ২০০৮ সনে মাইক্রোসফট অফিসে (যারা Word, Excel, Exchange এই সফটওয়্যারগুলো বানায়) যোগ দেই। সেখানে কিভাবে কাজ পেলাম সেটা বলা যায়। আমি শাহজালাল বিশ্ববিদ্যালয়ে পড়ার সময় জাভা ভার্চুয়াল মেশিন বানিয়েছিলাম একটা প্রোজেক্টের অংশ হিসাবে। সেটা নিয়ে আমি ২০০৮ এ codeproject এ একটা আর্টিকেল লিখি। সেটা ওই মাসে সেরা আর্টিকেল হিসাবে প্রথম হয়। এরপর ওরা আর্টিকেলের লিংকটা ওদের প্রায় ৫০ লক্ষ (৫ মিলিয়ন) সদস্যের কাছে পাঠায়। তাদের মধ্যে একজন মাইক্রোসফটের রিক্রুটার ছিল। উনি আমাকে রিজিউমি পাঠাতে বলেন। এরপর হংকংএ আমার ইন্টারভিউ হয়। এরপর আমি মাইকোসফট থেকে অফার পাই।

সেই আর্টিকেলের লিঙ্ক : http://www.codeproject.com/Articles/24029/Home-Made-Java-Virtual-Machine

সুবিন : বাংলাদেশে সফটওয়্যার ইন্ডাস্ট্রিতে কত বছর কাজ করেছেন?
মনিরুজ্জামান : আমি বাংলাদেশে কাজ করেছি প্রায় ৩ বছর। সাইক্রাফট সল্যুশন এবং কাজ সফটওয়্যার-এ।

সুবিন : এবারে একটু পেছনের দিকে যাই। প্রথম কম্পিউটারের সাথে পরিচয় কবে? প্রোগ্রামার হওয়ার সিদ্ধান্তটি কখন নিলেন?
মনিরুজ্জামান : কম্পিউটার প্রথম হাতে পাই শাহজালার বিশ্ববিদ্যালয়ে ভর্তি হওয়ার পর, ১৯৯৮ সনে। তবে কম্পিউটার নিয়ে আমার আগ্রহ ছিল স্কুলে পড়ার সময় থেকে। একটা কম্পিউটার হাতে পাওয়ার জন্য আমি অনেক চেষ্টা করেছি স্কুলে এবং কলেজে পড়ার সময়। তখন সি এন্ড ই জার্নাল নামে একটা পত্রিকা বের হত। সেটার ১৯৯৭ সংখ্যায় আমার একটা চিঠি ছাপা হয় যেটায় আমি জানতে চেয়েছিলাম Z80 কম্পিউটার বানানোর পার্টস কোথায় পেতে পারি। ওরা লিখেছিল এখন সেগুলো পাওয়া যাবে না। এর চেয়ে ১৫০০০ টাকা দিলে ওরা আমাকে একটা পুরোনো কম্পিউটার দিতে পারে। আর প্রথম প্রোগ্রামটা আমি “খাতায়” লিখেছিলাম সম্ভবত ১৯৯৪ সনে ক্লাস নাইনে পড়ার সময়। যেটা ছিল একটা কার্ড গেম। ১৯৯৮ সনে সেটা প্রথম কম্পিউটারে রান করে দেখি। প্রোগ্রামার হওয়ার সিদ্ধান্ত কবে নিলাম এটা বলা অনেক মুশকিল – তাই একটু ইতিহাস বলে দিলাম।

সুবিন : কম্পিউটার সায়েন্স পড়ার সিদ্ধান্তটি কি আপনার নিজের ছিল? নাকি বাবা-মা বলে দিয়েছে যে আপনাকে কম্পিউটার সায়েন্স পড়তে হবে?
মনিরুজ্জামান : আমার নিজের অবশ্যই। আমার “একটা কম্পিউটার থাকা মানুষের জীবনে কত জরুরী” এইটার বিবরণ শুনতে শুনতে আমার বাবা মা মোটামুটি অতিষ্ঠ হয়ে ছিলেন প্রায় ৫ বছর। আমি কম্পিউটার সায়েন্সে না পড়লেও সম্ভবত প্রোগ্রামার হওয়ার চেষ্টা করতাম।

সুবিন : আপনার প্রথম স্কুল কোনটি ছিল? কত বছর সেখানে পড়েছেন?
মনিরুজ্জামান : আমার প্রথম স্কুল ছিল কাজীপুর, সিরাজগঞ্জের একটি গ্রামে। খুকশিয়া সরকারি প্রাথমিক বিদ্যালয়। সেখানে চার বছর লেখাপড়া করি।

সুবিন : তারপর আর কোন কোন স্কুলে পড়েছেন? কোন কলেজে পড়েছেন?
মনিরুজ্জামান : তারপর হৈমবালা সরকারি প্রাথমিক বিদ্যালয়, এসবি রেলওয়ে কলোনি উচ্চ বিদ্যালয়ে লেখাপড়া করেছি। আমার কলেজ হচ্ছে রাজশাহীর নিউ গভ: ডিগ্রী কলেজ।

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

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

সুবিন : যেসকল কম্পিউটার বিজ্ঞান ও প্রকৌশলের শিক্ষার্থীরা ক্যারিয়ার হিসেবে সফটওয়্যার ইঞ্জিনিয়ারিং বেছে নিতে চায়? তাদের প্রতি আপনার কী পরামর্শ?
মনিরুজ্জামান : প্রথমে দেখতে হবে বিষয়টাতে আপনার উৎসাহ আছে কিনা। আমি মনে করি, কোন বিষয় ভাল না লাগলে সেটা করা উচিৎ নয়। আপনি যদি প্রোগ্রামিং আগ্রহী হন এবং এটাকে পেশা হিসাবে নিতে চান তাহলে প্রথমে সময় নিয়ে চর্চা করুন। ভালভাবে না শিখে কাজ শুরু করলে কখনওই আর শেখা নাও হতে পারে। প্রচুর চর্চা করলে চাকরি নিয়ে চিন্তা করতে হবে না। আমি অনেক কষ্টে (আসলে সহজে, পড়াশোনাই করতাম না- কষ্ট হল কিভাবে?) কম্পিউটার সায়েন্সের ডিগ্রি পেয়েছি। কিন্তু আমি সারাদিন কম্পিউটারে বিভিন্ন কাজ করতাম। আমার কাজে লাগবে সেকারনে করতাম না। মজা লাগত বলে করতাম। কয়েকটি বিষয় ঠিক করুন কী কী করতে চান। একটা কার্টুন সফটওয়্যার বানান। নির্দোষ ভাইরাস বানিয়ে বন্ধুকে পাঠিয়ে দিন। কম্পিউটারকে ১ থেকে ১০০০ বিলিয়নের মধ্যে সবগুলো প্রাইম নাম্বার বের করতে লাগিয়ে দিন। দাবা খেলার প্রোগ্রাম লিখুন, যেটা ১০০০ লাইনের মধ্যে করা সম্ভব বা প্রেয়সীর ছবি দিয়ে গেম বানান, যেটা ছবির বিভিন্ন অংশ এলোমেলো ব্লকে রাখবে। আনন্দ আর কাজ একসাথে করা যাবে না কেন? তারপর একদিন দেখবেন মাইক্রোসফট রিক্রুটারের মেইল পেয়ে গেছেন। আমার ক্ষেত্রে তাই হয়েছে।

সুবিন : ভালো প্রোগ্রামার হতে গেলে অ্যালগরিদমভিত্তিক প্রোগ্রামিং প্রতিযোগিতা, যেমন এসিএম আইসিপিসি-তে অংশগ্রহন কতটা গুরুত্বপূর্ণ?
মনিরুজ্জামান : ভালো প্রোগ্রামার হতে অবশ্যই ডাটা স্ট্রাকচার এবং অ্যালগরিদম জানতে হবে। ডাটা স্ট্রাকচার এবং অ্যালগরিদম না জেনে সফটওয়্যার বানালে সেটার  মধ্যে কাঠামোগত ত্রুটি থাকবে। এই ত্রুটিগুলোর কারণে সফটওয়্যারে নতুন ফিচার যোগ করা বা অধিক সংখ্যক ব্যবহারকারীর জন্য ব্যবহার উপযোগী করা কঠিন হয়ে পড়ে। সাধারনভাবে জটিল ডাটা স্ট্রাকচার এবং অ্যালগরিদম নিত্যদিনের কাজে দরকার হয় না। কিন্তু অনেক ছোট ছোট সিদ্ধান্ত নিতে হয় যেগুলোতে ডাটা স্ট্রাকচার এবং অ্যালগরিদম জানা একজন প্রোগ্রামারের সিদ্ধান্ত অনেক উন্নতমানের হয়। একারনে মাইক্রোসফট, ফেসবুক, গুগলের মত কোম্পানি ডাটা স্ট্রাকচার এবং অ্যালগরিদমের উপরই মূলতঃ ইন্টারভিউ নিয়ে থাকে। ডাটা স্ট্রাকচার এবং অ্যালগরিদমে দক্ষ যে কেউ অন্য প্রয়োজনীয় দক্ষতা সহজেই আয়ত্ব করতে পারে। এসিএম আইসিপিসি মূলতঃ কতটুকু ডাটা স্ট্রাকচার এবং অ্যালগরিদমে শেখা হল সেটার একটা পরীক্ষা। এখানে ভাল করলে ধরে নেয়া যায় যে, শেখা হচ্ছে ঠিকমত। যাদের সুযোগ আছে তাদের এসিএম আইসিপিসি তে অংশগ্রহন করা উচিত এবং প্রতিযোগীতায় ভাল করার চেষ্টা করা উচিত। শেষ পর্যন্ত সবাই প্রথম স্থান পাবে না বা প্রথম ১০ এর মধ্যে থাকতে পারবে না। কিন্তু অংশগ্রহনের মধ্য দিয়ে অনেককিছু শেখা হবে যেটা পরবর্তীতে অবশ্যই কাজে লাগবে। তবে কেউ যদি ইচ্ছা করে তবে জীবনের যে কোনো পর্য়ায়েই যে কোনো কিছু শিখতে পারে। তাই প্রতিযোগিতায় অংশগ্রহনের সুযোগ না থাকলেও পূর্বের বিভিন্ন প্রতিযোগীতার প্রশ্নগুলো দেখা যেতে পারে। এই প্রশ্নগুলো বিভিন্ন বাউন্ডারি কেস নিয়ে চিন্তা করতে শেখায়। যেটা পরবর্তীতে উন্নতমানের সফটওয়ার তৈরির জন্য কাজে লাগবে। আমি ব্যক্তিগতভাবে http://ace.delos.com/usacogate সাইটের প্রশ্নগুলো সমাধান করতাম। এখানে ১০০ এর মত প্রশ্ন আছে যেগুলো জানা একজন কম্পিউটার প্রকৌশলীর জন্য জরুরী।

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

সুবিন : একজন সফটওয়্যার ইঞ্জিনিয়ারের কী কী দক্ষতা থাকা উচিত? দক্ষতা বলতে আমি টেকনিক্যাল স্কিল এবং সফট্ স্কিল দুটোই বুঝাচ্ছি।
মনিরুজ্জামান : প্রথমত, প্রচুর পরিমান অনুশীলন করতে হবে। বিষয়টা অনেকটা ব্যয়াম করার মত। কেউ যদি ১০ টা বুকডন (বা অন্য যে কোন ব্যায়াম) দিয়ে বলে আমি বুকডন দেয়া শিখে গেছি, আমার আর বুকডন দেয়ার দরকার নাই তাহলে যেমন শোনাবে – যখন কেউ বলে আমি এই ল্যাংগুয়েজ শিখে ফেলেছি সুতরাং আমার আর প্রোগ্রামিং করার দরকার নাই তাহলে সেরকমই শোনাবে। অনেক চর্চা করতে হবে। ব্যাপারটাকে ব্যায়ামের মত দেখতে হবে। কম্পিউটারের ভাষায় পুরোপুরি দক্ষতা থাকতে হবে। সফটওয়্যার তৈরি কবিতা লেখার মত। কবিতা লেখার সময় কবি কখনও ভাষা নিয়ে চিন্তা করেন না। ভাষা পুরোপুরি জানা না থাকলে কেউ কবিতা লেখার চেষ্টা করেন না।

আবার শুধু বুকডন চর্চা করলে যেমন ব্যায়ামের লক্ষ্য পূরন হয় না তেমনি শুধুমাত্র একটা বিষয় শিখলে ভাল সফটওয়্যার ইঞ্জিনিয়ার হওয়া যায় না। কয়েকটা বিভিন্ন ধরনের ভাষা জানা জরুরী। প্রত্যেকটা ভাষার কিছু নিজস্ব বৈশিষ্ট্য আছে। বৈশিষ্ট্যগুলো জানা থাকা দরকার। আমি Python, C, C# বা Java, Javascript, Erlang, Assembly অন্তত এই কয়েকটা ল্যাংগুয়েজ শেখার পরামর্শ দেব। প্রত্যেকটা ভাষারই কিছু অনন্য বৈশিষ্ট্য আছে। এবং কেউ যদি শুরু করতে চান তাহলে প্রথমে পাইথন দিয়েই শুরু করুন। তারপর বাকিগুলো শেখা যেতে পারে। ভাষা শেখার জন্য ৫০০-১০০০ ঘন্টা ব্যায় করা হলে এরপর ডাটা স্ট্রাকচার এবং অ্যালগরিদমের দিকে সময় দেয়া দরকার। যদিও ১০০০ ঘন্টা চর্চা করলে কিছু ডাটা স্ট্রাকচার এবং অ্যালগরিদম শেখা হয়ে যাবে।

এরপর দরকার কাঠামো তৈরি শেখা। সেজন্য ডিজাইন প‌্যাটার্ন (http://en.wikipedia.org/wiki/Design_Patterns) শিখতে হবে। এটাও মূলতঃ অনেকদিন ধরে চর্চার মাধ্যমেই আয়ত্ব করতে হয়।

এরপর নেটওয়ার্কিং, প্যারালাল প্রসেসিং এবং সিকিউরিটি সম্পর্কে বিস্তারিত জানতে হবে।

এছাড়া আর যে বিষয়গুলো লাগে সেগুলো হল বিভিন্ন ধরনের ডাটাবেজ সম্পর্কে ধারনা (SQL, NoSQL), বিভিন্ন ফ্রেমওয়ার্ক (ASP .NET, Angular JS ইত্যাদি) সম্পর্কে ধারনা, ক্লাউড কম্পিউটিং, সোর্স কোড কন্ট্রোল (Team Foundation Server, Git), Continuous Integration এবং বিভিন্ন ধরনের সফটওয়্যার ডেভলপমেন্ট মেথড (যেমন agile) ইত্যাদি। এগুলো সম্পর্কে প্রাথমিক ধারনা থাকলে কাজ করতে করতে শিখে ফেলা যায়।

আর সফটওয়্যার তৈরি শুরু করার আগে মোটামুটি একটা খসড়া ডিজাইন ডকুমেন্ট বানাতে হয়। যেটা পরবর্তীতে পরিবর্তন হতে পারে কিন্তু কাজ শুরু করার জন্য একটা থাকতেই হবে। এই বিষয়টা অভ্যাস করলে ভাল হয়।

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

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

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

সুবিন : আপনি তো প্রোগ্রামিং শিক্ষা নিয়েও কাজ করেন। শিক্ষক ডট কম-এ আপনার সি প্রোগ্রামিংয়ের একটি কোর্স আছে। এই কাজগুলো সম্পর্কে যদি একটু বলতেন।
মনিরুজ্জামান : আমি যদি কম্পিউটার সায়েন্সে পড়ার সুযোগ না পেতাম তাহলে নিজে নিজে শেখার চেষ্টা করতাম। কিন্তু সেটা মোটেও সহজ হত না। সেকারনে আমি পরিকল্পনা করেছিলাম ১/২টা ভাষা, ডাটা স্ট্রাকচার, অ্যালগরিদম, কম্পিউটার আর্কিটেকচার ইত্যাদি কোর্স আকারে তৈরি করা। আমি মূলত ইউটিউবে ভিডিওগুলো আপলোড করা শুরু করেছিলাম। এরপর ডক্টর রাগিব হাসান ওনার শিক্ষক.কম সাইট চালু করেন এবং আমার ভিডিওগুলো সেখানে দিতে শুরু করি। যেহেতু শিক্ষক.কমে আর্টিকেলও দিতে হয় সেকারনে আমি আর্টিকেলও লিখতে থাকি। তবে আর্টিকেল লিখতে অনেক সময় লাগে। সেকারনে আমি সিদ্ধান্ত নিয়েছি আর্টিকেল না লিখে এখন থেকে শুধু ভিডিও আপলোড করব আর আগের মত http://u.lekhoni.com সাইটে সেগুলো রাখব। এরপর লেখার কাজটা করা যাবে সময় পেলে। আমি এখন ডাটা স্ট্রাকচার আর অ্যালগরিদমের ভিডিওগুলো তৈরি করছি। আর বাংলায় এই বিষয়ে একটা বই লিখছি। তবে এই বিষয়ে আারো অনেকে এগিয়ে আসছেন যারা আমার চেয়ে অনেক বেশি সক্রিয়। এটা অনেক আশার কথা।

সুবিন : এবারে অন্য প্রসঙ্গে যাওয়া যাক। আপনি তো বাংলাদেশে একটি উদ্যোগের (iFeri.com) সাথে জড়িত? সেটি নিয়ে যদি একটু বিস্তারিত বলতেন।
মনিরুজ্জামান : iFeri.com আমরা তিন বন্ধু (আমি, শামস, নাসির) মিলে শুরু করেছি ২০১১ সনে। এটা একটা অনলাইন শপিং উদ্যোগ। ঢাকায় কোনকিছু কিনতে কোথাও যেতে হলে যত সময় রাস্তায় আটকে থাকতে হয় সেটা খুবই অসুবিধাজনক। কেউ যদি বাসায় জিনিসটা ডেলিভারি দিয়ে যায় তাহলে জীবনের অনেক মূল্যবান সময় বাঁচে । এটাই শুরু করার আগে আমাদের “আমরা কি সুবিধা দিতে পারি” এই প্রশ্নের উত্তর ছিল। এটা আসলে একটা ব্যবসা উদ্যোগ। সফটওয়ার উদ্যোগ নয়। একজন সফটওয়ার ইঞ্জিনিয়ার হিসাবে কোন একটা কোম্পানিতে কাজ করলে, সেটা যত বড়বা ছোট কোম্পানিই হোক, সেটা নিজের দাবি করা যায় না। আর পুরোপুরি স্বাধীনতাও পাওয়া যায় না কখনও।

Wolfram এর তধ্য অনুযায়ী ঈদের মাসে ১৫ লক্ষ হিট হয়েছে আমাদের সাইটে। ১ লক্ষ এর বেশি মানুষ এসেছে। কম খরচে এইরকম লোড সাপোর্ট দেয়ার জন্য আমরা বেশকিছু প্রযুক্তি ব্যবহার করেছি। যেটা নিয়ে iFeri.com এ লেখার ইচ্ছা আছে ভবিষ্যতে।

এরকম ১২টি সাক্ষাৎকার নিয়ে প্রকাশিত হয়েছে “প্রোগ্রামিং ক্যারিয়ার গাইডলাইন : এক ডজন প্রোগ্রামারের কথা”। বইটি পাওয়া যাচ্ছে নীলক্ষেতের হক লাইব্রেরি ও রকমারি ডট কম-এ। বিস্তারিত জানতে ওপরের ছবিতে ক্লিক করুন।

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

কোন ভার্সিটিতে সিএসই পড়ব ?

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

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

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

এবার আসি যারা সফটওয়্যার তৈরির কাজ করতে চাও। ভালো সফটওয়্যার ইঞ্জিনিয়ারদের চাকরির সুযোগ অনেক (দেশে এবং বিদেশে) আর বেতনও ভালো। আমি যদ্দূর জানি, এই কারণেই পোলাপান সিএসই পড়তে চায়।

ধরা যাক, বাংলাদেশে ৮০টা প্রাইভেট ইউনিভার্সিটি আছে, এবং সেগুলোর একটা ranking করা হলো। এখন সমান মেধার দুই বন্ধুর একজন ১ নম্বর ভার্সিটিতে পড়ল, আরেকজন পড়ল ৮০ নম্বর ভার্সিটিতে। ৮০ নম্বরেরটায় যে পড়বে, সে যদি ঠিকমতো প্রোগ্রামিং শেখে, চর্চা করে, সফটওয়্যার তৈরির কলাকৌশল সম্পর্কে খোঁজখবর রাখে, আর ১ নম্বর ভার্সিটিতে পড়ুয়া বন্ধু যদি কেবল গায়ে হাওয়া লাগিয়ে ঘুরে বেড়ায়, তাহলে ক্যারিয়ারের শুরুতে প্রথম জন, যে ৮০ নম্বর বিশ্ববিদ্যালয়ে পড়ছে, সে অনেক সুবিধাজনক অবস্থানে থাকবে। কারণ সফটওয়্যার প্রকৌশলবিদ্যায় ভালো করতে হলে কাজ জানা প্রয়োজন এবং পরিশ্রমীরাই এখানে ভালো করে।

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

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

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

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

আর ক্যারিয়ার বিষয়ক এই লেখাটাও দেখতে পারো :  http://blog.subeen.com/?p=175

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

প্রোগ্রামিং ক্যারিয়ার গড়তে ৫টি টিপস্

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

কিভাবে নিজের দক্ষতা প্রকাশ করবে?

১) প্রোগ্রামিং প্রতিযোগিতায় অংশগ্রহন : তুমি যদি বিশ্ববিদ্যালয় পড়ুয়া শিক্ষার্থী হও, তাহলে প্রোগ্রামিং প্রতিযোগিতাগুলোতে নিয়মিত অংশগ্রহন করতে পারো। এসিএম আইসিপিসি’র ঢাকা রিজিওনাল প্রতিযোগিতায় শীর্ষ দুই বা তিনটি দলের মধ্যে থাকলে তোমার গুগল বা ফেসবুকে ইন্টারভিউ দেওয়ার জোরালো সম্ভাবনা তৈরি হয়। তুমি কম্পিউটার সায়েন্সে পড় নাকি ফিজিক্সে পড়, এটি নিয়ে তাদের মাথাব্যাথা থাকবে না। আরেকটি সুবিধা হবে, দেশের শীর্ষ প্রোগ্রামারদের সাথে তোমার জানাশোনা হবে।

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

৩) ওয়েব অ্যাপ্লিকেশন তৈরি : তুমি নিজে বিভিন্ন ওয়েব অ্যাপ্লিকেশন তৈরি করে সেগুলো ইন্টারনেটে হোস্ট করে রাখতে পারো। আর নিজের একটি ওয়েবসাইট তৈরি করে সেখানে সবকিছু সাজিয়ে রাখো, এটাকে পোর্টফোলিও (Portfolio) বলে। তুমি কোন লেভেলের ওয়েব ডেভেলাপার, সেটা তোমার পোর্টফোলিওই বলে দেবে।

৪) মোবাইল অ্যাপ : তুমি যদি মোবাইল অ্যাপ তৈরি করতে পারো, তাহলে নিজে নিজে কিছু আইডিয়া বের করে, বা অন্যের আইডিয়া দেখে কয়েকটি মোবাইল অ্যাপ্লিকেশন বানিয়ে ফেলো এবং হোস্ট করে রাখো। আর ইন্টারভিউ দেওয়ার সময় একটি অ্যান্ড্রয়েড (বা আইফোন, তুমি যেই প্ল্যাটফর্মে কাজ করো) মোবাইল সাথে রাখবে যেখানে তোমার তৈরি অ্যাপগুলো ইনস্টল করা থাকবে।

৫) বিভিন্ন ফোরামে অংশগ্রহন : বিভিন্ন ফোরামে কিংবা গ্রুপে মাঝে-মধ্যে সময় দাও। সেখানে অন্যরা যেসব সমস্যা দিয়ে সাহায্য চেয়েছে, সেগুলো সমাধান করে দাও (ক্লাশের এসাইনমেন্ট করে দিবে না কিন্তু!)। এতে তোমার দক্ষতা যেমন বাড়তে, তেমনি অন্য প্রোগ্রামারদের নজরেও তুমি পড়ে যাবে!

তোমার জন্য শুভকামনা রইল।

বি.দ্র. আরো কোনো টিপস্ জানা থাকলে দয়া করে মন্তব্যে লিখুন। ধন্যবাদ।

ফ্রি প্রোগ্রামিং ডিভিডি

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

প্যানারোমা কম্পিউটার্সের পরিচালক শাহাদাৎ হোসেন জানান: “প্যানারোমা থেকে যারা কম্পিউটার কেনে, তাদের বেশিরভাগই শিক্ষার্থী। তাই শিক্ষার্থীদের যদি ডিভিডি দেওয়ার মাধ্যমে প্রোগ্রামিংয়ে আগ্রহী করা যায়, তাহলে সেটা দারুণ ব্যপার হবে।”

এই উদ্যোগ নেওয়ার জন্য প্যানারোমাকে ধন্যবাদ জানান দ্বিমিক কম্পিউটিং স্কুলের সিইও তাহমিদ রাফি।

প্যানারোমা কম্পিউটার্সের ঠিকানা: লেভেল ৮, মাল্টিপ্ল্যান সেন্টার,  নিউ এলিফ্যান্ট রোড, ঢাকা-১২০৫।
ওয়েবসাইট : http://www.panaromabd.com/