পোস্টটি পড়া হয়েছে 9,732 বার

সফটওয়্যার ইঞ্জিনিয়ার হবার জন্য আমার প্রস্তুতি ও গত দেড় মাস চাকুরির অভিজ্ঞতা

গত ১৬ এপ্রিল ২০১৭ তারিখে Associate Software Engineer হিসাবে জয়েন করি Inovio Dhaka তে। এর পর থেকে পরিচিত, অপরিচিত ছোট এবং বড় ভাইয়েরা ফেসবুকে মেসেজ দিয়ে জানতে চাচ্ছিলেন “কেমন চলছে অফিস? ভাল লাগছে তো? কী ধরনের কাজ করো ওখানে?” ইত্যাদি। তাই এই লেখার অবতারণা। কিভাবে এখানে জয়েন করলাম, কী কী প্রসেসের মধ্য দিয়ে এখানে রিক্রুটমেন্ট হয়, এখানকার ওয়ার্ক এনভায়রনমেন্ট, টেকনোলজি, কিছু রানিং প্রোজেক্টের আইডিয়া, আমি যে প্রোজেক্টে কাজ করছি এবং এখানে জয়েন করতে হলে কী করতে হবে এ সম্পর্কে আইডিয়া দিতেই এই পোস্টটা লেখা। যারা জব ইন্ডাস্ট্রিতে এখন বা নিকট ভবিষ্যতে ঢুকবে তারা হয়ত কিছু দিক নির্দেশনা পেতে পারে।

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

কিছু ইন্টারভিউয়ের অভিজ্ঞতা

Inovio তে অ্যাপ্লাই করার আগে গত এক দেড় বছরে প্রায় ৮-১০ টা কোম্পানিতে ইন্টারভিউ দেয়ার সুযোগ হয়েছে। প্রতিটা ইন্টারভিউ দেয়ার পর লাভ হয়েছে অনেক বেশি। ওসব কোম্পানির কাছে আমি কৃতজ্ঞ যে আমাকে ইন্টারভিউ দিয়ে নিজেকে জাজ করার সুযোগ করে দিয়েছিল। ইন্টারভিউ দিতে গিয়ে ২ ধরণের প্রশ্নকর্তার মুখোমুখি হয়েছি। এক টাইপের প্রশ্নকর্তার টেন্ডেন্সি থাকে মেশিনগান হাতে ফায়ার করার মত। এই ধরনের ইন্টারভিউ বোর্ডে ঢুকার পর থেকে আপনার মাটির সাথে মিশে যেতে ইচ্ছে করবে। মনে হবে সারা জীবন ভর আপনি খালি পাপ করেছেন। সেই পাপের শাস্তি পাচ্ছেন এখানে। আপনার উৎসাহ-আগ্রহ সব ধুলার সাথে মিশিয়ে দিবেন প্রশ্নকর্তারা তাদের চোখের ভাষা আর ঠোঁটের কোণের তাচ্ছিল্য ভরা হাসিতে। আপনি ভয় পাবেন না। হতাশ হবেন না। কারণ এটা মুদ্রার এক পিঠ। আরেক পিঠে বসে আছেন এমন কিছু কোম্পানির রিক্রুটাররা যাদের সামনে বসলে মনে হবে তারা আপনার সাথে জাস্ট ডিসকাস করছেন। কোনো একটা বিষয়ে আপনার না জানা থাকলে তারা সেটা আপনাকে সংক্ষেপে বুঝিয়ে দিবেন। এই রকম প্রশ্নকর্তার দেখা বেশ কয়েকটা কোম্পানিতে পেয়েছি। আমি এখন যেখানে জব করছি সেখানকার ইন্টারভিউও ছিল এরকম। বোর্ড যেমনই হোক না কেন উভয় ধরণের ইন্টারভিউ থেকেই আপনি শিখতে পারবেন অনেক কিছু। আমি প্রতিটা ইন্টারভিউয়ের পরে নোট করে ফেলতাম কোন কোন টপিকে আমি আটকে গেছি। বাসায় এসে প্রথম কাজ হত সেগুলো স্টাডি করা। তাই আপনি যদি জব ইন্ডাস্ট্রিতে ঢুকতে চান তাহলে ভার্সিটির শেষ বর্ষে এসে আপনার যেই প্ল্যাটফর্মে কাজ করতে আগ্রহ সেই প্ল্যাটফর্মের বিভিন্ন জবে অ্যাপ্লাই করেন। জব ডেস্ক্রিপশনগুলো পড়ে দেখেন আপনার কোথায় কোথায় দুর্বলতা আছে। সেগুলো কভার করার চেষ্টা করেন ইন্টারভিউয়ের আগে। আর ইন্টারভিউয়ের পরে যেই টপিকগুলোতে আটকে গেছেন সেগুলে খাতায় টুকে রেখে ধুমছে স্টাডি করেন। এভাবে ৪-৫ টা ইন্টারভিউ দিলে আপনার প্রিপারেশন বেশ ভাল একটা অবস্থানে চলে যাবে। আপনি বুঝে যাবেন ইন্ডাস্ট্রি কী ধরনের ম্যানপাওয়ার এক্সপেক্ট করে।

