লোড টেস্টিং

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

[এই লেখাটি যারা ওয়েব প্রোগ্রামিংয়ের সঙ্গে পরিচিত, তাদের জন্য। যাদের ওয়েব সম্পর্কে একেবারেই ধারণা নেই, তারা দ্বিমিকের ওয়েব কনসেপ্টস্ নামক ফ্রি অনলাইন কোর্সটি করে ফেলতে পারে।]

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

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

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

এখন আমি আমার কম্পিউটারে কোনো একটা টুলস ব্যবহার করে লোড টেস্টিং করে ফেললাম। কিন্তু এখানে দুটি সমস্যা আছে:

  1. প্রতিটি কম্পিউটারেরই একসাথে ওয়েব রিকোয়েস্ট করার (বা ওয়েব সার্ভিসকে কল করার) একটি সীমাবদ্ধতা থাকে, একটি নির্দিষ্ট সংখ্যার বেশি রিকোয়েস্ট একসাথে পাঠানো যায় না।
  2. দ্বিতীয় সমস্যা হচ্ছে নেটওয়ার্কের গতির সীমাবদ্ধতা। ঢাকায় আমার বাসার কিংবা অফিসের ইন্টারনেট যথেষ্ট গতিসম্পন্ন নয়।

তাই, আমাকে যেটি করতে হবে, একসাথে অনেকগুলো কম্পিউটার যোগাড় করে একসাথে লোড টেস্টিং শুরু করতে হবে। তাহলে আমি যদি ১০টি কম্পিউটার ব্যবহার করি, তাহলে ১০ গুণ লোড তৈরি করতে পারার কথা। কিন্তু সবাই যদি একই নেটওয়ার্কে থাকে, তাহলে এক্ষেত্রেও আমি নেটওয়ার্কের সীমাবদ্ধতার কারণে আটকে যাবো। তাহলে করণীয় কী?

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

ওপরের কাজগুলো বেশ ঝামেলাসাপেক্ষ। তাই আজকাল অনেক সার্ভিস চালু হয়েছে যারা আমার হয়ে লোড টেস্ট করে দিবে। যেমন : loader.io (এরকম আরো আছে, গুগল সার্চ করলেই পাওয়া যাবে)। এসব সার্ভিস তাদের প্রয়োজনমতো কম্পিউটার ব্যবহার করবে, আমার কেবল সার্ভিসটি ব্যবহার করতে জানতে হবে।

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

কোন পথে যে চলি

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

confusion-311388_640

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

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

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

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

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

বেসিক জ্ঞান শক্ত কর, আত্মবিশ্বাসী হও, আচার-আচরণে ভদ্র হও। তোমাদের জন্য শুভকামনা।

অনুপম শ্যাম : সাক্ষাৎকার (২)

অনুপম শ্যাম -এর ইন্টারভিউয়ের দ্বিতীয় (ও শেষ) অংশ।

১ম পর্ব পড়তে এখানে ক্লিক করতে হবে।

দ্বিতীয় পর্ব :

anupom

সুবিন : ডিজনীর মতো বিশ্বখ্যাত কোম্পানীতে কাজ করেছেন, সেখানের অভিজ্ঞতা কেমন? আর স্টার্টআপে কাজ করার অভিজ্ঞতা কেমন?
অনুপম : ডিজনী তে আমি গেমিং ডিভিশন এ কাজ করতাম। ডিজনী বড় কোম্পানি তাই সব কিছুই বড়, অনেক স্তর বিশিষ্ট প্রতিষ্ঠান । আমার ডিজনী তে সর্বশেষ প্রজেক্ট “Star Wars Commander” গেম এ একশ এর কাছাকাছি লোক কাজ করেছে। এভারনোটে মনে হয় প্রায় সব মিলিয়ে ৩৫০ জন কর্মী। আমি ডিজনীর সিইও কে কখনই সামনা সামনি দেখিনি। এভারনোটে আমি প্রায় প্রতিদিন ই সিইও কে দেখি, এমন কি মাঝে মাঝে সে আমাদের জন্য চা কফি ও বানায়।

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

সুবিন : আপনি তো বই লিখেছেন। বইটের নাম এবং বই লেখার অভিজ্ঞতা যদি পাঠকদের সাথে শেয়ার করতেন। ভবিষ্যতে আরো বই লেখার ইচ্ছা আছে?
অনুপম : বই এর নাম CakePHP Application Development, প্রকাশ হয় Packt Publication, UK থেকে ২০০৭ এ। বই লেখাটা যে এত কষ্টকর হবে তা জানলে হয়ত বই লেখা শুরু করতাম না। কিন্তু একবার যেহেতু বেল তলায় গেছি, ইচ্ছা আছে আরেকবার যাবার, তবে কম্পিউটার সম্পর্কিত বই নাও হতে পারে।

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

সুবিন : ছোটবেলায় কোন কোন স্কুল ও কলেজে পড়েছেন?
অনুপম : ব্লু বার্ড হাই স্কুল সিলেট (প্রাইমারি), সিলেট সরকারী পাইলট উচ্চ বিদ্যালয় (এস.এস.সি. পর্যন্ত) তারপর এম.সি. কলেজ সিলেট ।

সুবিন : ভার্সিটিতে লেখাপড়া কেমন লাগত?
অনুপম : ভার্সিটিতে প্রথম দুই/তিন সেমিস্টার এর পর লেখাপড়া খুব একটা করা হয় নি । তৃতীয় সেমিস্টার থেকে প্রোগ্রামিং কনটেস্ট করা শুরু করি, তারপর থেকে পড়ালেখা পুরোটাই নিম্নগামি। পড়ালেখার বেপারে আরেকটু সিরিয়াস হলে মনে হয় ভালো হত।

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

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

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

অনুপম : আমার মনে হয় আমাদের সহজ পথ না খুঁজে লং টার্ম প্ল্যান করতে হবে। আরো বেশি বেশি বিশ্ববিদ্যালয়ে কম্পিউটার বিজ্ঞান বিভাগ চালু করতে হবে। শুধু quantity বৃদ্ধি করে আসলে খুব একটা লাভ হবে না, আমাদের high quality resource তৈরী করতে হবে large scale এ। এর জন্য মনে হয় ভালো বিশ্ব মানের কম্পিউটার বিজ্ঞান বিভাগের বিকল্প নেই। তিন – চার মাসের ট্রেনিং দিয়ে সেটা করা সম্ভব না। আমার মনে হয় বাংলাদেশের ছেলে মেয়েরা এমনিতেই তথ্যপ্রযুক্তি খাতে উত্সাহী , আমেরিকার মত না। ঠিক মত প্লাটফর্ম পেলে আমরা অনেক দূর যাব।