সব সময় মনে রাখবেন, সফটওয়্যার ইঞ্জিনিয়ারের জন্য চাকরী পাওয়া খুবই সহজ।
কেন? কারণ এই সেক্টরের চাকরীর বাজারে অনেক সফটওয়্যার ইঞ্জিনিয়ারের প্রয়োজন। যেখানে অন্য সেক্টরের মানুষ চাকরী হারাচ্ছে, সেখানে তথ্য প্রযুক্তি সেক্টর রকেটের মত উড়ছে এবং এখানে অনেক মানব সম্পদের প্রয়োজন। আর তাই এখানে অনেক চাকরীর সম্ভাবনা রয়েছে।
তাহলে কেন আপনি দক্ষতা অর্জনের ব্যাপারে এত মনযোগী হবেন? তথ্য প্রযুক্তির চাকরীর ধরনটাই এমন যে যদি আপনি দক্ষ না হন, তাহলে আপনাকে চাকরীতে নিয়োগ দেয়া যাবে না। এমনকি যদি লক্ষ্ চাকরী শত বছর খালি পরে থাকে তাও দক্ষতা ছাড়া এখানে আপনার চাকরী হতে পারে না। কারণ কিন্তু খুব সহজ – আপনাকে চাকরীতে নিলেও আপনি কাজটা করতে পারবেন না, আর না নিলেও কাজটা হবে না, দুটোই সমান, মাঝখান থেকে আপানার বেতন গুনতে হচ্ছে না ঐ কোম্পানিকে। কাজেই চাকরী পেতে একমাত্র বাঁধা আপনি নিজেই। যদি আপনার দক্ষতা থাকে, তাহলে চাকরী পাওয়া পানির মত সহজ।
তাহলে কি ধরণের দক্ষতার কথা আমরা এখানে বলছি? একজন প্রোগ্রামারের চাকরীর জন্য আপনাকে জিনিয়াস হতে হবে না। যদি আপনাকে কিছু আবিষ্কার করতে হয় অথবা এমন কিছু তৈরি করতে হয় যা আসলেই অসাধারণ তাহলে আপনাকে জিনিয়াস হতে হবে কিন্তু বেশিরভাগ সফটওয়্যার ইঞ্জিনিয়ারের চাকরীতে এমনটা প্রত্যাশা করা হয় না। এই চাকরীগুলোতে শুধু এটুকুই প্রত্যাশা করা হয় যে আপনি প্রাথমিক জিনিষগুলো ভালোভাবে জানেন। কিন্তু দেখা যায় ৯০% গ্র্যাজুয়েট এটাই ঠিকমত করে না।
তো এখন আপনাকে তাহলে কি করতে হবে? প্রথমত আপনাকে নিয়মমাফিক প্রতিদিন কিছু কাজ করতে হবে এবং মনোবল রাখতে হবে যে অন্য প্রোগ্রামারদের সাথে লড়ে নিজেকে সবসময় উন্নত রাখতে হবে। আপনাকে নিশ্চিত করতে হবে যে আপনি প্রাথমিক জিনিষগুলো শেষ করেছেন এবং এটা আপনাকে অন্যদের থেকে আলাদা করে তুলবে। নিচের লিস্টটি দেখুন আর মিলিয়ে নিন যে আপনার এগুলো সব প্রস্তুত আছে কিনা-
- আপনার কি নিজের একটি ওয়েবসাইট অথবা কোন ব্লগ আছে যেটা অনলাইনে দেখা যায় (অন্তত ১৫-২০ টি প্রয়োজনীয় পোস্ট থাকা প্রয়োজন)
- আপনার কি stackoverflow, github, linkedin এ অ্যাকাউন্ট আছে এবং এতে আপনার মোটামুটি একটিভিটি আছে?
- আপনি কি কয়েকজন কিংবদন্তি সফটওয়্যার ইঞ্জিনিয়ারের নাম জানেন এবং তারা কেন এত বিখ্যাত তা জানেন?
- আপনি কি কিছু ভাল মানের সফটওয়্যার ইঞ্জিনিয়ারিং এর বই পড়েছেন?
- আপনি কি নিয়মিত আর্টিকেল ও ব্লগ পরেন?
এগুলো এমন কিছু জিনিষ যা দিয়ে আপনি শুরু করতে পারেন এবং এগুলো থাকলে অবশ্যই আপনাকে কিছু বাড়তি সুবিধা দিবে।
এরপর আপনি যাচাই করে দেখতে পারেন যে নিচের লিস্টের জিনিষগুলো আপনি জানেন কিনা, যাতে করে আপনি বুঝতে পারেন যে সফটওয়্যার ডেভেলপমেনটের বেসিক কিছু জিনিষ আপনার জানা আছে কিনাঃ
- অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং এর মূল উপাদানগুলো আপনি জানেন কি? (যেমন, Polymorphism, Encapsulation)
- আপনি কি SOLID principle সম্পর্কে ভালভাবে জানেন?
- রেফ্যাক্টরিং ও কোড স্মেল সম্পর্কে কি ভাল ধারণা আছে?
- ইউনিট টেস্ট ও TDD সম্পর্কে জানেন কি?
- নিয়মিত ভার্সন কন্ট্রোলিং ব্যাবহার করেন কি? যেমন- git, SVN
- ডাটাবেসের ACID properties সম্পর্কে জানেন কি?
- Primary key, unique key, foreign key এগুলোর পার্থক্য জানেন কি?
- নরমালাইজেশন ফর্ম সম্পর্কে কি ভাল ধারণা আছে?
- Cross join, inner join, outer join ইত্যাদি সম্পর্কে ভাল ধারণা আছে কি?
- HTML5, CSS3 তে নতুন কি আছে জানেন কি?
- আপনি যে প্লাটফর্মে কাজ করতে ইচ্ছুক তার নতুন ভার্সনে নতুন কি কি জিনিষ যোগ করা হয়েছে জানেন কি? যেমন যদি আপনি .Net এ কাজ করেন তাহলে .Net এর লেটেস্ট ভার্সনে কি কি নতুন আসলো জানেন কি?
- অন্তত ৫ ধরণের UML diagram এর নাম জানেন কি এবং এগুলো কি কাজে ব্যাবহার করা হয় জানেন কি?
- HTTP GET, POST এগুলো কি এবং এদের পার্থক্য কি, তা কি জানা আছে?
- Quick sort, bubble sort, BFS, DFS এই ৪টি এলগরিদম কি অন্তত জানা আছে?
- Singleton, observer, builder, prototype pattern এই ৪টি ডিজাইন পেটার্ন কি অন্তত জানেন?
ইন্টারভিউতে যাবার আগে নিচের গুরুত্বপূর্ণ প্রশ্নগুলোও অন্তত একবার চিন্তা করে যাবেনঃ
- কেন আপনি প্রোগ্রামার হতে চাইলেন?
- আগামী ৫ বছরে আপনার প্ল্যান কি?
- আপনি কিভাবে নিজেকে অন্যদের থেকে আলাদা করেছেন?
- আপনার দুর্বল দিক কোনটি অথবা কোন দিকে নিজেকে আরও উন্নত করা যায় বলে মনে করেন?
- আমাদের কোম্পানি সম্পর্কে আপনার মন্তব্য কি এবং কেন আপনি এখানে যোগ দিতে চান?
- কিছু প্রশ্ন যা আপনি চাকরীদাতাকে করতে চান তা ভেবে রাখতে পারেন। তবে বোকার মত প্রশ্ন করবেন না।
এগুলো এমন কোন কঠিন প্রশ্ন নয়, কিন্তু ইন্টারভিউতে আচমকা এই প্রশ্নগুলো আপনাকে ওলটপালট করে দিতে পারে কারণ হুট করে এগুলোর উত্তর চিন্তা করা কঠিন।
সব শেষে, নিচের জিনিষগুলো ইন্টারভিউতে নিয়ে আসবেনঃ
- প্রিন্ট করা CV
- পাশের সার্টিফিকেট
- আপনার সমস্ত কোড ও প্রোজেক্ট পেন ড্রাইভে নিয়ে আসবেন। আবার সাথে কিছু প্রোজেক্ট থেকে কিছু ভাল দেখতে স্ক্রীনশট নিয়ে প্রিন্ট করেও নিয়ে আসবেন, তবে এগুলো CV তে এঁটে দিবেন না, আলাদা ফাইলে রাখবে। যদি পেন ড্রাইভ থেকে কোড দেখাতে না পারেন যেন প্রিন্ট থেকে দেখানো যায়। পারলে প্রোজেক্টগুলো ওয়েবে রান করে রাখবেন যাতে ইন্টারনেটে দেখা যায়।
আরেকটা জিনিষের ব্যাপারে সতর্ক থাকবেন, প্রথম চাকরীতে বেতনের জন্য গড়িমসি না করাই ভালো। আমি আপনাকে একদম কম বেতনে চাকরীতে যোগ দিতে বলছি না, কিন্তু অনেকে ২-৫ হাজার টাকার জন্য একটা নিশ্চিত চাকরীর অফার ছেরে দিয়ে আসে। মনে রাখবেন, এটা আপনার প্রথম চাকরী, শেষ চাকরী হবে কিনা সেটা আপনার উপর। কিন্তু এভাবে যারা নিশ্চিত চাকরী ছেড়ে দেয়, তাদের অনেক সময় অনেকদিন চাকরী ছাড়া বসে থাকতে হয় আর তখন বিষণ্ণতা তাকে ঘিরে ধরে আর ধিরে ধিরে সে পিছিয়ে পরতে থাকে। অনেকে নিজের বন্ধুর সাথে পাল্লা দিয়ে বেতন হাঁকে। চিন্তা করে যে আমার বন্ধু যদি এত বেতন পায় তাহলে আমি তার চেয়ে কমে কখনই চাকরী করবো না, কারণ আমি তার চেয়ে ভালো। আর তার পর সে ২ বছর বসে থাকে আর যখন ভালো বেতনে চাকরীতে যোগ দেয়, ততদিনে তার বন্ধুর বেতন ও অভিজ্ঞতা হয় দ্বিগুণ আর সারা জীবনই সে তার বন্ধুর থেকে পিছিয়ে থাকে।
পরিশেষে, নিজেকে গণ্ডির মধ্যে আটকে ফেলবেন না। এটা খুবই গুরুত্বপূর্ণ যে আপনি এই লিস্টটি যত দ্রুত সম্ভব শেষ করবেন এবং মনে করবেন যে এটা সবচেয়ে কম জেনে ইন্টারভিউতে উপস্থিত হওয়া ছাড়া আর কিছুই না। এগুলো না জানলে ইন্টারভিউতে আপনার তেমন কোন আশা থাকার কথা না। কাজেই এই লিস্ট শেষ করার পর এমন মনে করবেন না যে আপনার কাজ শেষ, আপনার কাজ মাত্র শুরু হল। আপনাকে আরও অনেক জানতে হবে। আপনি যত জানবেন, যত চর্চা করবেন, তত আপনি সুবিধা পাবেন। সব সময় মনে রাখবেন আপনাকে জিনিয়াস হতে হবে না কিন্তু ভালো চাকরী পেতে হলে আপনাকে অনেক চর্চা করতে হবে ও অনেক জানতে হবে। হাল ছেরে দিবেন না, কঠিন পরিশ্রম করতে থাকেন।
আপনার নতুন যাত্রা শুভ হোক। বড় কিছু করতে চেষ্টা করুন যা সবার উপকারে লাগে।
মোঃ জালাল উদ্দিন,
প্রতিষ্ঠাতা ও সিইও, ডেভস্কিল.কম
ডেভস্কিলের কিছু বিশেষ সফটওয়্যার ইঞ্জিনিয়ারিং কোর্স –
efficient post
Just great ………..
Great post…Its helps for both fresher and Experience Software developer.
Very efficient
যাক , ভালো কিছু জানলাম ! ধন্যবাদ । “Dev Skill” কে ।
বুক মার্ক করে রাখলাম ! বেশ কাজে লাগবে !!!
informative post.
I love this post. Many thing i learn this post.
Jazakallah khairan
Nice
অনেক ভাল একটা POST. অনেক ধন্যবাদ Boss
Nice post
Thanks
Thanks Dev Skill.
আর্টিকেল টা পড়ে ভালো লাগলো…
Good Article…
bhaiya apnar porichito kisu blog er example din na pkz
There are many blogs in internet. what type of blog are you looking for?
Can you provide me some famous developer blogs (In Country and Abroad)
There are many. Giving you one local and one abroad blog link:
https://martinfowler.com/
http://subeen.com/
Awesome writing…
informative 🙂 (y)
Thanks
Bhaiya, Thank you so much for sharing this article. Very informative (y).
Thanks for you rudder….
Thanks.