প্রোগ্রামার হিসাবে আমার চাকুরির প্রস্তুতি

প্রস্তুতিটা শুরু হয় বলা চলে ২০১২ সালে, যখন জাতীয় বিশ্ববিদ্যালয়ের অধীনে ঢাকা সিটি কলেজের CSE ডিপার্টমেন্টে ভর্তি হই। শুরু থেকেই সি প্রোগ্রামিং নিয়েই থাকতাম। অনলাইন জাজে প্রবলেম সলভ শুরু করি সম্ভবত প্রথম সেমিস্টার থেকেই। প্রোগ্রামিং প্রবলেম (Programming Problem in Bengali) গ্রুপটা খুলি সম্ভবত দ্বিতীয় সেমিস্টারে থাকতে। কিছু বড় প্রোগ্রামারদের সাথে পরিচয় হয় তখন। ভার্সিটির প্রথম তিন বছরের মত সময় ঠেলেঠুলে প্রবলেম সলভিং চালিয়ে যাই। এ সময় অন্য কোনো ল্যাঙ্গুয়েজ শেখা বা ওয়েব ডেভেলপমেন্ট/অ্যাপ ডেভেলপমেন্ট এর কাজ শুরু করি নাই। শুধু সি আর সি++ দিয়ে কোড করতাম। সফটওয়্যার ইঞ্জিনিয়ারিং ক্যারিয়ারের ভিত্তি ছিল ঐ ২-৩ বছরের ডেটা স্ট্রাকচার – অ্যালগরিদম নিয়ে ঘাটাঘাটি করা। তা না হলে পথটা হয়ত এতটা সহজ হত না।

২০১৫ সালে সম্ভবত ভার্সিটির থার্ড ইয়ারে পড়ার সময় শিক্ষক ডট কমের জুলকারনাইন মাহমুদ ভাইয়ার অ্যান্ড্রয়েড অ্যাপ ডেভেলপমেন্টের ভিডিও টিউটোরিয়াল দেখে অ্যান্ড্রয়েডে আমার হাতেখড়ি। এরপর থেকে চলতে থাকে অনলাইন থেকে শেখা। মাঝে SEIP এর প্রোজেক্টের আন্ডারে BITM থেকে Android App Development এর একটা কোর্স করি। কোর্স থেকে লাভ হয় ২ টা। প্রথমত এই ফিল্ডের বিভিন্ন টপিক ও ভোকাবুলারি সম্পর্কে জানতে পারা। আর ওখান থেকে একটা টিম ডেভেলপ করা। ওখানে প্রোজেক্ট করার জন্য টিম করে দেয়া হয়েছিল। টিমের নাম ছিল The Oak Troop. কোর্স চলাকালীন সময়ে Oak Troop এর মেম্বারদের নিয়ে আমরা পাবলিশড করি ২০১৫ সালের রমজান মাসে প্লে স্টোরে আমাদের প্রথম অ্যাপ App of Ramadan. এরপর আমার প্রোগ্রামিং এর গুরুর শুরু করা Megaminds Web & IT Solutions এর সাথে আমরা Oak Troop যোগ দেই। মেগামাইন্ডসের ব্যানারে বেশ কিছু ক্লায়েন্টের প্রোজেক্ট করি। তখন ইচ্ছা ছিল জব করব না। নিজেদের কোম্পানি নিজেরা দাঁড় করাবো। সব মিলিয়ে অনার্স ফাইনাল পরীক্ষা শেষ হবার আগে অ্যান্ড্রয়েডের ছোট বড় মিলিয়ে প্রায় ৮-১০ টা প্রোজেক্ট ছিল আমার পোর্টফলিওতে। ২০১৬ সালে এসে মেগামাইন্ডসের সবাই ডিসিশন নিই এটাকে আপাতত কন্টিনিউ না করার জন্য। সবাই জবের জন্য ট্রাই করা শুরু করি। তখন থেকে বিভিন্ন জব পোস্টে অ্যাপ্লাই করা শুরু করি।

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

