ওয়েব ডেভেলপমেন্ট ক্যারিয়ার: যা কিছু জানা প্রয়োজন

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

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

ওয়েব ডেভেলপমেন্টে ক্যারিয়ার: জব টাইটেলগুলো

ওয়েব ডেভেলপমেন্টে ক্যারিয়ার জব টাইটেলগুলো

ফ্রন্ট-এন্ড ওয়েব ডেভেলপার

ফ্রন্ট-এন্ড ওয়েব ডেভেলপার হিসেবে কাজের সুযোগঃ

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

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

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

ফ্রন্ট-এন্ড ওয়েব ডেভেলপমেন্ট কারা বেছে নেয়ঃ

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

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

ফ্রন্ট-এন্ড ওয়েব ডেভেলপমেন্টের জন্য কোন ল্যাঙ্গুয়েজগুলো লাগেঃ

ফ্রন্ট-এন্ড ডেভেলপমেন্টে ডেভেলপাররা মূলত প্রাথমিক তিনটি কোডিং ল্যাঙ্গুয়েজ ব্যবহার করেন— এইচটিএমএল (HTML), সিএসএস (CSS)জাভাস্ক্রিপ্ট (JavaScript)। এছাড়াও জাভাস্ক্রিপ্টের লাইব্রেরী হিসেবে জেকোয়েরি (JQuery) বহুল ব্যবহৃত। কমপ্লিট ফ্রন্ট-এন্ড সল্যুশন হিসেবে বুটস্ট্র্যাপও একটি জনপ্রিয় টুলকিট। আর অ্যাঙ্গুলার (AngularJS), ব্যাকবোন (Backbone), এম্বার (Ember), রিঅ্যাক্ট (React.JS), রিঅ্যাক্ট ন্যাটিভ— এধরনের নানান জাভাস্ক্রিপ্ট ফ্রেমওয়ার্ক ব্যবহার হচ্ছে বিভিন্ন ক্ষেত্রে।

ব্যাক-এন্ড ওয়েব ডেভেলপার

ব্যাক-এন্ড ওয়েব ডেভেলপার হিসেবে কাজের সুযোগঃ

ব্যাক-এন্ড ডেভেলপার ফ্রন্ট-এন্ডকে সচল রাখার জন্য যে ইনফাস্ট্রাকচার দরকার তা তৈরি ও রক্ষণাবেক্ষণ করেন। এর মূলত তিনটি অংশ বলা যায়— সার্ভার, অ্যাপ্লিকেশন, ডেটাবেজ। ব্যাক-এন্ড ডেভেলপারদের করা কোড সার্ভার অ্যাপ্লিকেশন আর ডাটাবেজের স্মুথ কমিউনিকেশন নিশ্চিত করে। এরপর বিভিন্ন ডেটাবেজ ম্যানেজমেন্ট টুল ডেটা খোঁজা, এডিট ও সেভ করে ফ্রন্ট-এন্ডে পাঠানোর ব্যবস্থা করেন।

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

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

ব্যাক-এন্ড ওয়েব ডেভেলপমেন্ট কারা বেছে নেয়ঃ

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

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

ব্যাক-এন্ড ওয়েব ডেভেলপমেন্টে কোন ল্যাঙ্গুয়েজগুলো লাগেঃ

ব্যাক-এন্ড ডেভেলপাররা প্রথমে সার্ভার-সাইড ল্যাংগুয়েজ যেমন পিএইচপি (PHP), জাভাস্ক্রিপ্ট (JavaScript), রুবি (Ruby), পাইথন (Python) এবং জাভা (Java) দিয়ে অ্যাপ্লিকেশন বিল্ড করেন। এরপর বিভিন্ন ডেটাবেজ ম্যানেজমেন্ট টুল যেমন মাইএসকিউএল (MySQL), ওরাকল (Oracle), মঙ্গোডিবি (MongoDB), পোস্টগ্রেস্কিউএল (PostgreSQL) দিয়ে ডেটা খুঁজে, এডিট ও সেভ করে ফ্রন্ট-এন্ডে পাঠান।

