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

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

Post updated on 2nd April, 2020 at 11:05 am

গত ১৬ এপ্রিল ২০১৭ তারিখে 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 নিয়ে।

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

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

 


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

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

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

      1. Brother please explain me programming start first to last step. because i admission B.sc in CSE secound semester

  2. Your last paragraph is enough to explain how much polite you are.
    Thanks for this post. In my todo list, I have written “ask hasan bahi about . . . .” . But I don’t need to ask. I got all the answers 🙂
    Thanks again.

  3. baiha amar totall point 8.36. amar basa sylhet. ami professional honors a portay chai.kon sub valo hobay amar jonno.and kon college a apply korlay chance pabo.akto suggestion dilay kub valo hoto.ami science group taykay.and cost kotho shbay.

  4. Actually Brother i’am speechless after reading the full Blog! And specially thanx to you for written this type of Blog.

  5. খুবই হেল্পফুল ভাই আপনার লেখা গুলো! দারুন লাগলো, কিন্তু সাথে ছোট্ট একটা সাজেশন… আপনার সাইটে কোন লিঙ্কের ওপর রাইট ক্লিক করে সেই লিঙ্কের ট্যাব ওপেন করা যায় না, এটা একটু ঠিক করলে ভাল হয়, আর ‘হাসানের রাফখাতা’ শিরোনামটায় হোম পেইজের লিঙ্ক বাইন্ড করে দিলে ভাল হয়।

    1. ধন্যবাদ সাজেশনের জন্য।
      ইচ্ছাকৃত ভাবেই right click disable করে রাখা হয়েছে। left click এ নতুন ট্যাবে লিংক ওপেন হয়। হেডারের “হাসানের রাফখাতা”য় ক্লিক করলে হোম পেজ লোড হয়।

  6. Can I get the pdf link of those three books like Craking the coading Interview and two others brother.

        1. সব সাবজেক্টগুলো বুঝে বুঝে পড়তে হবে। প্রচুর প্রোগ্রামিং প্রবলেম সলভ করতে হবে।

          1. Thanks a lot for your life style explain. i admission B.sc in CSE uttara university of dhaka.

  7. One of the best writings I have ever read! Thanks vya for sharing such informative and inspiring experience.

    1. ২-৩ টা হত। বেশি হার্ড হলে একটা প্রবলেম নিয়ে কয়েক দিন লেগে থাকাও লাগত। প্রবলেমের ধরণ বুঝে আর কি…

  8. #Need_Your_Help@Hasan Vai
    Ami o apnr moto CSE te study korte chai.but, family background mid average…tai Cse te valo vabe porar jonne sob theke kom taka te best university hobe konta….i mean study vlo hobe but, money ta joto kom hoty pare…..
    Pls suggest me?

    1. এ ব্যাপারে আমি কিছু বলতে পারছি না। আপনি সবগুলো ভার্সিটির সাইটে গিয়ে টিউশন ফী দেখে সিদ্ধান্ত নিন

  9. আমি এইচ এস সি এবার পাস করেছি। আমার সি এস ই বিষয়ে আগ্রহ কিন্তু অনেকেই বলে সি এস ই পড়ে চাকরি পাওয়া যায় না তাই টেক্সটাইল পড়ার চিন্তা করছি। বাংলাদেশে নাকি সি এস ই এর দাম নেই। এই বিষয়ে একটু বলবেন আর জব সেক্টরে যেমন বিএসসি, এম এস সি এর পর বাংলাদেশে বেতন কত হবে এবং কত বাড়তে পারে সর্বোচ্চ এগুলো একটু বলবেন। আর বিদেশে এর চাহিদা কেমন?

  10. ভাইয়া আমি এইবার HSC দিয়েছি। আমার স্বপ্ন আমি cse তে পড়বো।
    কিন্তু আমি যদি পাবলিক ভার্সিটিতে cse সাবজেক্ট না পাই তাহলে কি normal private versity তে পড়বো নাকি national এ পড়বো।
    আমার আবার টপ private versity তে পড়ার সামর্থ নাই।

  11. ভাইয়া লেখাটা অনেক ভালো লাগল। আপনার জন্যই পোগ্রামার হওয়ার অনুপেরণা আবার পিরে পেলাম।। Thank you sooo much ভাইয়া।।।

        1. এখানে আমার পেজের লিংক দেয়া আছে। পেজে রিকোয়েস্ট পাঠানো যায় না। লাইক-ফলো করা যায়। আর যদি আমার পারসোনাল অ্যাকাউন্টের কথা জিজ্ঞেস করে থাকেন তাহলে বলতে হবে- আমার ফ্রেন্ড লিস্ট প্রায় ফুল হয়ে গেছে। তাই হয়ত ফেসবুক আর রিকোয়েস্ট পাঠাতে দেয় না।

          1. Apnar facebook ar kothai bolcilam, ok pblm nai,ami kintu apnar sathe regular kotha bolte chai,mone koren apnar suto vai hote chai, kintu regular apnar sathe kotha bolbo kivabe?

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

  13. প্রতিবার আপনার একেকটা লিখা পড়ি আর ট্রাই করি। পরেরবার আসি দেখি আবার নতুন কিছু। :/
    তবুও ধন্যবাদ ভাইয়া। শেয়ারিং ইজ কেয়ারিং কথাটা এত ভালো ভাবে বোঝানোর জন্য।

    1. “পরেরবার আসি দেখি আবার নতুন কিছু। :/” স্যাড ইমো দেখে একটু দ্বিধাগ্রস্থ হয়ে গেছি। মানে কথাটার অর্থ ঠিক ক্লিয়ার হল না। নতুন কিছু নিয়ে লিখেছি সেটা আবার শিখতে হবে এমন কিছু বুঝিয়েছেন?
      any way, thanks for your comment. 🙂

  14. ভাইয়া আমি কি নেশনাল ইউনিভার্সিটির আন্ডার এ কোনো ইনস্টিটিউশন থেকে সিএসই করে নিজেকে সফটওয়্যার ইঞ্জিনিয়ার হিসেবে পরিচয় দিতে পারবো কিনা? IEB সার্টিফিকেট ছাড়া নাকি সফটওয়্যার ইঞ্জিনিয়ার হিসেবে পরিচয় দাওয়া যায় না। আমি কি নেশনাল ইউনিভার্সিটির আন্ডার এ কোনো ইনস্টিটিউশন থেকে সিএসই করে IEB সার্টিফিকেট নিয়ে পারবো কিনা? উত্তর দিলে অনেক উপকৃত হতাম।

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

  15. ভাই প্রায় অনেক জব সেক্টরে রিক্রুইট্মেন্ট হিসেবে চায় সিএসই ব্যাকগ্রাউন্ড। ইইই ব্যাকগ্রাউন্ড থেকে কি কেউ প্রোগ্রামিং এর জব সেক্টরে যেতে পারে না?

    1. যেই এক্সপার্টাইজগুলো চাওয়া হয় সেগুলো যদি পাওয়া যায় তাহলে ইইই থেকেও রিক্রুট করে। সিভিল ইঞ্জিনিয়ারিং থেকেও রিক্রুট হয় প্রোগ্রামার হিসাবে। এমন কি কমার্স ফ্যালাল্টির সাবজেক্টগুলো থেকেও হয়।

  16. ভাই, বাংলাদেশের টপ সফটওয়্যার কোম্পানিগুলোর নাম বা বিষয় নিয়ে একটা ব্লগ লিখলে ভালো হতো।

Leave a Reply

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