যাই হোক, প্রস্তুতি হিসাবে পড়া শুরু করি Cracking The Coding Interview, Programming Interview Exposed, Data Structures and Algorithms Made Easy এই তিনটা বই। পাশাপাশি প্রবলেম সলভ করি HackerRank এ। যে কোনো প্রোগ্রামিং রিলেটেড ইন্টারভিউয়ের জন্য এই ৩ টা বই পড়লে বেশ ভাল প্রিপারেশন নেয়া হবে। এছাড়াও Object Oriented Programming, Design Pattern এর উপর বই-পুস্তক পড়ার চেষ্টা করেছি।

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

এই সময়টায় আরেকটা গুরুত্বপূর্ণ বিষয় হচ্ছে নেটওয়ার্কে নক দেয়া। অর্থাৎ আমি যেই প্ল্যাটফর্মে কাজ করতে চাই সেই প্ল্যাটফর্মে যারা এখন কাজ করছেন তাদের সাথে যোগাযোগ রাখা। এই কাজটাও করেছি বেশ ভাল ভাবে। পরিচিত-অর্ধ পরিচিত বড় ভাই-ব্রাদারদের জানিয়ে রেখেছিলাম যে আমি জব খুঁজছি। তারই ধারাবাহিকতায় নক দিয়েছিলাম Inovio’র Full Stack Engineer নাহিদ ভাইকে। ভাই বললেন সিভি পাঠাতে। নাহিদ ভাইকে নক না দিলে জানতামই না যে এখানে লোক নিবে। তাই যারাই জব খুঁজছেন, বড় ভাইদেরকে নক দিয়ে রাখতে পারেন।

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

Inovio-তে যেভাবে recruit করা হয়

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

Viva: ইন্টারভিউ সেশনটা ছিল খুব ফ্রেন্ডলি। মনে হয় নাই ইন্টারভিউ দিচ্ছি। মোটের উপর বোর্ড থেকে জানতে চাওয়া হচ্ছিল আমি কোন কোন বিষয়ে কাজ করেছি সেগুলো। কোথাও ভুল বললে বা কোনোটা না জানা থাকলে বুঝায় দেয়া হচ্ছিল ইন্সট্যান্ট! বোর্ডে দুইজন ছিলেন, তাদের দুইজনই ছিলেন ACM ICPC করা প্রোগ্রামার। তাই স্বভাবতই ACM নিয়ে বেশ খানিকক্ষণ আলাপ হল। এখন মনে পড়ছে ২-৩ টা প্রশ্নের কথা। BFS Algorithm রিলেটেড একটা প্রশ্ন ছিল। N Queen প্রবলেমের ব্যাপারে কিছু একটা জিজ্ঞেস করা হয়েছিল। যদ দূর মনে পড়ে BST রিলেটেড একটা প্রশ্ন ছিল। প্রশ্ন ছিল ডেটাবেজ রিলেটেড। SQL ও NoSQL, SQLite ও MySQL এগুলোর তুলনা। Git এর ব্যাপারে প্রশ্ন ছিল। গিট না ইউজ করলে কী হয়? বা গিটের অলটারনেটিভ আর কী কী VCS ইউজ করা যায় সে বিষয়ে প্রশ্ন ছিল। জিজ্ঞেস করা হয়েছিল REST ও SOAP নিয়ে। JSON ও XML নিয়ে। ইন্টারভিউ ছিল প্রায় ঘন্টাখানেকের। আর কী কী জিজ্ঞেস করেছিল মনে নাই। তবে এইটুকু মনে আছে যে, আমার সিজিপিএ জিজ্ঞেস করে নাই (আল্লাহ বাঁচায় দিছে! 😛 ) সিভিতে লিখা ছিল ঢাকা সিটি কলেজের কম্পিউটার সায়েন্স অ্যান্ড ইঞ্জিনিয়ারিং এর শেষ বর্ষে পড়ছি। তখনো আমার অনার্সের ফাইনাল পরীক্ষা শেষ হয় নাই। ইভেন এখানে জয়েন করার ১৫ দিন পরে আমার অনার্সের ফাইনাল পরীক্ষা শেষ হয়। সাবজেক্ট, প্রতিষ্ঠান, রেজাল্ট কোনো কিছুই Inovio-তে কোনো ভূমিকা রাখে না।