ব্যাক-এন্ড ওয়েব ডেভেলপমেন্ট ক্যারিয়ার এর ক্ষেত্রে যেকোনো একটি ল্যাংগুয়েজে খুবই ভালো দখল থাকাটা জরুরী। সাথে সাথে জরুরী সেই ল্যাংগুয়েজের ইভল্ভিং ফর্মের সাথে সবসময় আপডেটেড থাকাও। নিয়োগদাতা প্রতিষ্ঠানগুলো বেশিরভাগ ক্ষেত্রেই একটি নির্দিষ্ট ল্যাংগুয়েজে স্পেশালাইজেশন খুঁজে থাকেন।

ফুল-স্ট্যাক ওয়েব ডেভেলপার

ফুল-স্ট্যাক ওয়েব ডেভেলপার হিসেবে কাজের সুযোগঃ

যিনি ব্যাক-এন্ড এবং ফ্রন্ট-এন্ড দুদিকেই কাজ করতে পারেন তিনিই ফুল-স্ট্যাক ডেভেলপার। একজন ফুল-স্ট্যাক ওয়েব ডেভেলপার তার ওয়েব ডেভেলপমেন্ট ক্যারিয়ার জুড়ে ডেভেলপমেন্ট প্রসেসের সবগুলো ধাপেই দক্ষ, তাই তারা সম্পূর্ণ স্ট্রাটেজি তৈরি এবং খুঁটিনাটি কাজ করায় পারদর্শী। 

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

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

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

ফুল-স্ট্যাক ওয়েব ডেভেলপমেন্ট কারা বেছে নেয়ঃ

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

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

ফুল-স্ট্যাক ওয়েব ডেভেলপমেন্টে কোন ল্যাঙ্গুয়েজগুলো লাগেঃ

ফুল-স্ট্যাক ওয়েব ডেভেলপমেন্ট ক্যারিয়ার নিয়ে একটি ভুল ধারণা ভাঙার সুযোগ রয়েছে। অনেকেই ভাবেন ফুল-স্ট্যাক ডেভেলপারদের ফ্রন্ট-এন্ড আর ব্যাক-এন্ডের সব ভাষাই জানতে হয়। কিন্তু সাধারণত ফুল-স্ট্যাক ডেভেলপাররা ফ্রন্ট-এন্ডের সবগুলা ভাষার সাথে পরিচয় রাখলেও ব্যাক-এন্ডে রুবি (Ruby) বা পিএইচপি (PHP) বা পাইথন (Python) যেকোনো একটায় স্পেশালাইজেশন রাখেন। আর বেশি অভিজ্ঞরা একাধিক ল্যাংগুয়েজে পারদর্শী হন। এসব কারণে জব লিস্টিংইয়ে দেখবেন ল্যাংগুয়েজ স্পেসিফাইড জব থাকে যেমন, “ফুল-স্ট্যাক রুবি ডেভেলপার”।

ডাটাবেজ এডমিনিস্ট্রেটর

ডাটাবেজ এডমিনিস্ট্রেটর হিসেবে কাজের সুযোগঃ

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

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

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

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

ডাটাবেজ এডমিনিস্ট্রেরদের কোন ল্যাঙ্গুয়েজগুলো লাগেঃ

ডাটাবেজ এডমিনিস্ট্রেটররা বিভিন্ন কোয়েরি ল্যাংগুয়েজ ব্যবহার করেন। সবচেয়ে ব্যবহৃত এবং যেকোনো ডাটাবেজ এডমিনিস্ট্রেটরই প্রথমেই যে ল্যাংগুয়েজ শেখা উচিত সেটা হচ্ছে এসকিউএল (SQL), স্ট্রাকচার্ড কোয়েরি ল্যাংগুয়েজ। এটা রিলেশনাল ডাটবেজে কোয়েরি রান করতে ব্যবহৃত হয়।

এখন অবশ্য নন-রিলেশনাল ডাটাবেজও ব্যবহৃত হচ্ছে নানান ক্ষেত্রে। সেক্ষেত্রে কোয়েরি ল্যাংগুয়েজের নতুন ক্লাস নোএসকিউএল (NoSQL) ব্যবহার্য। এগুলো অনেক বড় ডাটাসেটের জন্য ব্যবহৃত হয় তাই বড় ওয়েবসাইটগুলো এগুলোর উপর তৈরি। ক্যাসান্ড্রা (Cassandra), হাডুপ (Hadoop), মঙ্গোডিবি (MongoDB) এগুলো কিছু নন-রিলেশনাল ডাটাবেজের উদাহরণ, তবে এসকিউএল (SQL) যেকোনো ডাটাবেজ এডমিনিস্ট্রেটরের জন্যই একটি মাস্ট-হ্যাভ স্কিল।

