সাল ১৮১৫। ডিসেম্বর মাসের ১০ তারিখ। ইংল্যান্ডে সে সময় বড্ড শীত। ইংল্যান্ডের বিখ্যাত বায়রন পরিবারে জন্ম হলো এক শিশু সন্তানের। সেই শিশু সন্তানটি বিখ্যাত কবি লর্ড বায়রন এবং অ্যানি ইসাবেলার কন্যা, অগাস্টা অ্যাডা; পৃথিবীর প্রথম প্রোগ্রামার-যিনি অ্যাডা লাভলেস নামেই সুপরিচিত।
অ্যাডা লাভলেস-প্রথম কম্পিউটার প্রোগ্রামার
পুরো নাম তাঁর অ্যাডা অগাস্টা কিং, আর ডাকা হতো কাউন্টেস অফ লাভলেস বা শুধুই অ্যাডা লাভলেস নামে। তাঁর বাবার সৎ-বোন অগাস্টা লেই এর নামে মেয়ের নাম রাখা হয়, আর বায়রন তাঁকে অ্যাডা নাম দেন। মাত্র একমাস যখন অ্যাডার বয়স, তখন থেকে তাঁর মা ইসাবেলা তাঁকে নিয়ে আলাদা হয়ে যান। পিতা বিখ্যাত রোমান্টিক কবি লর্ড বায়রনের সাথে অ্যাডার কখনো দেখা হয়নি। এমনকি ১৮৪১ সালের আগে অ্যাডা জানতেনই না লর্ড বায়রন তাঁর বাবা!
ছোট থেকেই অ্যাডা কিছুটা অসুস্থতায় ভুগছিলেন, প্রচণ্ড মাথাব্যথা হতো এবং দৃষ্টি প্রতিবন্ধকতা ছিল। ১৮২৯ সাল থেকে তিনি হাম এবং পক্ষাঘাতগ্রস্থতায় ভুগছিলেন। কিন্তু ক্র্যাচে ভর দিয়ে হলেও শিক্ষা চালিয়ে গিয়েছেন। বাসায় গৃহশিক্ষকেরা বিভিন্ন বিষয়ে শিক্ষা দিতেন তাঁকে। গণিতজ্ঞ ও যুক্তিবিদ ডি-মরগ্যান তাঁর শিক্ষক ছিলেন। স্যার চার্লস ডিকেন্স, স্যার চার্লস হুইটস্টোন এবং বিজ্ঞানি মাইকেল ফ্যারাডের সাথেও তাঁর জানাশোনা ছিল।
অ্যাডা লাভলেসের মায়ের একদমই ইচ্ছা ছিলনা তার মেয়ে বাবার প্রতিভা পাক। তাই ছোটবেলা থেকেই মেয়েকে তিনি সঙ্গীতে এবং গণিতে ব্যস্ত করে রাখেন। মায়ের প্রচেষ্টা বৃথা যায়নি – তাঁর গণিত প্রতিভা বিচ্ছুরিত হয়েছে উজ্জ্বল আলোকরশ্মির মত। ১৮৩২ সালে যখন তাঁর বয়স মাত্র ১৭ বছর, তখন তিনি ফ্লাইং মেশিনের নকশা প্রণয়ন করেন।
১৮৩৫ সালের ৮ জুলাই তিনি উইলিয়াম কিং এর সাথে বিবাহ বন্ধনে আবদ্ধ হন এবং তাঁর নামের সাথে কিং যুক্ত হয়। ১৮৩৩ সালের ৫ জুন তাঁর সাথে পরিচয় হয় বিশ্ববিখ্যাত বিজ্ঞানী চার্লস ব্যাবেজের। স্যার চার্লস উইলিয়াম ব্যাবেজ তখন তাঁর ডিফারেন্স মেশিন বা অ্যানালাইটিক্যাল ইঞ্জিন নামক কম্পিউটার আবিষ্কারের নেশায় মত্ত। ব্যাবেজকে তখন লোকজন পাগল মনে করতো। তাঁর এই অ্যানালাইটিক্যাল ইঞ্জিনের ধ্যানধারণা যেই গুটিকয়েক মানুষ বুঝতে পেরেছিলেন, তাঁদের মধ্যে অ্যাডা অন্যতম। অ্যাডা তাঁর গণিতবিষয়ক বিশ্লেষণী ক্ষমতার দ্বারা বুঝতে পেরেছিলেন এই কম্পিউটারগুলোর নাম্বার ক্রাঞ্চিং এর অমিত সম্ভাবনা সম্পর্কে।চার্লস ব্যাবেজ তাই লিখে গেছেন তাঁর Decline of Science in England বইয়ে। তখনকার দিনে এই যন্ত্রটির কাজ ব্যাখ্যা করা খুবই কষ্টসাধ্য ছিল, এবং অনেক বিজ্ঞানী ও গণিতবিদ তাঁর চিন্তাধারাটিকে সমর্থন করেন নি। কিন্তু অ্যাডা যন্ত্রটির কার্যপদ্ধতি ও সম্ভাবনা সম্পর্কে সঠিক ব্যাখ্যা দেন। ব্যাবেজ অ্যাডার ধীশক্তি, সাবলীলতা, প্রতিভা এবং গাণিতিক দক্ষতায় মুগ্ধ ছিলেন। ব্যাবেজ অ্যাডা সম্পর্কে তাঁর লেখায় অ্যাডাকে সংখ্যার জাদুকরি (The Enchantress of Numbers) বলে আখ্যা দিয়েছেন।
অ্যাডার মৃত্যুর ১০০ বছর পর অ্যানালিটিকাল ইঞ্জিন সম্পর্কে তাঁর একটি নোট প্রকাশিত হয়। সেই নোটের G-নং এ তিনি Bernoulli numbers এর একটি সিকোয়েন্স ক্যালকুলেশন করার জন্য একটি অ্যালগরিদম বর্ণনা করেন যা পৃথিবীর প্রথম কম্পিউটার প্রোগ্রাম হিসেবেই পরিচিত। অ্যানালিটিকাল মেশিন (যা বর্তমান কম্পিউটারের পূর্বপুরুষ)-এর মত এই নোটটি ছিল মেশিনটির হার্ডওয়্যার ও সফটওয়্যার এর বর্ণনা। আর এ কারণেই অ্যাডা অগাস্টা লাভলেস পৃথিবীর প্রথম প্রোগ্রামার হিসেবেই পরিচিত।
Bernoulli numbers এর ক্যালকুলেশন- পৃথিবীর প্রথম কম্পিউটার প্রোগ্রাম।
অ্যাডা তাঁর সারা জীবন ধরে বিজ্ঞানের অগ্রগতির জন্য কাজ করে গেছেন। ব্যাবেজ এর সাথে তাঁর বিখ্যাত কাজের পরও তিনি তাঁর অন্যান্য কাজগুলো চালিয়ে যান। তাঁর ইচ্ছা ছিল এমন একটি গাণিতিক মডেল তৈরি করা যা দিয়ে স্নায়ু (Nerve) কিভাবে উদ্দীপ্ত হয় তা বের করা। অর্থাৎ তিনি নার্ভাস সিস্টেমের উপর একটি গাণিতিক মডেল তৈরি করতে চেয়েছিলেন। এছাড়া তিনি ইলেক্ট্রিক্যাল সিগন্যাল এবং ম্যাগনেটিজম এর উপর গবেষণা করেছেন।
এই টেক-জিনিয়াস ১৮৫২ সালের ২৭ নভেম্বর, মাত্র ৩৬ বছর বয়সে ক্যান্সারে আক্রান্ত হয়ে মৃত্যুবরণ করেন। তাঁকে মর্যাদা দিতে আমেরিকার প্রতিরক্ষা (US Defense) বিভাগের প্রমিত প্রোগ্রামিং ভাষার নাম রাখা হয় অ্যাডা (Ada)। Conceiving Ada নামে তাঁকে নিয়ে একটি সিনেমাও আছে। মাইক্রোসফটের প্রোডাক্ট অথেনটিসিটি হলোগ্রামে রয়েছে তাঁর ছবি। কম্পিউটিং এবং প্রোগ্রামিং এ বিশেষ অবদানের কারণে ২৪ মার্চকে Ada Lovelace Day হিসেবে বিশ্বব্যাপী উদযাপন করা হয়ে থাকে।
লেখাটি আর্নল্ড শোয়ার্জেনেগার-এর একটি বক্তৃতা থেকে অনুবাদ করা। অনুবাদ করেছেন ইমরান হোসেন। আশা করি প্রোগ্রামাররা এটি পড়ে অনুপ্রাণিত হবে।
লোকজন সব সময় আমাকে জিজ্ঞাসা করে সফলতার রহস্য কী?
প্রথম নিয়ম হচ্ছে, “নিজের উপর আস্থা রাখ”। কিন্তু সবচেয়ে গুরুত্বপূর্ণ হচ্ছে তোমাকে আরও গভীরে ঢুকতে হবে এবং নিজেকে জিজ্ঞাসা করতে হবে তুমি “কে” হতে চাও? “কী” না কিন্তু “কে”? তোমার বাবা মা বা শিক্ষকরা কী চেয়েছেন তা বলছি না, তুমি নিজে “কে” হতে চাও এটার কথা বলছি। আমি বলছি, তুমি খুঁজে বের কর কী তোমাকে সুখী করে সেটা অন্যদের কাছে যতটাই পাগলামি মনে হোক না কেন। তাই প্রথম নিয়ম অবশ্যই নিজের উপর আস্থা রাখা, কে কিভাবে চিন্তা করল ওটা দেখার বিষয় না।
দ্বিতীয় নিয়ম হচ্ছে, “নিয়ম ভেঙ্গে ফেল ”। এই জীবনে আমাদের প্রত্যেকটা জিনিসের অনেক নিয়ম আছে। আমি বলছি নিয়ম ভাঙো কিন্তু আইন না। একজন ভবঘুরে বা সত্যিকারের মানুষ হওয়া অসম্ভব যদি না তুমি খুব ভাল স্বভাবের হও এবং নিয়ম ভাঙ্গতে না চাও। তোমাকে বাক্সের বাহিরের কথাও চিন্তা করতে হবে। এটাই আমি বিশ্বাস করি। সর্বোপরি এই পৃথিবীর সবকিছু অন্যের পছন্দ মত হবে এবং সব সমস্যার উর্ধে হবে এমনটা চিন্তা করা ঠিক না। কিন্তু নিয়ম ভাঙ্গাই হচ্ছে আমার একমাত্র পথ যার কারণে আমি কোথাও স্থান পেয়েছি।
তৃতীয় নিয়ম হচ্ছে, “পরাজিত হতে ভয় পেওনা”। আমি এখন পর্যন্ত যা’ই করেছি আমি সব সময় চাইতাম আমি যেন পরাজিত হই। তুমি সব সময় জয়ী হতে পারবে না কিন্তু সিদ্ধান্ত নিতে ভয় পেও না। তুমি পরাজয়ের ভয়ে অক্ষম হয়ে যেও না। তুমি নিজের মধ্যে তাড়া অনুভব করবে কারণ তুমি নিজেকে বিশ্বাস করো, তোমার দর্শনকে বিশ্বাস করো এবং তুমি জানো এটাই সঠিক সিদ্ধান্ত আর এভাবেই সফলতা আসবেই। কাজেই পরাজিত হতে ভয় পেও না।
চতুর্থ নিয়ম হচ্ছে, “নেতিবাচক মানুষদের কথায় কান না দেয়া”। তুমি কতবার শুনেছ যে, তুমি এটা পারবে না, তুমি ওটা পারবে না, এটা এর আগে কেউ কোনদিন করেনি? আমি এটা ভালবাসি যখন যখন কেউ বলে যে, এই কাজটা এর আগে কেউ করতে পারেনি কারণ, যখন আমি এটা করি এবং এটার মানে হচ্ছে, আমিই প্রথম যে এটা করেছে। কাজেই ঐসব লোকের কথায় কান দিবে না যারা বলে, এই কাজ কখনো হবে না। আমি সবসময়ই আমার নিজের কথা শুনি আমি বলি, “হ্যাঁ, তুমি পারবে “।
পঞ্চম নিয়ম হচ্ছে, “অক্লান্ত পরিশ্রম করা”, এবং এটাই সবচেয়ে গুরুত্বপূর্ণ নিয়ম। আমি প্রত্যেক সম্ভাব্য পথে কাজ করার পক্ষপাতি। মোহাম্মাদ আলি, আমার মহান বীরদের মধ্যে একজন, যখন তাঁকে জিজ্ঞাসা করা হয়েছিল “আপনি কতগুলো সিট-আপ দেন?” তখন তিনি বলেছেন, “আমি আমার সিট-আপ গণনা করি না। আমি তখনই এটা গণনা করি যখন আমি ব্যথা পেতে শুরু করি। যখন আমি ব্যথা অনুভব করি তখন আমি গণনা শুরু করি কারণ তখনই সত্যিকারের গণনা করার সময়, এবং এটাই তোমাকে চ্যাম্পিয়ন করে দিবে।” কথায় আছে “কষ্ট ছাড়া মিষ্ট লাভ হয় না”। তুমি বলতে পারো জীবনে হাসি-ঠাট্টারও দরকার আছে। কিন্তু তুমি যখন পার্টিতে আনন্দ ফুর্তি করবে তখন একই সময়ে অন্য কেউ কঠোর পরিশ্রম করবে, অন্য কেউ আরও সুদর্শন হবে এবং অন্য কেউ জয়ী হবে। কাজেই কঠোর পরিশ্রম ছাড়া কোন বিকল্প পথ নাই।
ষষ্ঠ নিয়ম হচ্ছে, “কিছু ফিরিয়ে দেয়া”। তুমি যা কিছুই অর্জন করো না কেন, তোমাকে কিছু ফিরিয়ে দিতে হবে, তোমার কমিউনিটি জন্য, তোমার এলাকার জন্য, তোমার দেশের জন্য। তুমি যা কিছু করো না কেন, মানুষকে সাহায্য করে যে পরিমাণ আনন্দ পাবে, অন্য কোন কিছুতে এত আনন্দ পাবে না।
আমার ইন্টারভিউ প্রজেক্টের নতুন শিকার হচ্ছেন সোহেল তাসলিম – যিনি বর্তমানে জাপানে কর্মরত। উনার সাথে পরিচয়ের কথা এখানে বিস্তারিত লিখলাম না (ইন্টারভিউ নিয়ে যেই বইটি তৈরি করছি, সেখানে থাকবে)। তবে কীভাবে কীভাবে জানি অসাধারণ ও উদ্যমী সব মানুষের সাথে আমার পরিচয় হয়ে যায়। 🙂
সুবিন : সোহেল ভাই, আপনি এখন কোথায় কাজ করছেন?
সোহেল : আমি সফটওয়্যার ডেভেলপমেন্ট কোম্পানি ইফিউশন এ কাজ করছি। দীর্ঘ ৮ বছর ধরে এই কোম্পানির সঙ্গে আছি।
সুবিন : ইফিউশন সম্পর্কে একটু বিস্তারিত বলুন।
সোহেল : এটি জাপান অবস্থিত একটি আইটি কোম্পানী। স্মার্টফোন অ্যাপ্লিকেশন ডেভেলপমেন্ট, ওয়েব ডেভেলপমেন্ট, হোস্টিং, বই এবং গেইম প্রকাশনাসহ একটি পরিচিত স্মার্টফোন কোম্পানির গবেষণার কাজ এবং preinstalled অ্যাপ্লিকেশন ডেভেলপমেন্টএর কাজ করে থাকে। নন ডিসক্লোজার এগ্রিমেন্ট থাকার কারনে স্মার্টফোন কোম্পানির নাম প্রকাশ করলামনা। আমি স্মার্টফোন অ্যাপ্লিকেশন ডেভেলপমেন্ট এর ডিভিসন ম্যানেজার হিসেবে কর্মরত আছি।
সুবিন : আপনার টিম-সাইজ কেমন? আপনাকে কী কী কাজ করতে হয়?
সোহেল : আমি দশ জনের কম একটি ছোট দল নিয়ে কাজকরি। প্রত্যেকেরই tech savvy, challenger, problem solver এবং cooperative। আমার দায়িত্ব ব্যবসায়িক পরিকল্পনা এবং টিম ম্যানেজমেন্ট। আমি এমন একটি টিম তৈরি করতে পেরে নিজেকে ভাগ্যবান মনে করছি। এর জন্য আমাকে বিগত ৩ বছর অনেক পরিশ্রম করতে হয়েছে।
সুবিন : সম্প্রতি আপনি সিদ্ধান্ত নিয়েছেন যে অফিসে বসে আর কাজ করবেন না। এরকম সিদ্ধান্তের কারণ কী?
সোহেল : ২০১১ এর সুনামির পরে আমাদের কোম্পানী বাসা থেকে রিমোটএ কাজ করার একটি নিয়ম শুরু করে।
বিশেষ বিশেষ ক্ষেত্রে এটি উত্পাদনশীলতা বৃদ্ধি করে দেয়। সর্বত্র উচ্চগতির ইন্টারনেট এবং স্মার্টফোন যোগাযোগকে আরো সহজ করে দেয়াতে রিমোটে কাজ করা সহজ হয়ে এসেছে। তাই আমি আমার কাজের স্টাইলে একটু পরিবর্তন আনার সিদ্ধান্ত নিয়েছি। “Internet is my office not a physical place. So, I am at office at least when smartphone in my pocket.” যা আমার ভবিষ্যত ব্যবসায়িক পরিকল্পনাকে একটি নতুন মাত্রা যোগ করে দিতে পারে এবং আমাদের কোম্পানীর নিজস্ব product development এ বিশেষ প্রভাব ফেলবে।
সুবিন : জাপানে আপনার মোট কত বছর কাজ করা হল? জাপানীদের কাজের সংস্কৃতি সম্পর্কে যদি পাঠকদের একটু ধারণা দিতেন।
সোহেল : আমি জাপানে কাজ করছি প্রায় 9 বছর হল।
জাপানি মানুষ খুব punctual এবং নিজ নিজ কাজ সম্পর্কে সিরিয়াস। প্রত্যেকের নিজ নিজ লক্ষ্যের ব্যাপারে স্পষ্ট ধারনা রয়েছে। জাপানি কোম্পানি খুবই প্রফেশনাল হয় এবং অঙ্গীকার ভঙ্গ করে না। যা প্রফেশনালিজমের অত্যন্ত গুরুত্বপূর্ণ একটি অংশ। সুতরাং, মানিয়ে নিতে পারলে কর্মজীবন এখানে ঝামেলামুক্ত ও নিরাপদ।
আপনার দক্ষতা কম হওয়া সত্ত্বেও কোম্পানি আপনার পেছনে বিনিয়োগ অব্যাহত রাখবে যদি আপনার ভাল কাজ করার আগ্রহ থাকে। তাই হয়ত সহজে কেউ চাকরি পরিবতন করেনা। সুতরাং, আপনি একজন দক্ষ কর্মী হিসেবে এখানে বেড়ে উঠতে পারবেন শুরু থেকেই।
কিন্তু, আপনার যদি একটি ভাল ব্যবসায়িক আইডিয়া থাকে এবং বড় বিনিয়োগ প্রয়োজন সেক্ষেত্রে জাপান ঠিক আপনার জন্য পারফেক্ট জায়গা নয়।
সুবিন : বাংলাদেশী সফটওয়্যার ডেভেলাপার আর জাপানী সফটওয়্যার ডেভেলাপারদের মধ্যে টেকনিক্যাল স্কিল ও প্রফেশনালিজমের ব্যাপারে কোনো পার্থক্য কি আপনার চোখে পড়ে?
সোহেল : অন্য অন্য দেশের মত বাংলাদেশেও অনেক মেধাবী রযেছে। যেহেতু আমাদের জনসংখা অনেক বেশী সে হিসেবে মেধাবীর সংখাও আনুপাতিক হারে বেশী বলে আমি বিশ্বাস করি। এদের ভেতর থেকে যারা সফটওয়্যার ডেভেলপমেন্ট এ আসে তাদের টেকনিকাল স্কিল কোনো অংশে কম নয়। তবে জাপানী ডেভেলপারদের কিছু এটিচুড চোখে পড়ার মত। যেমন, “I want to do it.”। পারব কি পারবনা তা নিয়ে কখনই ভাবেনা। কার ব্যাকগ্রাউন্ড কি তা নিয়ে কোনো মাথাব্যাথা নাই। আর কারো ফলাফলের অপেক্ষা করেনা। প্রতিদ্বন্দ্বিতা মনোভাবটা কম। সবসময় নিজে কতটুক আউটপুট দিল তা দেখে।
আমাদের প্রফেশনালিজমের যথেষ্ট কমতি রযেছে। এটা সফটওয়্যার ডেভেলাপারদের একার সমস্যা নয়। এটা আমাদের জাতিগত সমস্যা। এ চক্র থেকে বের হতে হলে আজ যে শিশু জন্মগ্রহণ করেছে তাকে গড়ে তোলার ভেতর দিয়ে শুরু করতে হবে। সুতরাং এটি দীর্ঘ মেয়াদী পরিকল্পনা।
সুবিন : জাপানে তো বিশাল একটা সফটওয়্যার বাজার রয়েছে। আপনার কোম্পানী তো কিছু ছোট স্কেলের প্রজেক্ট বাংলাদেশে আউটসোর্স করে। বড় স্কেলের প্রজেক্ট আউটসোর্সিং করতে সমস্যা কোথায়? আর জাপানের আউটসোর্সিং বাজার ধরতে চাইলে বাংলাদেশি কোম্পানীগুলোর কী করা উচিত?
সোহেল : বড় স্কেলের প্রজেক্ট আউটসোর্স করতে সমস্যা হয়ে দাঁড়ায় কমুনিকেশন এবং কালচারাল ব্যবধান। ছোট প্রজেক্টের বেলাতেও একই সমস্যা রযেছে কিন্তু রিস্ক একটু কম যা রিকভারের সুযোগ রযেছে।
জাপানের আউটসোসিং বাজার ধরতে চাইলে, জাপানিজ পড়তে এবং লিখতে পারে এমন একজনকে নিযোগ দিয়ে শুরু করতে হবে। যে কিনা Bridge Engineer হিসেবে কাজকরবে। জাপানিজরা ইংরেজিতে কমুনিকেট করতে চায়না। যেহেতু এটা তার মাতৃভাষা নয় সেহেতু মিসকমুনিকেশানের কারণে কাজে ভুল হয়ে সময় ও শ্রম দুই নষ্ট হতে পারে, যা তারা খুবই অপছন্দ করে। যেটাকে আমি কমুনিকেশন সমস্যা বলেছি।
আর কাজের সাথে সংস্লিষ্ঠ কালচারাল ব্যবধান বলতে আমার কাছে মনেহয় প্রফেশনালিজমের অভাব। যেহেতু বহির বিশ্বের কাছে আমরা কর্ম দিয়ে পরিচিত নই সেহেতু ছোটো ছোটো প্রজেক্ট এর কাজ করে আমরা সে আস্থা তৈরী করতে পারি।
সুবিন : আরে যেসব সফটওয়্যার প্রকৌশলী কাজ করার জন্য জাপান যেতে চায়, তারা কিভাবে যেতে পারে?
সোহেল : বিশ্ববিদ্যালয় শেষ করে জাপানে দুবছরের “জাপানিস ভাষা শিক্ষা” কোর্স করতে অাসতে পারে। অথবা স্কলারশিপ নিয়ে এম.এস./পিএইচডি করতে আসতে পারে। কোর্স শেষ হবার আগেই অনেকে চাকরি পেয়ে যায়। সফটওয়্যার প্রকৌশলীদের এখানে বেশ চাহিদা আছে। এখানে একজন সফটওয়্যার প্রকৌশলীর সর্বনিম্ন প্রতি মাসে বেতন বাংলাদেশী দেড় লক্ষ টাকা!
সুবিন : আপনি তো নিজ উদ্যোগেও অ্যাপল স্টোরে আইওএস (iOS) অ্যাপ তৈরি করে পাবলিশ করেছেন। এবং বেশ সফলও হয়েছেন। সেই অ্যাপগুলোর ব্যাপারে একটু বলুন।
সোহেল : ২০০৯ থেকে আমি iOS অ্যাপস ডেভেলপমেন্টের সাথে জড়িত। আমার যে অ্যাপটি আমাকে সব থেকে বেশী সফলতা এনে দিয়েছে তার নাম হচ্ছে “SYSTEM UTIL Dashboard”। এটি ২০১৩ সনের মার্চ মাসে Apple এর Overall Rank এ ৭৫ টি দেশে ১ নাম্বার ডাউনলোডেড এপ্লিকেশন হয়। Utilities বিভাগে ৯৮ টি দেশে ১ নাম্বার স্থান দখল করে। এছাড়া ২০১০ এ SYSTEM নামের অ্যাপটি জাপানিস App স্টোরে “Top ১০ Paid” অ্যাপ হিসেবে নির্বাচিত হয়। এবং ২০১১,২০১২ তে আমার ২টি করে ২০১৩ তে ১ টি এপ্লিকেশন “App Store BEST OF” হিসেবে নির্বাচিত হয়. যা আমাকে সবসময় উত্সাহিত করেছে পরবর্তী কাজের জন্য। আমার তৈরী একটি অ্যাপ নিয়ে ২০১৩ জানুয়ারীর ২৪ তারিখে “The New York Times” এ প্রতিবেদন ছাপা হয়।
সুবিন : বাংলাদেশে বসে কেউ যদি নিজে নিজে অ্যাপল স্টোর বা প্লে স্টোরে অ্যাপ পাবলিশ করতে চায়, তাহলে তার সফল হবার সম্ভাবনা কতটুকু? অ্যাপগুলো কি লোকাল মার্কেটের কথা চিন্তা করে বানানো উচিত নাকি গ্লোবাল মার্কেট?
সোহেল : যদিও এ মার্কেট এখন অনেকটা পুরোনো হয়ে গেছে এবং বড় বড় কোম্পানি গুলোর সাথে কম্পিট করতে হচ্ছে তবুও যথেষ্ট সুযোগ রযেছে। Creative এবং Innovative টেক পিপলদের জন্য এটি একটি বড় সুযোগ যে তারা পৃথিবীর যেকোনো জায়গা থেকে সরাসরি বিশ্বের অনেক গুলো দেশের ক্রেতার কাছে তাদের কাজ পৌঁছে দিতে পারছে। আর ভালো অ্যাপস এর কদর সবসময়ই আছে। ভালো অ্যাপস তৈরীর পাশাপাশি তা পরিচিত করার জন্য প্রচারণার কাজটিও করতে হবে সমান গুরত্ব দিয়ে। লেগে থাকলে সফলতা বেশীদিন পালিয়ে থাকতে পারেনা। অ্যাপ এর প্রচারের অনেক টিপস এবং টিউটোরিয়াল রযেছে ইন্টারনেটে।
আর এমন একটা বড় সুযোগ থাকতে গ্লোবাল মার্কেটকে চিন্তা করে অ্যাপগুলো না বানানোর কোনো কারণ দেখিনা। US, Japan, Germany, Italy এর মত দেশে পেইড অ্যাপএর ক্রেতা এখনও অনেক বেশী। আবার ইন্টারনেটের ব্যবহার সর্বত্র থাকায় বিজ্ঞাপনের মাধ্যমে ও এসব দেশ থেকে সর্বাধিক লাভবান হওয়া সম্ভব।
সুবিন : এবারে একটু পেছনে ফিরে যাই। ছোটবেলায় কোন কোন স্কুল-কলেজে লেখাপড়া করেছেন?
সোহেল : আমার স্কুল জীবন কাটে বাংলাদেশ রাইফেলসে।
সুবিন : কোন ভার্সিটিতে পড়েছেন? আপনার দক্ষ প্রোগ্রামার হওয়ার পেছনে ভার্সিটির ভূমিকা কতটুকু?
সোহেল : ইনস্টিটিউট অব সাইন্স এন্ড টেকনলজি (IST)। বিশেষ ভুমিকা রেখেছে বলে আমার মনেহয়না। তবে আমাকে একটা পরিবেশ দিয়েছে যেখানে আমি আমাকে তুলনা করার সুযোগ পেয়েছি এবং শিক্ষক ও বড় ভাইদের কাছ থেকে অনেক এডভাইস পেয়েছি।
সুবিন : যারা বিভিন্ন বিশ্ববিদ্যালয়ে কম্পিউটার সায়েন্স পড়ছে, তারা যদি দক্ষ সফটওয়্যার ডেভেলাপার হতে চায়, তবে করণীয় কী?
সোহেল : দক্ষ সফটওয়্যার ডেভেলপার হতে হলে দরকার প্রচুর অনুশীলন। তাই প্রথম সেমিস্টার থেকেই তা শুরু করতে হবে। পাঠ্যক্রমে যা আছে শুধু তার ভেতর সীমাবদ্ধ থাকা যাবেনা। পরীক্ষায় ভালো ফলাফলের সাথে ভালো সফটওয়্যার ডেভেলপারের কোনো সম্পর্ক নাই। তাই পরীক্ষায় ভালো ফলাফলের জন্য লেখা পড়া করার বাইরে অতিরিক্ত সময় বের করে প্রোগ্রামিং অনুশীলন করতে হবে।
সুবিন : অনেক শিক্ষার্থীই ফ্রিল্যান্সিং ওয়েবসাইটে কাজ করছে, বিষয়টি আপনি কিভাবে দেখেন?
সোহেল : পজেটিভে ভাবে দেখছি। যেহেতু তারা উন্নত দেশের কাজগুলো করছে সেহেতু মার্কেটে টিকে থাকতে তাদেরকে প্রফেশনাল হতে বাধ্য করছে। বিশ্ববাজার এ নিজের অবস্থানকে তুলনা করার সুযোগ পাচ্ছে। যা তাদের এবং বাংলাদেশের ভবিষৎতের জন্য খুবই গুরত্বপূর্ণ ভূমিকা রাখবে বলে মনেকরি।
সুবিন : বাংলাদেশে সফটওয়্যার শিল্পের বিকাশে মূল প্রতিবন্ধকতাগুলো কী মনে হয় আপনার কাছে?
সোহেল : এক কথায় বললে অবকাঠামোর অভাব।
এরকম ১২টি সাক্ষাৎকার নিয়ে প্রকাশিত হয়েছে “প্রোগ্রামিং ক্যারিয়ার গাইডলাইন : এক ডজন প্রোগ্রামারের কথা”। বইটি পাওয়া যাচ্ছে নীলক্ষেতের হক লাইব্রেরি ও রকমারি ডট কম-এ। বিস্তারিত জানতে ওপরের ছবিতে ক্লিক করুন।
সুবিন : আমরা কিভাবে সেটি অতিক্রম করতে পারি?
সোহেল : যেহেতু আমি ভালো বক্তা নই তাই সুন্দর করে বলতে পারছিনা। তবে আমার সহজসরল ভাষায়, অবকাঠামো উন্নয়নের মাধ্যমে সম্ভব। যার গুরুদায়িত্ব হলো সরকারের হাতে। যদিও এ সরকার যথেষ্ট উদ্যোগ নিয়েছে এ শিল্প কে অগ্রাধিকার দিয়ে। যথাযথ অবকাঠামো পেলে মেধাবী এবং entrepreneur রা তার সঠিক ব্যবহার করে থাকে। সফটওয়্যার শিল্পের বেলায় ও তাই। অবকাঠামো উন্নয়নে যে দুই-তিনটি বিষয় এ এখন খুব বেশী গুরুত্ব দেয়া দরকার বলে আমার মনে হয় :
১. সার্বক্ষণিক বিদ্যুৎত নিশ্চিত করা
২. বিভাগীয় সহর গুলোর সর্বত্র সার্বক্ষণিক উচ্চগতীর ইন্টারনেট নিশ্চিত করা (ভুলে যেতে হবে ইন্টারনেট সংযোগ নাই বলে কোনো বিষয় আছে)
৩. কপিরাইট আইনের সঠিক বাস্তবায়ন (পাইরেসি)
৪. ইন্টারন্যাশনাল ব্যাঙ্কিং কে আরো সহজ করা
৫. বড় বড় IT কোম্পানিগুলোর জন্য IT পার্ক করা এবং শহরের নিরাপত্তা বৃদ্ধি করা
হয়ত সবই হবে, তবে যত তাড়াতাড়ি হবে তত আমরা তাড়াতাড়ি এগোব। আমি আমার দেশকে একটা সুন্দর জায়গায় দেখতে চাই। চাই আমার সন্তানরা যেন একটা শান্তির উন্নত দেশ পায়।
মারুফ মনিরুজ্জামান একজন সফটওয়্যার নির্মাতা। শাহজালাল বিজ্ঞান ও প্রযুক্তি বিশ্ববিদ্যালয়ে কম্পিউটার সায়েন্স ও ইঞ্জিনিয়ারিং বিভাগে লেখাপড়া করেছেন। তারপর ঢাকায় সফটওয়্যার ইঞ্জিনিয়ার হিসেবে ক্যারিয়ার শুরু করলেও, মাইক্রোসফটে চাকরি পেয়ে কানাডা চলে যান। এখন তাঁর বসবাস যুক্তরাষ্ট্রে। মনির ভাই আমার বিশ্ববিদ্যালয়ের বড় ভাই, আমার চেয়ে ২ ব্যাচ সিনিয়র। তাই তাঁর কাছ থেকে দুইঘণ্টা সময় বের করতে কোনো সমস্যা হলো না। আশা করি আমাদের দেশের উদীয়মান প্রোগ্রামাররা তাঁর কথা থেকে উপকৃত ও অনুপ্রাণিত হবে।
সুবিন : মনির ভাই, এখন কোথায় কাজ করছেন? মনিরুজ্জামান : আমি এখন Caradigm নামে একটা কোম্পানিতে কাজ করি। এটা মাইক্রোসফট আর জেনারেল ইলেকট্রিক কোম্পানির হেলথ কেয়ার ভিত্তিক যৌথ উদ্যোগ।
সুবিন : এখানে আপনি কী ধরণের কাজ করেন? আপনার প্রজেক্ট সম্পর্কে একটু বলুন। মনিরুজ্জামান : আমি যে প্রজেক্টে কাজ করি সেটা হেলথ কেয়ারের জন্য একটা প্লাটফর্ম। এটা বিভিন্ন উৎস এবং ডিভাইস থেকে তথ্য সংগ্রহ থেকে শুরু করে স্বাস্থ্য সংক্রান্ত যেসব প্রযুক্তি দরকার হয়, সেগুলোর জন্য একটা প্লাটফর্ম সরবরাহ করে। যেটার উপর ভিত্তি করে অন্য ছোটবড় কোম্পানি সফটওয়্যার লিখতে পারে। এখানে মূলতঃ মাইক্রোসফটের প্রযুক্তি ব্যবহার হয়। যেমন ল্যাংগুয়েজের জন্য C#, প্লটাফর্মের জন্য Windows Server, SQL Server, Windows Azure, এছাড়া Natural Language Processing ইত্যাদি ব্যবহার হয়।
সুবিন : Caradigm-এ কবে থেকে কাজ করছেন? এখানে চাকরি পেলেন কিভাবে?
মনিরুজ্জামান : Caradigm এ কাজ করি প্রায় দেড় বছর। এখানে কাজ পেয়েছি মূলতঃ আমার আগের মাইক্রোসফটে কাজ করার অভিজ্ঞতা থাকায়। আমি এর আগে ২০০৮ সনে মাইক্রোসফট অফিসে (যারা Word, Excel, Exchange এই সফটওয়্যারগুলো বানায়) যোগ দেই। সেখানে কিভাবে কাজ পেলাম সেটা বলা যায়। আমি শাহজালাল বিশ্ববিদ্যালয়ে পড়ার সময় জাভা ভার্চুয়াল মেশিন বানিয়েছিলাম একটা প্রোজেক্টের অংশ হিসাবে। সেটা নিয়ে আমি ২০০৮ এ codeproject এ একটা আর্টিকেল লিখি। সেটা ওই মাসে সেরা আর্টিকেল হিসাবে প্রথম হয়। এরপর ওরা আর্টিকেলের লিংকটা ওদের প্রায় ৫০ লক্ষ (৫ মিলিয়ন) সদস্যের কাছে পাঠায়। তাদের মধ্যে একজন মাইক্রোসফটের রিক্রুটার ছিল। উনি আমাকে রিজিউমি পাঠাতে বলেন। এরপর হংকংএ আমার ইন্টারভিউ হয়। এরপর আমি মাইকোসফট থেকে অফার পাই।
সুবিন : বাংলাদেশে সফটওয়্যার ইন্ডাস্ট্রিতে কত বছর কাজ করেছেন? মনিরুজ্জামান : আমি বাংলাদেশে কাজ করেছি প্রায় ৩ বছর। সাইক্রাফট সল্যুশন এবং কাজ সফটওয়্যার-এ।
সুবিন : এবারে একটু পেছনের দিকে যাই। প্রথম কম্পিউটারের সাথে পরিচয় কবে? প্রোগ্রামার হওয়ার সিদ্ধান্তটি কখন নিলেন? মনিরুজ্জামান : কম্পিউটার প্রথম হাতে পাই শাহজালার বিশ্ববিদ্যালয়ে ভর্তি হওয়ার পর, ১৯৯৮ সনে। তবে কম্পিউটার নিয়ে আমার আগ্রহ ছিল স্কুলে পড়ার সময় থেকে। একটা কম্পিউটার হাতে পাওয়ার জন্য আমি অনেক চেষ্টা করেছি স্কুলে এবং কলেজে পড়ার সময়। তখন সি এন্ড ই জার্নাল নামে একটা পত্রিকা বের হত। সেটার ১৯৯৭ সংখ্যায় আমার একটা চিঠি ছাপা হয় যেটায় আমি জানতে চেয়েছিলাম Z80 কম্পিউটার বানানোর পার্টস কোথায় পেতে পারি। ওরা লিখেছিল এখন সেগুলো পাওয়া যাবে না। এর চেয়ে ১৫০০০ টাকা দিলে ওরা আমাকে একটা পুরোনো কম্পিউটার দিতে পারে। আর প্রথম প্রোগ্রামটা আমি “খাতায়” লিখেছিলাম সম্ভবত ১৯৯৪ সনে ক্লাস নাইনে পড়ার সময়। যেটা ছিল একটা কার্ড গেম। ১৯৯৮ সনে সেটা প্রথম কম্পিউটারে রান করে দেখি। প্রোগ্রামার হওয়ার সিদ্ধান্ত কবে নিলাম এটা বলা অনেক মুশকিল – তাই একটু ইতিহাস বলে দিলাম।
সুবিন : কম্পিউটার সায়েন্স পড়ার সিদ্ধান্তটি কি আপনার নিজের ছিল? নাকি বাবা-মা বলে দিয়েছে যে আপনাকে কম্পিউটার সায়েন্স পড়তে হবে? মনিরুজ্জামান : আমার নিজের অবশ্যই। আমার “একটা কম্পিউটার থাকা মানুষের জীবনে কত জরুরী” এইটার বিবরণ শুনতে শুনতে আমার বাবা মা মোটামুটি অতিষ্ঠ হয়ে ছিলেন প্রায় ৫ বছর। আমি কম্পিউটার সায়েন্সে না পড়লেও সম্ভবত প্রোগ্রামার হওয়ার চেষ্টা করতাম।
সুবিন : আপনার প্রথম স্কুল কোনটি ছিল? কত বছর সেখানে পড়েছেন? মনিরুজ্জামান : আমার প্রথম স্কুল ছিল কাজীপুর, সিরাজগঞ্জের একটি গ্রামে। খুকশিয়া সরকারি প্রাথমিক বিদ্যালয়। সেখানে চার বছর লেখাপড়া করি।
সুবিন : তারপর আর কোন কোন স্কুলে পড়েছেন? কোন কলেজে পড়েছেন? মনিরুজ্জামান : তারপর হৈমবালা সরকারি প্রাথমিক বিদ্যালয়, এসবি রেলওয়ে কলোনি উচ্চ বিদ্যালয়ে লেখাপড়া করেছি। আমার কলেজ হচ্ছে রাজশাহীর নিউ গভ: ডিগ্রী কলেজ।
সুবিন : আমাদের দেশে অভিভাবকরা তো নামীধামী স্কুলে সন্তানকে পড়ানোর জন্য মরিয়া। সেখানে না পড়লে জীবন শেষ। এই ব্যাপারে আপনার কী মতামত? মনিরুজ্জামান : আমি নামি-দামি স্কুলে পড়ি নাই। সেকারণে আমি কী হারিয়েছি এটা চিন্তা করা মুশকিল। তবে আমার যত মানুষের সাথে পরিচয়, তার বেশিরভাগই নামীদামী স্কুলে পড়ে নাই। শেষ পর্যন্ত মানসিক উন্নতিটাই আসল। ইচ্ছা থাকলে যেকোনো জায়গা থেকে শেখা যায় বলেই আমার ধারণা।
সুবিন : আমাদের যে পরীক্ষাভিত্তিক শিক্ষাব্যবস্থা, এ নিয়ে আপনার কী মন্তব্য? কর্মজীবনে সিজিপিএ কতটা দরকারি? মনিরুজ্জামান : পরীক্ষা তো থাকতেই হবে, নাহলে মূল্যায়ন করা মুশকিল। তবে পরীক্ষায় নম্বর পাওয়ার জন্য পড়াশোনা করাটা আমার কাছে সময়ের অপচয় মনে হয়। শেখার জন্য পড়া জরুরী আর কতটুকু শিখলাম, সেটার জন্য পরীক্ষা দরকার। যেন কতটুকু শেখা হলো সেটা অন্যদের সাথে তুলনা করা যায়। কর্মজীবনে এখন পর্যন্ত কেউ আমার কাছে সিজিপিএ জানতে চায় নাই, সুতরাং আমার ধারণা খুব বেশি দরকারি না। পিএইচডি করতে চাইলে মনে হয় লাগে, কিন্তু সেটা নিয়ে আমার কোনো অভিজ্ঞতা নাই।
সুবিন : যেসকল কম্পিউটার বিজ্ঞান ও প্রকৌশলের শিক্ষার্থীরা ক্যারিয়ার হিসেবে সফটওয়্যার ইঞ্জিনিয়ারিং বেছে নিতে চায়? তাদের প্রতি আপনার কী পরামর্শ? মনিরুজ্জামান : প্রথমে দেখতে হবে বিষয়টাতে আপনার উৎসাহ আছে কিনা। আমি মনে করি, কোন বিষয় ভাল না লাগলে সেটা করা উচিৎ নয়। আপনি যদি প্রোগ্রামিং আগ্রহী হন এবং এটাকে পেশা হিসাবে নিতে চান তাহলে প্রথমে সময় নিয়ে চর্চা করুন। ভালভাবে না শিখে কাজ শুরু করলে কখনওই আর শেখা নাও হতে পারে। প্রচুর চর্চা করলে চাকরি নিয়ে চিন্তা করতে হবে না। আমি অনেক কষ্টে (আসলে সহজে, পড়াশোনাই করতাম না- কষ্ট হল কিভাবে?) কম্পিউটার সায়েন্সের ডিগ্রি পেয়েছি। কিন্তু আমি সারাদিন কম্পিউটারে বিভিন্ন কাজ করতাম। আমার কাজে লাগবে সেকারনে করতাম না। মজা লাগত বলে করতাম। কয়েকটি বিষয় ঠিক করুন কী কী করতে চান। একটা কার্টুন সফটওয়্যার বানান। নির্দোষ ভাইরাস বানিয়ে বন্ধুকে পাঠিয়ে দিন। কম্পিউটারকে ১ থেকে ১০০০ বিলিয়নের মধ্যে সবগুলো প্রাইম নাম্বার বের করতে লাগিয়ে দিন। দাবা খেলার প্রোগ্রাম লিখুন, যেটা ১০০০ লাইনের মধ্যে করা সম্ভব বা প্রেয়সীর ছবি দিয়ে গেম বানান, যেটা ছবির বিভিন্ন অংশ এলোমেলো ব্লকে রাখবে। আনন্দ আর কাজ একসাথে করা যাবে না কেন? তারপর একদিন দেখবেন মাইক্রোসফট রিক্রুটারের মেইল পেয়ে গেছেন। আমার ক্ষেত্রে তাই হয়েছে।
সুবিন : ভালো প্রোগ্রামার হতে গেলে অ্যালগরিদমভিত্তিক প্রোগ্রামিং প্রতিযোগিতা, যেমন এসিএম আইসিপিসি-তে অংশগ্রহন কতটা গুরুত্বপূর্ণ? মনিরুজ্জামান : ভালো প্রোগ্রামার হতে অবশ্যই ডাটা স্ট্রাকচার এবং অ্যালগরিদম জানতে হবে। ডাটা স্ট্রাকচার এবং অ্যালগরিদম না জেনে সফটওয়্যার বানালে সেটার মধ্যে কাঠামোগত ত্রুটি থাকবে। এই ত্রুটিগুলোর কারণে সফটওয়্যারে নতুন ফিচার যোগ করা বা অধিক সংখ্যক ব্যবহারকারীর জন্য ব্যবহার উপযোগী করা কঠিন হয়ে পড়ে। সাধারনভাবে জটিল ডাটা স্ট্রাকচার এবং অ্যালগরিদম নিত্যদিনের কাজে দরকার হয় না। কিন্তু অনেক ছোট ছোট সিদ্ধান্ত নিতে হয় যেগুলোতে ডাটা স্ট্রাকচার এবং অ্যালগরিদম জানা একজন প্রোগ্রামারের সিদ্ধান্ত অনেক উন্নতমানের হয়। একারনে মাইক্রোসফট, ফেসবুক, গুগলের মত কোম্পানি ডাটা স্ট্রাকচার এবং অ্যালগরিদমের উপরই মূলতঃ ইন্টারভিউ নিয়ে থাকে। ডাটা স্ট্রাকচার এবং অ্যালগরিদমে দক্ষ যে কেউ অন্য প্রয়োজনীয় দক্ষতা সহজেই আয়ত্ব করতে পারে। এসিএম আইসিপিসি মূলতঃ কতটুকু ডাটা স্ট্রাকচার এবং অ্যালগরিদমে শেখা হল সেটার একটা পরীক্ষা। এখানে ভাল করলে ধরে নেয়া যায় যে, শেখা হচ্ছে ঠিকমত। যাদের সুযোগ আছে তাদের এসিএম আইসিপিসি তে অংশগ্রহন করা উচিত এবং প্রতিযোগীতায় ভাল করার চেষ্টা করা উচিত। শেষ পর্যন্ত সবাই প্রথম স্থান পাবে না বা প্রথম ১০ এর মধ্যে থাকতে পারবে না। কিন্তু অংশগ্রহনের মধ্য দিয়ে অনেককিছু শেখা হবে যেটা পরবর্তীতে অবশ্যই কাজে লাগবে। তবে কেউ যদি ইচ্ছা করে তবে জীবনের যে কোনো পর্য়ায়েই যে কোনো কিছু শিখতে পারে। তাই প্রতিযোগিতায় অংশগ্রহনের সুযোগ না থাকলেও পূর্বের বিভিন্ন প্রতিযোগীতার প্রশ্নগুলো দেখা যেতে পারে। এই প্রশ্নগুলো বিভিন্ন বাউন্ডারি কেস নিয়ে চিন্তা করতে শেখায়। যেটা পরবর্তীতে উন্নতমানের সফটওয়ার তৈরির জন্য কাজে লাগবে। আমি ব্যক্তিগতভাবে http://ace.delos.com/usacogate সাইটের প্রশ্নগুলো সমাধান করতাম। এখানে ১০০ এর মত প্রশ্ন আছে যেগুলো জানা একজন কম্পিউটার প্রকৌশলীর জন্য জরুরী।
সুবিন : কম্পিউটার সায়েন্সে না পড়ে কি সফটওয়্যার নির্মাতা হওয়া সম্ভব? মনিরুজ্জামান : হ্যাঁ, সম্ভব। কম্পিউটার সায়েন্সে যে বিষয়গুলো পড়ায় তার মধ্যে বিভিন্ন ল্যাংগুয়েজ, কম্পিউটার আর্কিটেকচার সম্পর্কে ধারনা, সফটওয়্যার ডিজাইন, ডাটাবেজ সিস্টেমস, ডাটা স্ট্রাকচার, অ্যালগরিদম এই বিষয়গুলো সরাসরি কাজে লাগে। যে কেউ এগুলো নিজে নিজে শিখতে পারে যদি আগ্রহ থাকে। কিন্তু মনে রাখতে হবে বিষয়গুলো কয়েক বছর ধরে পড়ানো হয়। তাই শর্টকাট খুঁজলে হবে না। সময় নিয়ে খুঁটিনাটি বিষয়গুলো শিখতে হবে। মাইক্রোসফট অফিসে আমার একজন কলিগ ছিলেন যিনি পদার্থবিজ্ঞান নিয়ে পড়াশোনা করেছেন। এখন সিনিয়র ইঞ্জিনিয়ার হিসাবে কাজ করছেন। অল্প দিনেই প্রিন্সিপাল ইঞ্জিনিয়ার হয়ে যাবেন সম্ভবত। মাইক্রোসফট অফিসে কেউ যদি কম্পিউটার সায়েন্সে না পড়ে কাজ করতে পারেন, তাহলে আমার ধারনা, যে কোনো যায়গাতেই সেটা সম্ভব।
সুবিন : একজন সফটওয়্যার ইঞ্জিনিয়ারের কী কী দক্ষতা থাকা উচিত? দক্ষতা বলতে আমি টেকনিক্যাল স্কিল এবং সফট্ স্কিল দুটোই বুঝাচ্ছি। মনিরুজ্জামান : প্রথমত, প্রচুর পরিমান অনুশীলন করতে হবে। বিষয়টা অনেকটা ব্যয়াম করার মত। কেউ যদি ১০ টা বুকডন (বা অন্য যে কোন ব্যায়াম) দিয়ে বলে আমি বুকডন দেয়া শিখে গেছি, আমার আর বুকডন দেয়ার দরকার নাই তাহলে যেমন শোনাবে – যখন কেউ বলে আমি এই ল্যাংগুয়েজ শিখে ফেলেছি সুতরাং আমার আর প্রোগ্রামিং করার দরকার নাই তাহলে সেরকমই শোনাবে। অনেক চর্চা করতে হবে। ব্যাপারটাকে ব্যায়ামের মত দেখতে হবে। কম্পিউটারের ভাষায় পুরোপুরি দক্ষতা থাকতে হবে। সফটওয়্যার তৈরি কবিতা লেখার মত। কবিতা লেখার সময় কবি কখনও ভাষা নিয়ে চিন্তা করেন না। ভাষা পুরোপুরি জানা না থাকলে কেউ কবিতা লেখার চেষ্টা করেন না।
আবার শুধু বুকডন চর্চা করলে যেমন ব্যায়ামের লক্ষ্য পূরন হয় না তেমনি শুধুমাত্র একটা বিষয় শিখলে ভাল সফটওয়্যার ইঞ্জিনিয়ার হওয়া যায় না। কয়েকটা বিভিন্ন ধরনের ভাষা জানা জরুরী। প্রত্যেকটা ভাষার কিছু নিজস্ব বৈশিষ্ট্য আছে। বৈশিষ্ট্যগুলো জানা থাকা দরকার। আমি Python, C, C# বা Java, Javascript, Erlang, Assembly অন্তত এই কয়েকটা ল্যাংগুয়েজ শেখার পরামর্শ দেব। প্রত্যেকটা ভাষারই কিছু অনন্য বৈশিষ্ট্য আছে। এবং কেউ যদি শুরু করতে চান তাহলে প্রথমে পাইথন দিয়েই শুরু করুন। তারপর বাকিগুলো শেখা যেতে পারে। ভাষা শেখার জন্য ৫০০-১০০০ ঘন্টা ব্যায় করা হলে এরপর ডাটা স্ট্রাকচার এবং অ্যালগরিদমের দিকে সময় দেয়া দরকার। যদিও ১০০০ ঘন্টা চর্চা করলে কিছু ডাটা স্ট্রাকচার এবং অ্যালগরিদম শেখা হয়ে যাবে।
এরপর নেটওয়ার্কিং, প্যারালাল প্রসেসিং এবং সিকিউরিটি সম্পর্কে বিস্তারিত জানতে হবে।
এছাড়া আর যে বিষয়গুলো লাগে সেগুলো হল বিভিন্ন ধরনের ডাটাবেজ সম্পর্কে ধারনা (SQL, NoSQL), বিভিন্ন ফ্রেমওয়ার্ক (ASP .NET, Angular JS ইত্যাদি) সম্পর্কে ধারনা, ক্লাউড কম্পিউটিং, সোর্স কোড কন্ট্রোল (Team Foundation Server, Git), Continuous Integration এবং বিভিন্ন ধরনের সফটওয়্যার ডেভলপমেন্ট মেথড (যেমন agile) ইত্যাদি। এগুলো সম্পর্কে প্রাথমিক ধারনা থাকলে কাজ করতে করতে শিখে ফেলা যায়।
আর সফটওয়্যার তৈরি শুরু করার আগে মোটামুটি একটা খসড়া ডিজাইন ডকুমেন্ট বানাতে হয়। যেটা পরবর্তীতে পরিবর্তন হতে পারে কিন্তু কাজ শুরু করার জন্য একটা থাকতেই হবে। এই বিষয়টা অভ্যাস করলে ভাল হয়।
একটা বিষয় যেটা বাংলাদেশে গুরুত্ব দেয়া হয় না সেটা হচ্ছে যোগাযোগ দক্ষতা। অন্য মানুষের সাথে কিভাবে সঠিকভাবে কোনো বিষয় নিয়ে আলোচনা করতে হবে, বা কিভাবে কোনো বিষয়ে মতের অমিল হলে সেটা আলোচনার মাধ্যমে সমাধান করতে হবে – এগুলো শেখা খুবই গুরুত্বপূর্ণ। কাউকে কোনভাবে আক্রমন বা অসম্মান করলে তার থেকে ভবিষ্যতে কোন সহায়তা পাওয়া অসম্ভব।
আর সবশেষে আরকবার বলি শব্দটা হচ্ছে দক্ষতা – মেধা নয়। মাসে একদিন ৮ ঘন্টা ব্যায়ম করলে হবে না। প্রতিদিন করতে হবে। আর প্রতিদিন কতটুকু পেশি বাড়ল সেটাও মাপা যাবে না। একবছর পর মাপতে হবে কতটুকু উন্নতি হল। প্রোগ্রামিং বা সফটওয়্যার ইঞ্জিনিয়ারিং এর ক্ষেত্রেও তাই। কাজটা অনেক মজার সুতরাং আশা করি সেটা আনন্দদায়ক অভিজ্ঞতা হবে।
সুবিন : বাংলা ভাষায় প্রোগ্রামিং শিক্ষা কতটা গুরুত্বপূর্ণ ? মনিরুজ্জামান : পৃথিবীর বেশিরভাগ মানুষ নিজের ভাষায় পড়াশোনা করে। আমাদের জন্য সেটা বাংলা ভাষা। প্রোগ্রামিং এর সাথে বাংলা বা ইংরেজি বা অন্য ভাষার সরাসরি কোন সম্পর্ক নাই। যদি ভাল মানের বই থাকে তবে নিজের ভাষায় যে কোন কিছু শেখা সহজ। সেটা প্রোগ্রামিং এর ক্ষেত্রেও সত্য। আর বাংলা ভাষায় বই অবশ্যই দরকার আছে। অনেকেই শুধু ইংরেজি ভাষায় দুর্বল থাকার কারনে প্রোগ্রামিং শেখার উৎসাহ পায় না।
সুবিন : আপনি তো প্রোগ্রামিং শিক্ষা নিয়েও কাজ করেন। শিক্ষক ডট কম-এ আপনার সি প্রোগ্রামিংয়ের একটি কোর্স আছে। এই কাজগুলো সম্পর্কে যদি একটু বলতেন। মনিরুজ্জামান : আমি যদি কম্পিউটার সায়েন্সে পড়ার সুযোগ না পেতাম তাহলে নিজে নিজে শেখার চেষ্টা করতাম। কিন্তু সেটা মোটেও সহজ হত না। সেকারনে আমি পরিকল্পনা করেছিলাম ১/২টা ভাষা, ডাটা স্ট্রাকচার, অ্যালগরিদম, কম্পিউটার আর্কিটেকচার ইত্যাদি কোর্স আকারে তৈরি করা। আমি মূলত ইউটিউবে ভিডিওগুলো আপলোড করা শুরু করেছিলাম। এরপর ডক্টর রাগিব হাসান ওনার শিক্ষক.কম সাইট চালু করেন এবং আমার ভিডিওগুলো সেখানে দিতে শুরু করি। যেহেতু শিক্ষক.কমে আর্টিকেলও দিতে হয় সেকারনে আমি আর্টিকেলও লিখতে থাকি। তবে আর্টিকেল লিখতে অনেক সময় লাগে। সেকারনে আমি সিদ্ধান্ত নিয়েছি আর্টিকেল না লিখে এখন থেকে শুধু ভিডিও আপলোড করব আর আগের মত http://u.lekhoni.com সাইটে সেগুলো রাখব। এরপর লেখার কাজটা করা যাবে সময় পেলে। আমি এখন ডাটা স্ট্রাকচার আর অ্যালগরিদমের ভিডিওগুলো তৈরি করছি। আর বাংলায় এই বিষয়ে একটা বই লিখছি। তবে এই বিষয়ে আারো অনেকে এগিয়ে আসছেন যারা আমার চেয়ে অনেক বেশি সক্রিয়। এটা অনেক আশার কথা।
সুবিন : এবারে অন্য প্রসঙ্গে যাওয়া যাক। আপনি তো বাংলাদেশে একটি উদ্যোগের (iFeri.com) সাথে জড়িত? সেটি নিয়ে যদি একটু বিস্তারিত বলতেন। মনিরুজ্জামান : iFeri.com আমরা তিন বন্ধু (আমি, শামস, নাসির) মিলে শুরু করেছি ২০১১ সনে। এটা একটা অনলাইন শপিং উদ্যোগ। ঢাকায় কোনকিছু কিনতে কোথাও যেতে হলে যত সময় রাস্তায় আটকে থাকতে হয় সেটা খুবই অসুবিধাজনক। কেউ যদি বাসায় জিনিসটা ডেলিভারি দিয়ে যায় তাহলে জীবনের অনেক মূল্যবান সময় বাঁচে । এটাই শুরু করার আগে আমাদের “আমরা কি সুবিধা দিতে পারি” এই প্রশ্নের উত্তর ছিল। এটা আসলে একটা ব্যবসা উদ্যোগ। সফটওয়ার উদ্যোগ নয়। একজন সফটওয়ার ইঞ্জিনিয়ার হিসাবে কোন একটা কোম্পানিতে কাজ করলে, সেটা যত বড়বা ছোট কোম্পানিই হোক, সেটা নিজের দাবি করা যায় না। আর পুরোপুরি স্বাধীনতাও পাওয়া যায় না কখনও।
Wolfram এর তধ্য অনুযায়ী ঈদের মাসে ১৫ লক্ষ হিট হয়েছে আমাদের সাইটে। ১ লক্ষ এর বেশি মানুষ এসেছে। কম খরচে এইরকম লোড সাপোর্ট দেয়ার জন্য আমরা বেশকিছু প্রযুক্তি ব্যবহার করেছি। যেটা নিয়ে iFeri.com এ লেখার ইচ্ছা আছে ভবিষ্যতে।
এরকম ১২টি সাক্ষাৎকার নিয়ে প্রকাশিত হয়েছে “প্রোগ্রামিং ক্যারিয়ার গাইডলাইন : এক ডজন প্রোগ্রামারের কথা”। বইটি পাওয়া যাচ্ছে নীলক্ষেতের হক লাইব্রেরি ও রকমারি ডট কম-এ। বিস্তারিত জানতে ওপরের ছবিতে ক্লিক করুন।
সুবিন : ভবিষ্যতে কী বাংলাদেশে এসে কাজ করার কোনো পরিকল্পনা আছে? মনিরুজ্জামান : বাংলাদেশে শারিরিক ভাবে উপস্থিত না থাকলেও এখনও আমি বিভিন্ন কাজ করছি বাংলাদেশে। ভবিষ্যতে পুরোপুরি অনলাইন ভিত্তিক একটা আন্ডারগ্রাজুয়েট লেভেলের প্রাইভেট বিশ্ববিদ্যালয় করার ইচ্ছা আছে। যেটার জন্য আমি মূলতঃ উদ্যোক্তা হব। শিক্ষক হিসাবে যোগ্যতা সম্পন্ন মানুষ কাজ করবেন। সবাই বাসায় বসে পড়াশোনা করতে পারবে। কিভাবে পরীক্ষা নেয়া হবে, কি কি বিষয় থাকবে সেটা নিয়েও ভেবে দেখতে হবে। আর এটা হবে অলাভজনক প্রতিষ্ঠান। তবে এটা করতে অবশ্যই বেশ সময়ের প্রয়োজন।