শুধু Inovio না, প্রায় সব কোম্পানির ইন্টারভিউতেই সিভিতে যেই এক্সপেরিয়েন্সগুলো উল্লেখ করা হয়েছে সেগুলোর উপর প্রশ্ন করা হয়। প্রশ্নকর্তারা ঠিকই বের করে নিয়ে আসতে পারেন যে সিভিতে যা যা লিখা হয়েছে সেগুলোর কতটা ডিপে ক্যান্ডিডেট ঢুকেছে। আদৌ সে এগুলো জানে? নাকি জানা বলতে ঐ টপিকের নামই শুধু জানে সেটা ইন্টারভিউয়ের সময়েই বের হয়। তাই সিভিতে ঠিক ততটুকুই লিখা উচিত যতটুকুর সম্পর্কে স্পষ্ট জ্ঞান আছে। সিভি ভারি করার জন্য কোনো একটা বিষয় উল্লেখ করলাম। প্রশ্ন করার পর গোজামিল দেয়া শুরু করলাম। এর চেয়ে বিব্রত অবস্থা আর নাই! তাই ফ্রেশারদের সিভিতে হাবিজাবি জিনিসে ভরিয়ে না রাখাই উত্তম। আপনি প্রোগ্রামার হিসাবে অ্যাপ্লাই করলে সিভিতে MS Word, Excel এর স্কিলের উল্লেখ করলে হয়ত আপনাকে ইন্টারভিউতেই ডাকবে না। তাই সিভি অযথা ভারি না করাই ভাল।

Code Session: ভাইভাতে টেকার পর ডাক পড়লো চার ঘন্টার একটা কোড সেশনে। অফিসে বসে একটা প্রোজেক্টের কাজ করতে দেয়া হয়েছিল। API কল দিয়ে কিছু ডেটা নিয়ে আসা আর প্রোভাইড করা ডিজাইন অনুযায়ী একটা অ্যান্ড্রয়েড অ্যাপ ডেভেলপ করে তাতে শো করা। কিছু ফিচারের কথা বলে দেয়া ছিল। অ্যাপের ডিজাইন দেয়া ছিল। আমি ১০০% কমপ্লিট করতে পারি নাই। প্রোজেক্টের যতটুকু কমপ্লিট হয়েছে ততটুকুই Git এ push দিয়ে লিংকটা সাবমিট করে দিয়েছিলাম।

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

আমরা যে ধরনের কাজ করি

Inovio এর সাইটে বেশ কিছু প্রোডাক্টের উল্লেখ আছে। সেখান থেকে আমি কয়েকটা প্রোজেক্টের কথা এখানে বলছি।

