প্রোগ্রামিংয়ের ইচ্ছেটা মাথাচাড়া দেয় স্কুলজীবনেই। একদিন নীলক্ষেত থেকে ভিজ্যুয়াল বেসিকের (প্রোগ্রামিংয়ের ভাষা) বই কিনে আনলাম। বাবার কম্পিউটারে বসে কোডিং ব্যাপারটার সঙ্গে পরিচিত হতে চেষ্টা করলাম। সাইবার ক্যাফেতে গিয়ে টিউটরিয়াল দেখতাম। যদিও বেশি দূর এগোনো হয়নি।
এরপর ভর্তি হই নটর ডেম কলেজে। প্রথম বর্ষে ইনফরমেটিকস অলিম্পিয়াডের কথা জানলাম। দ্বাদশ শ্রেণি পর্যন্ত শিক্ষার্থীদের জন্য আন্তর্জাতিক পর্যায়ের প্রোগ্রামিং প্রতিযোগিতা এটা। কলেজে উঠেই প্রোগ্রামিং ভাষা ‘সি’ শেখা শুরু করলাম হার্বার্ট শিল্ডের টিচ ইয়োরসেলফ সি বই কিনে। পাশাপাশি ইউভিএতে প্রোগ্রামিং সমস্যার সমাধান করতাম। ইউভিএ (uva.onlinejudge.org) হচ্ছে ইউনিভার্সিটি অব ভ্যালাডলিডের অনলাইন জাজ। ইউভিএ বা যেকোনো অনলাইন জাজে প্রবলেম সলভ হলে তা অনলাইনে জমা দিতে হয়, সব ঠিকঠাক থাকলে সেটা গ্রহণ করে তারা। মোবাইলের সীমিত ডেটা প্যাকেজ দিয়েই প্রবলেম সলভ করে জমা দিতাম। আমি দ্বিতীয় বর্ষে ইনফরমেটিকস অলিম্পিয়াডে কোয়ালিফাই করে গেলাম মেক্সিকো। তখনই বুঝলাম, যদি কিছু শিখতে চাও তো মনেপ্রাণে চাও। খুব সহজে হয়তো হবে না, উত্থান-পতন থাকবেই, কিন্তু তোমাকেই তোমার রাস্তা খুঁজে নিতে হবে।
কলেজ শেষে বুয়েটে সিভিল ইঞ্জিনিয়ারিংয়ে ভর্তি হলাম। কিছুদিন পরই বুঝলাম সিভিল ইঞ্জিনিয়ারিং আমার জন্য নয়। প্রতি মঙ্গলবার বুয়েটে অনুশীলন প্রতিযোগিতা হতো। বুয়েটে বেশ ভালো প্রোগ্রামিং প্রতিযোগিতার কমিউনিটি ছিল তখন। ওই সময়টাতে আমি টপ কোডার (www.topcoder.com), স্পজ-এ (www.spoj.pl) অনুশীলন শুরু করলাম। এভাবেই ২০১০ সালে ঢাকা আঞ্চলিক প্রতিযোগিতায় রানার্সআপ হয়ে (চ্যাম্পিয়ন ছিল চীনের একটা দল) চীনে গেলাম এসিএম আইসিপিসি ওয়ার্ল্ড ফাইনালে। ১০৮টি দলের মধ্যে আমরা হলাম ৩৬তম। দ্বিতীয়বার ঢাকা আঞ্চলিক প্রতিযোগিতায় চ্যাম্পিয়ন হয়ে ২০১১ সালে যুক্তরাষ্ট্রের ফ্লোরিডা গেলাম। ওইবারই আমি প্রথম টপ কোডারে রেড হই। রেড হওয়া মানে টপ কোডারের সর্বোচ্চ অর্জন। প্রতিযোগিতায় তুমি যত ভালো করবে, তোমার রেটিং বাড়বে। ২২০০ রেটিং পয়েন্ট হলে তুমি ‘রেড’ হবে। আমি ছিলাম বাংলাদেশি চতুর্থ রেড কোডার। টপকোডার আন্তর্জাতিকভাবে স্বীকৃত প্ল্যাটফর্ম। গুগল, ফেসবুকসহ বড় বড় তথ্যপ্রযুক্তি প্রতিষ্ঠানগুলো চাকরির সাক্ষাৎকারে ডাকার আগে তোমার টপকোডার প্রোফাইলে গুরুত্ব দেবে।
বিশ্ববিদ্যালয় পাস করে একটা সফটওয়্যার ফার্মে যোগ দিই। পাশাপাশি গুগলে সাক্ষাৎকারের জন্য প্রস্তুতিও নিতে থাকি। জীবনবৃত্তান্ত জমা দিয়ে আবেদন করার পর প্রাথমিক পর্যায়ে গুগল থেকে ফোনে সাক্ষাৎকার নেয়। এটা পাস করলে গুগল নিজ খরচে তোমাকে তাদের কোনো অফিসে নিয়ে যাবে, ওখানে গিয়ে পাঁচ ধাপের অনসাইট সাক্ষাৎকার পর্ব পার হতে হবে। ২০১৩ সালে সুইজারল্যান্ডের জুরিখে অনসাইট সাক্ষাৎকার দিলাম। সেবার প্রোগ্রামিং বিষয়ে আমার সাক্ষাৎকার ভালো হলেও সিস্টেম ডিজাইনের একটা সাক্ষাৎকারে আটকে গিয়ে চাকরির অফার পাইনি। পাঁচ রাউন্ডের অনসাইট পাস করতে তোমাকে প্রথমত অবশ্যই অ্যালগরিদম, ডেটা স্ট্রাকচার, প্রোগ্রামিংয়ে ভালো হতেই হবে, কারণ ৮০ শতাংশ প্রশ্নই থাকবে এসব বিষয়ে। দ্বিতীয়ত, সিএসইর কিছু জ্ঞানও থাকতে হবে। যেহেতু আমার ব্যাচেলর ডিগ্রি সিভিলে, কিছু অনলাইন কোর্স আমার ওই জ্ঞান বাড়াতে কাজে লেগেছিল, যা শুধু প্রতিযোগিতায় অংশ নিয়ে পাওয়া যায় না।
একবার গুগলে সুযোগ না পেলে পরে আবারও সুযোগ দেবে। এক-দেড় বছর পর আবার যখন সুযোগ আসবে তখন আবারও আবেদন করতে পারবে। আমি ২০১৫ সালের জানুয়ারিতে গুগলে কাজ করার অফার পাই এবং অক্টোবরে ‘নুগলার’ হিসেবে গুগলের প্রধান কার্যালয়ে ইউটিউবের অ্যানড্রয়েড প্লেয়ার দলে যোগ দিই। গুগলে নতুন যারা যোগ দেয়, তাদের নুগলার বলে।
গুগলে ঢুকে মুগ্ধ হওয়ার মতো জিনিসের অভাব নেই। সুন্দর অফিস, জিম, সুইমিংপুল। কাজ করতে করতে ক্লান্তি এলে ঘুমানোর জন্য আলাদা জায়গা আছে, তাকে ন্যাপ-পড বলে। খাওয়ার কথা একটু আলাদা করেই বলি। গুগলে ঢোকার পর দেখা যায় নতুনদের ওজন বেড়ে যায়। সব সময় বুফে ব্রেকফাস্ট, লাঞ্চ আর ডিনারের জন্য। তুমি মাঝেমধ্যে বাসা থেকে কাজ করতে পারবে, ওয়ার্ক ফ্রম হোম বলে এটাকে। অসুস্থ হলে আনলিমিটেড সিক লিভ, কাজের কোনো ধরাবাঁধা সময় নেই। তোমার কাজ তুমি তোমার সময়মতো শেষ করলেই হবে। অসাধারণ সব সহকর্মী, সবাই অনেক হেল্পফুল। একদিন আমার পাশ দিয়ে গুগলের মূল প্রতিষ্ঠান অ্যালফাবেটের সিইও ল্যারি পেজ সাইকেল নিয়ে চলে গেল। খুব মজা পেয়েছিলাম ওই দিন। এ ছাড়া বেশ কিছু মজার দিন আছে, ক্রিসমাসের আগে হলিডে পার্টি, বছরে একবার স্কি ট্রিপ, ‘ব্রিং ইয়োর প্যারেন্টস টু ওয়ার্ক’ নামে একটা দিন, একই রকম আবার ‘ব্রিং ইয়োর কিডস টু ওয়ার্ক’। কাজের প্রয়োজনে পৃথিবীর যেকোনো দেশে তুমি সম্মেলনে যোগ দিতে যেতে পারবে গুগলের খরচে। এ ছাড়া গুগল ইঞ্জিনিয়ারদের মাঝে আরও একটা প্রাইডের ব্যাপার আছে যে তুমি তোমার কার্ড সোয়াইপ করে পৃথিবীর সব গুগল অফিসে ঢুকতে পারবে। আমি যখন লন্ডন আর জাপান ঘুরতে গিয়েছিলাম, তখন ওখানকার গুগল অফিসেও গিয়েছিলাম ঘুরতে।
এখন বলি আমার কাজের কথা, ইউটিউব গুগলের অন্যতম প্রধান একটা পণ্য। আমি ইউটিউবের অ্যানড্রয়েড অ্যাপের ভিডিও স্ট্রিমিং উন্নয়নের কাজ করি। মাঝেমধ্যে এটা ভেবে খুব ভালো লাগে এই যে সারা দিন পৃথিবীর কোটি কোটি ব্যবহারকারী ইউটিউব অ্যাপ চালাচ্ছে, তার পেছনে আমার লেখা কোড আছে। তুমি প্রোগ্রামিং জানলে কত মজার মজার প্রোডাক্টই না তৈরি করে ফেলতে পারো যেটা মানুষের কাজে লাগবে। প্রোগ্রামিং জানলে তুমি মজার কাজের এক বিশাল ক্ষেত্র পাবে। জানি, শুরুটা বিশাল এক সমুদ্রের মতো, কিন্তু একবার শুরু করে দিলে যখন মজাটা পেয়ে যাবে, তুমিও অভ্যস্ত হয়ে যাবে। তবে প্রোগ্রামিং করতেই হবে এমন কোনো কথা নেই, সবার সবকিছুতে উৎসাহ থাকে না, জোর করে কিছু করার দরকার নেই। তোমার ছবি আঁকতে ভালো লাগলে ছবিই আঁকো।
প্রোগ্রামিং শেখার জন্য এখানে কিছু গুরুত্বপূর্ণ লিংক শেয়ার করছি। প্রাথমিকভাবে তোমরা এগুলো দেখতে পারো। কিন্তু আগেই বলেছি এখন ওয়েবে রিসোর্সের অভাব নেই। আগ্রহ থাকলে তোমার উৎসাহ থেকেই তুমি অন্যান্য রিসোর্স খুঁজে পাবে। যেকোনো কিছু শেখার সবচেয়ে ভালো সময় হচ্ছে কিশোর জীবন। এখন শিশুদের প্রোগ্রামিং শেখার জন্য বিভিন্ন ক্যাম্প হয়। বাংলাদেশও অনেক চেষ্টা করছে, বর্তমানে ন্যাশনাল হাইস্কুল প্রোগ্রামিং প্রতিযোগিতা (www.nhspc.org) বেশ জনপ্রিয়। এই প্রতিযোগিতায় ভালো করলে তুমি প্রোগ্রামিং ক্যাম্পে যাওয়ার সুযোগ পাবে, সেখানে প্রোগ্রামিংয়ের বিভিন্ন বিষয়ে ক্লাস ও প্রতিযোগিতা হবে। এবং ক্যাম্পে তোমার পারফরম্যান্সই তোমাকে ইনফরমেটিকস অলিম্পিয়াডে যোগ দেওয়ার সুযোগ করে দেবে। তারপর তুমিই ঠিক করে নিতে পারবে নিজের পথ।
স্কুল-কলেজে প্রোগ্রামিং শেখানোর তেমন কোনো উদ্যোগ নেই? বন্ধুরা মিলে নিজেরাই শুরু করে দাও। এখন ওয়েবে সব রিসোর্স আছে, শুধু তোমাদের ইচ্ছাশক্তি দরকার। আজকের এই অবস্থানের পেছনে আমার কলেজের গুরুত্বপূর্ণ অবদান আছে। কলেজে আমি প্রোগ্রামিং শেখার একটা পরিবেশ পেয়েছিলাম। তোমাদের কিন্তু এই বাধা নেই, চাইলে নিজেরাই এই পরিবেশটা বানিয়ে নিতে পারো।
স্কুল-কলেজ পর্যায়ের প্রোগ্রামিং নিয়ে ফেসবুক গ্রুপ: www.fb.com/groups/bdoifamily, www.fb.com/nhspcbd
প্রবলেম সলভ শুরু করার জন্য ভালো প্ল্যাটফর্ম: www.lightoj.com, codeforces.com
আরও কিছু তথ্য: www.progkriya.org/gyan/national-preparation.html
বাংলা ভাষায় C++ প্রোগ্রামিং শেখার বই: cpbook.subeen.com
অ্যালগরিদম ও ডেটা স্ট্রাকচার শেখার বাংলা ব্লগ: www.shafaetsplanet.com
টপকোডার: www.topcoder.com/community/data-science/data-science-tutorials