ট্রাভেলোকা এবং আমার সফটওয়্যার ইঞ্জিনিয়ারিং এ হাতেখড়ি

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

গত দেড় বছর ছিল আমার জন্য একটা ট্রানজিশন পিরিয়ড, আগে প্রোগ্রামিং বলতে কনটেস্টকেই বুঝতাম, আগে চাকরি করেছি HackerRank এ, সেখানেও দশ আনা কাজই ছিলো কনটেস্ট নিয়ে, আর মাঝেমধ্যে একটু আধটু রুবি অন রেইলস ঘাটাঘাটি করতাম। বাসায় বসে চাকরি করতে করতে হাতে-পায়ে শিকড় গজিয়ে যাচ্ছে বুঝতে পেরে বুঝলাম চাকরি বদলের সময় হয়েছে, চলে গেলাম সিঙ্গাপুরের ট্রাভেলোকা.কম নামের একটা কোম্পানিতে। আমি নিশ্চিত তোমরা বেশিভাগই কোম্পানিটার নাম শুনোনি, আমি নিজেও শুনিনি ইন্টারভিউ দেয়ার আগে, লিংকডিনে অনেকটা ঘুরতে ঘুরতেই অ্যাপ্লাই করে ফেলেছিলাম! চাকরির অফার পাবার পর ঘাটাঘাটি করে দেখলাম এরা দক্ষিণ-পূর্ব এশিয়ার অল্প কিছু ইউনিকর্ন স্টার্টআপের একটা, ইউনিকর্ন কোম্পানি তাদেরকেই বলে যাদের দাম ধরা হয় ১বিলিয়ন ডলারের উপরে। এশিয়ার অন্য ইউনিকর্ন টেক স্টার্টআপের মধ্যে আছে grab, go-zek, lazada, sea (shopee, garena) ইত্যাদি। কোম্পানির প্রোফাইল দেখে সিদ্ধান্ত নিতে সমস্যা হয়নি, জয়েন করে ফেললাম ব্যাক-এন্ড ইঞ্জিনিয়ার হিসাবে। ট্রাভেলোকার মূল অফিস ইন্দোনেশিয়ায়, সিঙ্গাপুরে তারা নতুন অফিস খুলেছে কারণ সারা দুনিয়া থেকে ভালো ভালো ইঞ্জিনিয়ার ধরে নিয়ে আসতে চাইলে এশিয়ার মধ্যে সিঙ্গাপুরের থেকে ভালো জায়গা নেই। এই কোম্পানিতে আমি প্রথম বাংলাদেশি ইঞ্জিনিয়ার, কয়েক মাস পর আরেকজন বাংলাদেশি আহমেদ ফাইয়াজ জয়েন করেছে।

loka
ট্রাভেলোকা সিঙ্গাপুর অফিস

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

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

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

ট্রাভেলোকা ঠিক করলো নতুন ইঞ্জিনিয়ারিং টিম হবে সিঙ্গাপুর বেসড। জাকার্তায় হেড অফিসে এরই মধ্যে কয়েকশ ইঞ্জিনিয়ার আছে।। আমি যখন জয়েন করি তখন সিঙ্গাপুরের ইঞ্জিনিয়ারিং টিমে ইঞ্জিনিয়ার আছে মাত্র ১ জন, সে হলো আমাদের টিম লিডার। আমি আর আরেকজন ভিয়েতনামি ইঞ্জিনিয়ার একইসাথে জয়েন করলাম সেপ্টেম্বর ২০১৭ তে। তখন আমাদের অফিস হলো সিঙ্গাপুরের বিখ্যাত টুরিস্ট এলাকা মেরিনা বে এর ঠিক সামনে, জানালা দিয়ে তাকালেই দেখা যায় মেরিনা বে আর স্যান্ডস হোটেল, অগণিত ট্যুরিস্টদের হাটাহাটি, ২ মিনিট হেটে গেলেই মারলায়নের মূর্তি। এই হলো সেই অফিসের ছবি:

20170918_190231সিঙ্গাপুরে আমাদের প্রথম অফিস থেকে মেরিনা বে এর দৃশ্য

ছবিতে যাকে দেখা যাচ্ছে সেটা অবশ্য আমি না :)। এটা অবশ্য শেয়ার্ড অফিস ছিল, কয়েকমাস পরে আমরা নিজেদের অফিসে চলে গেছি, এখন অফিসটা অনেক বড় হলেও এই দৃশ্য আর দেখতে পারি না।

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

20171023_163737
জাকার্তায় হেড অফিস থেকে শহরের দৃশ্য

৩মাসে প্রোডাক্ট রিলিজ করা সম্ভব হয়নি, লাইসেন্স জনিত জটিলতায় শেষ মুহূর্তে এসে রিলিজ ১ মাস মত পিছিয়ে যায়। শেষমেষ ডিসেম্বরের মাঝামাঝি এসে আমরা প্রোডাক্ট রিলিজ করি। এরপর ধীরে ধীরে আরো কয়েকজন ইঞ্জিনিয়ার টিমে যোগ দিলে ধীরে ধীরে পাগলামি ধরনের প্রেশার কমে যায়। বর্তমানে ট্রাভেলোকাতে অন্তত আমাদের টিমে ওয়ার্ক-লাইফ ব্যালেন্স খুবই ভালো, আমরা ১০টার সময় অফিসে ৬টার দিকে সহজেই বের হয়ে যেতে পারি, এর মধ্যে লাঞ্চ টাইম, বিলিয়ার্ড আর টেবিল টেনিস খেলার জন্য আলাদা সময়তো আছেই! এখন সিঙ্গাপুর অফিস অনেক বড়, আমার টিমে এখন ১২জন ইঞ্জিনিয়ার, এছাড়াও আরো বেশ কিছু টিম আছে, সব মিলিয়ে ৬০ জনের বেশি ইঞ্জিনিয়ার এবং সামনে আরো অনেকে চাকরি পাবে।

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

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

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

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

Photo Credit: Tien Le, software engineer, traveloka

Print Friendly, PDF & Email

ফেসবুকে মন্তব্য

comments

Powered by Facebook Comments

11,398 times read (exlcuding bots)

Leave a Reply

Your email address will not be published. Required fields are marked *