AlemHealth প্রোজেক্টটা আমার কাছে সবচেয়ে বেশি ইন্টারেস্টিং লেগেছে। সংক্ষেপে বলা যায়, এটা একটা হেলথ কেয়ার প্রোজেক্ট। নাইজেরিয়ার কোনো প্রত্যন্ত অঞ্চলের কোনো রুগি যদি তার মেডিকেল রিপোর্টটা আমেরিকার কোনো বড় ডাক্তারকে দেখাতে চান তাহলে এই সাপোর্ট দেয় AlemHealth. হাসপাতাল বা ডায়াগনস্টিক সেন্টারের X Ray বা MRI ম্যাশিনের সাথে একটা বক্স বসানো থাকে। এটাকে আমরা বলি Alem Box. এখান থেকে মেডিকেল রিপোর্টগুলো ক্লাউডে জমা হয়। দূর দেশের ডাক্তারের চেম্বারে বা হাসপাতালে একটা Hub বসানো থাকে। রুগির মেডিকেল রিপোর্টটা ঐ হাব সিংক করে ডাক্তারকে দেখার ব্যবস্থা করে দেয়। ডাক্তার ঐ রিপোর্ট দেখে চিকিৎসা পত্র প্রদান করেন। রুগিরা ডায়াগনস্টিক সেন্টার থেকে ঐ ডাক্তারের পাঠানো প্রেস্ক্রিপশন সংগ্রহ করেন বা মোবাইল অ্যাপের মাধ্যমে প্রেস্ক্রিপশন ডাউনলোড করে নেন। এটা নাইজেরিয়া, আফগানিস্তান সহ বেশ কিছু দেশে চলছে। এক কথায় বললে প্রোজেক্টটা বেশ সোজা সাপটা। কিন্তু ডিটেইলে যত জানছি তত বেশি অবাক হচ্ছি! এত বেশি কমপ্লেক্স ব্যাপার স্যাপার এর ভিতরে! জাস্ট একটা ফ্যাক্ট বলি। মেডিকেলের এই রিপোর্টগুলোকে বলা হয় ডায়াকম। এই ডায়াকমের একেকটার সাইজ হতে পারে ৫০০-৭০০ মেগাবাইট। আর এত বড় ফাইল নিয়ে কাজ করতে হয় একদম লো ইন্টারনেটের প্লেসে। কী পরিমাণ অপটিমাইজেশন আর হিসাব-নিকাশ করা লাগছে সেটা চিন্তা করেই অবাক লাগে!

এই প্রোজেক্ট সম্পর্কে আরো বিস্তারিত জানতে পারেন Inovio এর কর্ণধার সাজ্জাদ ভাইয়ার TEDx Talk থেকে।

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

Akly প্রোজেক্টে আমি এখন কাজ করছি। এটার ডেভেলপমেন্ট চলছে প্রায় ৯ মাস ধরে। আরো ৪-৫ মাস এটার কাজ চলবে। আমাদের বেশির ভাগ প্রোজেক্ট ডেভেলপমেন্টের ডিউরেশন ১ বছর বা তার চেয়ে বেশি। অাকলি কাতারের একটা ফুড ডেলিভারি সিসটেম। ফুডপান্ডার মত কিছুটা, কিন্তু আরো অনেক বেশি কমপ্লেক্স। প্রথম এক মাস আমি এটার অ্যান্ড্রয়েড অ্যাপে কাজ করেছিলাম। এখন কাজ করছি এর iOS App এ। নতুন করে iOS শিখছি। সুবিধাই হলো। ২ প্ল্যাটফর্মেই কাজ করা যাবে সামনে।

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

Inovio-তে যে সব প্ল্যাটফর্মে কাজ করা হয়

Development
আমাদের এখানে ওয়েব ব্যাকেন্ডের জন্য ব্যবহার করা হয় Node/Express অথবা Python/django. প্রোজেক্টের উপর নির্ভর করে ডিসিশন নেয়া হয় কোনটা দিয়ে করা হবে। PHP বা Java তে ওয়েব অ্যাপ্লিকেশনের কাজ করতে দেখি নাই।

ফ্রন্ট এন্ডের জন্য ReactJS বা Angular ইউজ করা হয়।

ডেটাবেজ হিসাবে ইউজ করা হয় MySQL, SQLite, MongoDB, Postgres. কখনো দেখা যায় একই প্রোজেক্টে একাধিক ডেটাবেজ ব্যবহার করা হয়।

কিছু কিছু প্রোজেক্ট আছে মাইক্রো সার্ভিস ইউজ হয়। একেকটা সার্ভিস একেক প্ল্যাটফর্মে করে কম্পোনেন্টগুলো জোড়া দেয়া হয়।

Deployment এর আগে ব্যবহার করা হত docker. বর্তমানে ইউজ করা হচ্ছে Python Fabric. যদিও এখনও কিছু কিছু জায়গায় ডকার ইউজ করা হয়। পরবর্তীতে প্ল্যান আছে continuous integration এর দিকে যাওয়ার। যেন Git এর একটা পুশেই অ্যাপ ডেপ্লয় হয়ে যায়।

