ডেভেলপার vs প্রোগ্রামার vs ইঞ্জিনিয়ার : পার্থক্য কি?

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

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


সফটওয়্যার ডেভেলপার

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

ডেভেলপার ওয়ার্ডটি কিন্তু নতুন কোন ওয়ার্ড নয়। আপনি হয়তো জেনে অবাক হবেন যে, “ডেভেলপার” ওয়ার্ডটির চলন শুরু হয়েছিলো ১৯৮০-১৯৯০ সালের দিকে। যদি কোর মিনিং এর কথা বলেন, তাহলে ডেভেলপার বলতে মূলত বোঝানো হয় এমন প্রোফেশনের লোকদেরকে, যাদের ডিজিটাল প্রোডাকশন নিয়ে দক্ষতা এবং অভিজ্ঞতা আছে। তবে বর্তমানে সফটওয়্যার ডেভেলপার বলতে শুধুমাত্র এই ধরনের প্রোফেশনালদেরকেই বোঝানো হয়না।

সফটওয়্যার ডেভেলপার বলতে তাদেরকেই বোঝানো হয়, যারা একটি সফটওয়্যার বা সফটওয়্যার বেজড ডিজিটাল প্রোডাক্টের বিভিন্ন ধরনের সেক্টর নিয়ে কাজ করেন। সফটওয়্যার ডেভেলপার মানে এমন না যে তিনি সারাক্ষনই কম্পিউটার স্ক্রিনের সামনে বসে কোড লিখবেন। কোড লেখাটা তার কাজের জাস্ট একটা পার্ট হতে পার 

সফটওয়্যার ডেভেলপাররা কোড লেখেন, তবে কোড লেখাটাই তাদের প্রধান কাজ নয়।

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

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

সফটওয়্যার প্রোগ্রামার

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

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

সব সফটওয়্যার ডেভেলপাররাই প্রোগ্রামার, কিন্তু সব প্রোগ্রামাররা ডেভেলপার নয় !

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

সফটওয়্যার ইঞ্জিনিয়ার

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

যারা সফটওয়্যার ডেভেলপমেন্টের সাথে টেকনিক্যালি যুক্ত থাকেন, তাদের সবাইকেই সফটওয়্যার ইঞ্জিনিয়ার বলা হয়ে থাকে।

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

Images:Shutterstock.com

About the author

সিয়াম

Add comment

Categories