সফটওয়্যার আর্কিটেক্ট

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

ওয়েব ডেভেলপমেন্ট ক্যারিয়ার এর রূপরেখা

ওয়েব ডেভেলপমেন্ট ক্যারিয়ার এর রূপরেখা

শুরুটা জুনিয়র হিসেবে

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

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

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

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

এরপর সিনিয়র প্রোগ্রামার

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

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

টিম লিডার বা প্রজেক্ট ম্যানেজার

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

আর সিনিয়র ডেভেলপারদের করা কাজটা ঠিকঠাক হলো কি না সেটা দেখভালের দায়িত্ব তো অবশ্যই থাকে তার। সেক্ষেত্রে বিভিন্ন সময় বিভিন্ন স্পেসিফিক রিকোয়ারমেন্ট তৈরি হয় কোম্পানির প্রয়োজনে— সেগুলো সিনিয়র ডেভেলপারদের বুঝিয়ে সেগুলো ঠিকভাবে আদায় করে নেয়ার ভারটাও থাকে টিম লিডারের কাঁধে।

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

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

ওয়েব ডেভেলপমেন্টের ফ্রিল্যান্স রুটটা কেমন?

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

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

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

রিমোট জবের সুযোগ

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

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

আপনার রিমোট জব পাবার সম্ভাবনা নির্ভর করবে আপনার স্কিল, অভিজ্ঞতা, লোকেশন— এগুলোর উপরে। কোনো স্কিলের উপর সার্টিফিকেশন প্রোগ্রামের ভেতর দিয়ে গেলে সেটা রিমোট এমপ্লয়ারদের দেখানো সহজ হয়। মো. কাওসার হাবিবের মতে রিমোট জবের সুযোগ-সুবিধা বেশিরভাগ ক্ষেত্রেই ভালো হয়, তবে তারপরও এ ব্যাপারটি নির্ভর করবে আপনার স্বীয় নিয়োগদাতা প্রতিষ্ঠানের উপর।

ওয়েব ডেভেলপমেন্ট ক্যারিয়ার এর সর্বোচ্চ সুযোগগুলো কেমন?

টেকনিক্যাল ডিরেক্টর

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

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

চিফ টেকনোলজি অফিসার

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

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

নিজেই হতে পারেন টেক এন্ট্রাপ্রেনার

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

একজন ওয়েব ডেভেলপারের দায়িত্বগুলো

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

ক্লায়েন্ট মিটিং:

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

কাস্টমার রিসার্চ:

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

কোয়ালিটি টেস্টিং:

টেস্টিং ডেভেলপমেন্ট প্রসেসের খুবই গুরুত্বপূর্ণ কাজ। আপনি যখন যেই পদের যেই স্কেলের কাজই করেন না কেন, আপনাকে অবশ্যই সাইট বা অ্যাপ লাইভ হবার আগে নিজের কাজকে ট্রাবলশ্যুট করতে হবে, বাগ (bug)-এর জন্য চেক করতে হবে এবং বিভিন্ন ব্রাউজার ও ডিভাইসের জন্য টেস্ট করতে হবে।

টিমওয়ার্কঃ

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

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

ওয়েব ডেভেলপমেন্ট ক্যারিয়ারে যেসব সফটস্কিলের চর্চা করা উচিত

ম্যানেজমেন্ট:

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

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

কমিউনিকেশন

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

ইমোশনাল ইন্টেলিজেন্স:

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

এটেনশন টু ডিটেলস:

খুব ছোট কোনো ভুলই আপনার ডেভেলপ করা সম্পূর্ণ ওয়েবসাইট বা অ্যাপকে অকেজো করে দিতে পারে। তাই পুঙ্খানুপুঙ্খ ভাবে খুঁটিনাটি খেয়াল করার ক্ষমতা একজন ওয়েব ডেভেলপারকে অনেক সহায়তা করতে পারে।