এ তো গেল ওয়েব অ্যাপ্লিকেশনের কথা। প্রায় প্রতিটা প্রোজেক্টের সাথেই মোবাইল অ্যাপ্লিকেশনও থাকে। যেহেতু আমাদের কাজগুলো সব দেশের বাইরের তাই iOS App এর কাজের প্রেশার বেশি। তবে Android App এর কাজও করতে হয়। কোনো cross platform অ্যাপ এখানে ডেভেলপ করা হয় না। উভয় ক্ষেত্রেই native এ কাজ করা হয়। Java-XML দিয়ে Android আর iOS করা হচ্ছে Swift দিয়ে।

Project Management
প্রোজেক্ট ম্যানেজমেন্টের জন্য আমরা JIRA board এর agile and scrum methodology ফলো করি। সাধারণত ২ সপ্তাহের sprint ধরা হয়।

আর Version Control System হিসাবে যথারীতি ইউজ করা হয় Git.

প্রোজেক্ট ডেভেলপমেন্টের জন্য আমরা ৩ টা স্টেপে কাজ করি। DEV, STAGE ও PRODUCTION. অর্থাৎ প্রথমত গিটের DEV ব্রাঞ্চে আমরা কাজ করে টেস্ট করি। এটা সাক্সেস হলে STAGE branch এ রিয়েল ডেটা দিয়ে নিজেরা এবং কাস্টমার টেস্ট করে। এটা পর্যাপ্ত টেস্ট হলে এরপর সেটা PRODUCTION এ যায়। ফাইনাল্যি প্রোডাক্টটা কাস্টমারের কাছে যায় তৃতীয় দফা deployment এর পরে। তখন আশা করা যায় প্রোডাক্টটা প্রায় bug free থাকে।

অফিসের পরিবেশ

আমাদের অফিসের পরিবেশ অফিসের মত না! এটাই সবচেয়ে ভাল লাগার বিষয়। কর্পোরেট অফিসের মত রোবোটিক টাইপ অফিস না। অফিসে আসলে মনে হয় না কাজ করতে এসেছি। সবাই গল্প-আড্ডায় মেতে আছে, আবার ডেডলাইনও মিট করছে! নিয়মিত Call Of Duty খেলা হয় (যদিও আমি পারি না)। এক কথায় খুব বেশি ফ্রেন্ডলি এনভায়রনমেন্ট। নলেজ শেয়ারিং এর ব্যাপারে কারো মধ্যে কোনো ক্লান্তি দেখি নাই। নতুন নতুন টপিক নিয়ে এখানে ডিসকাস হয়। একদম নতুন টেকনোলজি শিখে সেটা নিয়ে কাজ করার রিস্ক এখানে নেয়া হয়। প্ল্যাটফর্ম সুইচ করে নতুন বিষয়গুলো শেখার সুযোগ হয়। যেমন আমি Android Developer হিসাবে জয়েন করেছি। এক মাস কাজ করার পর এখন কাজ করছি iOS নিয়ে।

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

যখন ইন্টারভিউ দিয়ে দিয়ে রিজেক্টেড হতাম, তখন সান্তনা দিতাম নিজেকে যে “আল্লাহ যা করেন ভালোর জন্য করেন!” কিন্তু পর মুহূর্তে মনে হত চাকরি না হওয়াটা কেমন করে আমার জন্য ভাল হতে পারে? সেটা এখন বুঝতে পারছি। আমি যেমন টিম মনে মনে চাচ্ছিলাম ঠিক সেরকম একটা টিমেই অাল্লাহ আমাকে ঢুকিয়ে দিয়েছেন। তখন ঐসব কোম্পানিতে জব কনফার্ম না হওয়ায় তাই আল্লাহর কাছে শুকরিয়া আদায় করি! আলহামদুলিল্লাহ!

Career Opportunity at Inovio

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


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

10 thoughts on “সফটওয়্যার ইঞ্জিনিয়ার হবার জন্য আমার প্রস্তুতি ও গত দেড় মাস চাকুরির অভিজ্ঞতা

  1. Brother, আপনার কাছে Data Structures and Algorithms Made Easy এর পি ডি এফ ভার্সন আছে? থাকলে ডাউনলোড লিঙ্কটা দেয়া যাবে?

Leave a Reply

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