ওয়ার্ক এথিকঃ

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

শেখা কখনো থামিয়ে রাখা যাবে না

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

শিখতে হবে বিভিন্ন অনলাইন ফোরাম ও প্ল্যাটফর্ম থেকে

নিজের ফিল্ড সম্পর্কে আপডেটেড থাকতে অনলাইন ফোরামগুলোতে নিয়মিত ঢু মারার বিকল্প নেই। কোরা (Quora) এবং রেডিট (Reddit)-এর কমিউনিটিগুলো সবসময় অনেক অ্যাক্টিভ থাকে। মো. কাওসার হাবিবের মতে, এই ফোরামগুলোতে নিজের স্পেশালাইজড ফিল্ড নিয়ে নিয়মিত ঘাঁটাঘাঁটি করা উচিত। এছাড়াও স্ট্যাক ওভারফ্লোও একটি ভালো রিসোর্স হতে পারে।

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

বই পড়তে হবে

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

অনলাইন টিউটোরিয়াল

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

প্রতিদিন নিজের পেছনে সময় দিতে হবে

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

নিজের শেখার ক্ষমতাকেও বুস্ট করতে হবে

তবে শেখার ক্ষেত্রে কীভাবে শিখছেন সে ব্যাপারটি নিয়ে নিজেকে প্রশ্ন করতে হবে। ক্যারিয়ারে প্রবেশ করেছেন মানে অবশ্যই এ পর্যায়ে আপনি অনেককিছুই শিখেছেন। এখন পেছনে তাকিয়ে নিজেকে প্রশ্ন করুন,

  •         আপনার শেখার প্রসেসটা কি প্রডাক্টিভ ছিলো?
  •         এই শেখাটা কি আরো দ্রুত এবং ফলপ্রসূভাবে হতে পারতো?
  •         একই জিনিস আপনি আবার শিখতে গেলে কি একইভাবেই শিখতেন?

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

ওয়েব ডেভেলপমেন্ট ক্যারিয়ার এর সম্ভাব্য প্রতিবন্ধকতাগুলো

গ্রোথ থেমে যাওয়া

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

স্কিলসেটের কার্যকারিতা কমে যাওয়া

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

বার্নড আউট বোধ করা

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

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

ওয়েব ডেভেলপমেন্ট ক্যারিয়ার এর প্রতিবন্ধকতাগুলো কীভাবে মোকাবেলা করবো?

ডাইনামিক থাকতে হবে

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

যেকোনো সময়ে সবচেয়ে ট্রেন্ডিং ফ্রেমওয়ার্ক কোনটা, যে ল্যাংগুয়েজটা জানি তার সবচেয়ে আপডেটেড রূপটা কেমন, কখন কমিউনিটি কীসের দিকে ঝুঁকছে— এসব জ্ঞান সবসময় রাখতে পারলে এবং নিজের স্কিলসেটকে তার সাথে সাথে বাড়াতে থাকলে কখনোই নিজের উপযোগিতা কমে যাওয়া ঝুঁকিটা আসে না।  

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

বিগ পিকচার দেখার ক্ষমতা বাড়াতে হবে

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

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

সফটস্কিল যতটা সম্ভব বাড়াতে হবে

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

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

ওয়েব ডেভেলপমেন্ট ফিল্ডে ক্যারিয়ার শুরুর আগে কিছু কথা

নিজের স্কিলকে স্পেসিফাই করুন

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

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

জানুন নিজের দুর্বলতাকেও

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

একটি নির্দিষ্ট ক্ষেত্রে সর্বোচ্চ দক্ষতা অর্জনের চেষ্টা করুন

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

ফুল স্ট্যাক ওয়েব ডেভেলপমেন্ট শিখুন


পাইথন-জাভাস্ক্রিপ্ট স্ট্যাক শিখুন


জাভাস্ক্রিপ্ট (MERN) স্ট্যাক শিখুন

শেয়ার করুন

2 thoughts on “ওয়েব ডেভেলপমেন্ট ক্যারিয়ার: যা কিছু জানা প্রয়োজন”

Leave a Comment