ওয়েব ডেভেলপার হতে হলে কী কী জানা প্রয়োজন?

 


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

গৎবাঁধা তালিকা না থাকলেও, এমন কিছু বেসিক দিক নির্দেশনা আছে যা অনুসরণ করলে আপনি আপনার Web Development-এর যাত্রায় খেই সামলে চলতে পারবেন।

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

শিক্ষাগত যোগ্যতা

Web Development-এর দুনিয়ায় একজন সিনিয়র ওয়েব ডেভেলপার হিসেবে কাজ করতে হলে যেকোনো কোম্পানির Job Requirement-এ সাধারণত কিছু একাডেমিক বাধ্যবাধকতা থাকে। কিন্তু সেক্ষেত্রে মেজর যে সবসময় CSE-ই হতে হবে তা কিন্তু নয়।

তবে হ্যাঁ, বেশিরভাগ ক্ষেত্রেই রিকোয়ারমেন্ট একটি Bachelor's ডিগ্রী চাওয়া হয় এবং ডেভেলপার এর জব হিসেবে আপনার এই Bachelor's ডিগ্রী টি Computer Science বা এই সম্পৃক্ত কোন ফিল্ডে হলেই বেশি ভালো। এটা শুনে হতাশ হয়ে পড়লে চলবে না। কারণ এটা বেদবাণী নয়। অভিজ্ঞতা ও দক্ষতার ভিত্তিতে অনেক সময়ই ডিগ্রী তেমন গুরুত্ব পায় না।

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

চাকরির কদর ও সম্ভাবনা বেশি থাকায় হরহামেশাই অন্যান্য Engineering ফিল্ডের Graduate-রা Web Development কে পেশা হিসেবে বেছে নিচ্ছেন। এতে তাদের ডিগ্রী বাধা হয়ে দাঁড়ায় না।

সার্টিফিকেট প্রোগ্রাম

সার্টিফিকেট প্রোগ্রামগুলোকে একজন দক্ষ ডেভেলপার হিসেবে আপনার প্রমাণপত্র বলা যায়। বিশেষ করে যেসব ওয়েব ডেভেলপারদের Academic Background এই ফিল্ডের সাথে সম্পৃক্ত নয়, তাদের জন্য এই সার্টিফিকেট প্রোগ্রামগুলোর তুলনাহীন। 
চাকরির বাজারে এই Certificate Program গুলোর মাধ্যমে আপনার ইমপ্লয়ার বুঝতে পারবেন আপনার দক্ষতা কেমন এবং আপনি কাজের দিক থেকে কতোটা বিশ্বাসযোগ্য। অনেক কোম্পানিরই অনলাইন সার্টিফিকেট প্রোগ্রাম আছে, যেমনঃ Microsoft, Amazon Web Services, Adobe Certified Expert। 

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


অন্যান্য প্রয়োজনীয় যোগ্যতা

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

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

প্রোগ্রামিং দক্ষতা

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

বর্তমানে ব্যাকেন্ড এবং ফ্রন্টএন্ডের জন্য বিভিন্ন ফ্রেমওয়ার্ক ব্যবহার করা হয়। এতে কাজ শুরু করা বেশ সহজ হয়। তবে, এজন্য যে ফ্রেমওয়ার্ক ব্যবহার করবেন, সেটার ল্যাঙ্গুয়েজ সম্পর্কে ভাল ধারণা রাখতে হবে। এখানে কয়েকটি ফ্রেমওয়ার্ক, তাদের ল্যাঙ্গুয়েজ এবং ফ্রন্ট নাকি ব্যাক এন্ডে ব্যবহার করা হয়, তা দেয়া হল।

Framework              LanguagUse Case
React
JavaScript
Front-End
Vue
JavaScript
Front-End
Angular
JavaScript                         
Front-End
JQuery
JavaScript
Front-End
NodeJS
JavaScript
Back-End
Django
Python
Back-End
Flask
Python
Back-End
Laravel
PHP
Back-End
Ruby on Rails
Ruby
Back-End
SpringBoot
Java
Back-End
 

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

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

ডাটাবেজ এর জন্য দুটো ল্যাঙ্গুয়েজ SQL আর NoSQL. এর ভিতর SQL এর জন্য MySQL বা Postgre ব্যবহার করা হয় আর NoSQL এর জন্য MongoDB. কখন কোনটা ব্যবহার করা হবে, সেটা ব্যাকেন্ড ফ্রেমওয়ার্ক এবং ওয়েবসাইটের ধরন অনুযায়ী ঠিক করতে হবে।

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

বিষয়ভিত্তিক জ্ঞানঃ

ওয়েব ডেভেলপমেন্ট এর জন্য কিছু বিষয়ভিত্তিক Theoretical এবং Practical জ্ঞান থাকা জরুরী। একেবারে শুরু তে এটার প্রভাব বোঝা না গেলেও এক সময় এটাই দক্ষ-অদক্ষ ডেভেলপার এর ভিতর পার্থক্য গড়ে দেয়।

Maths: প্রোগ্রামিং, ওয়েব বা কম্পিউটার বিষয়ক যেকোন ডেভেলপমেন্ট কাজের জন্য ম্যাথে ভাল হওয়া জরুরী। ম্যাট্রিক্স, Array, ফাংশন, ডাটা টাইপ, ভেরিয়েবল ইত্যাদি বিষয়ে ভাল দক্ষতা থাকলে কাজে অনেক সুবিধা পাওয়া যায়। এছাড়া ম্যাথে ভাল হলে প্রব্লেম সল্ভিং স্কিল তৈরি হয়, যা ওয়েব ডেভেলপমেন্টের সময় কাজে লাগে। তবে, আর মানে এই না, স্কুল-কলেজে ম্যাথে ১০০/১০০ না পেলে হবে না, স্ট্রং বেসিক থাকলেই চলবে। যদি মনে করেন, ম্যাথের বেসিক ঝালাই করে নেয়া দরকার Khan academy কিংবা Brilliant এর মত ওয়েবসাইট গুলো থেকে শিখতে পারেন।

Data Structure এবং Algorithm: ভাল প্রোগ্রামার হওয়ার জন্য Data Structure, Algorithm ইত্যাদি বিষয়ে ভাল ধারণা থাকতে হবে। Algorithm এ দক্ষ হওয়া একদম প্রথমেই দরকার না হলেও কোড কোয়ালিটি বাড়াতে, রানটাইম Efficient করতে এটাও শিখে নিতে হবে।

Operating System: সার্ভার সাইডের বেশ কিছু কাজের জন্য অপারেটিং সিস্টেম সম্পর্কে ধারণা থাকলে ভাল হয়। Linux, Windows, Mac, Android এগুলো সম্পর্কে জানা থাকলে বিভিন্ন সমস্যা দ্রুত সমাধান করা যায়।

Cloud Systems: এখন কার দিনে ক্লাউডে কাজ করা খুবই সাধারণ ব্যাপার হয়ে দাড়িয়েছে। কন্টেইনার, ক্লাউড এগুলো নিয়ে বেসিক ধারণা থাকা জরুরী, তাহলে প্রজেক্ট Deploy করতে সুবিধা হবে। Docker, AWS, Google Cloud, Azure এগুলো একটু জেনে রাখলে ভালই হয়।

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

কোডিং বুটক্যাম্প

যারা কোডিং জগতে একেবারেই নতুন তাদের জন্য Coding Bootcamp হলো আশীর্বাদ। Coding Bootcamp হলো একটি সংক্ষিপ্ত ট্রেনিং প্রোগ্রাম যেটা শিক্ষার্থীদের Professional Career-এ কাজে লাগানোর মতো Tech Skill গুলো শেখায়।

Coding Bootcamp হলো একটি গতানুগতিক ডিগ্রির তুলনায় অনেক বেশি অর্থ সাশ্রয়ী এবং সময় সাশ্রয়ী। কোড শেখা হলো Bootcamp গুলোর মূল উদ্দেশ্য। এর অন্য উদ্দেশ্য হলো এই কঠিন Bootcamp শেষে যেন আপনার বেশ কিছু Programming Language, Framework যেমন-HTML, CSS, JavaScript ইত্যাদি সম্পর্কে একটি বেশ ভালো ধারণা থাকে।

অনলাইনে বিভিন্ন ধরনের  bootcamp আপনি খুঁজে পাবেন-পার্ট টাইম, ফুল টাইম, এমনকি self-paced bootcamp। একদম কমপ্লিট বিগিনার থেকে শুরু করে অভিজ্ঞতাসম্পন্ন প্রোগ্রামাররা  bootcamp করে থাকেন নিজেদের প্রোগ্রামিং টেকনিকগুলো ঝালিয়ে নেওয়ার জন্য। এখানে তেমন কোনো পূর্ব অভিজ্ঞতার  প্রয়োজন হয় না।

গিটহাব প্রোফাইল

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

তাই বলে শুধু মাত্র একটি প্রোফাইল থাকলেই হবে না, আপনার প্রোফাইলটি Active ভাবে ব্যবহার করতে হবে। আপনার  GitHub profile দেখে বোঝা যাবে আপনি প্রোগ্রামার কমিউনিটির সাথে কতোটা নিয়োজিত। এছাড়া আপনার কাজের বর্ণনা, আপনি কি ধরনের প্রজেক্ট করেছেন, এবং সবকিছু মিলে আপনার GitHub profile আপনার সম্পর্কে Employer এর কাছে একটি ভালো ভাবমূর্তি তৈরি করতে সাহায্য করবে।

অনলাইন পোর্টফোলিও

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

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

    • আপনার আগের এবং বর্তমান ক্লায়েন্টদের থেকে পাওয়া টেস্টিমোনিয়াল গুলো ব্যবহার করুন।
    • নাম, একটি ছোট bio, আপনার সাম্প্রতিক করা কাজ এবং Contact Details দিতে যেন কোনো ভুল না হয়।

Pro tip: আপনার সঙ্গে কাজ করলে আপনার ক্লায়েন্টের কি সুবিধা, আপনার ক্লায়েন্ট কেন আর ১০ জনকে বাদ দিয়ে আপনাকে বেছে নেবেন, স্মার্টভাবে এবং ছোট করে এ প্রশ্নের উত্তর দেওয়ার চেষ্টা করুন।

CMS সম্পর্কে ধারনাঃ

সব সময় যে স্ক্র্যাচ থেকে সব কাজ করতে হয়, তা নয়। আবার একটা বানানো ওয়েবসাইটের জন্য অনেক কিছু ডেভেলপ করা লাগে। সহজে কোডিং ছাড়া ওয়েবসাইট বানাতে বাজারে বেশ কিছু ফ্রি এবং পেইড CMS (Content Management System) আছে।

কিন্তু এগুলোর জন্য অনেক সময় অনেক কাস্টমাইজেশন বা বিভিন্ন Add-on, Extension কিংবা Plugin দরকার হয়। আর সেজন্য কিছু কমন CMS নিয়ে ধারণা রাখলে ভাল। যেমন- WordPress যেটা PHP দিয়ে তৈরি এবং বেশ জনপ্রিয় একটা CMS.

UI ও UX সম্পর্কে ধারণা

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

SQL এবং PHP

Coding Bootcamp থেকে কোডিং, প্রোগ্রামিং ল্যাঙ্গুয়েজ সম্পর্কে শিখে এবার আপনাকে কিছু পর্দার পেছনের ধারণা নিতে হবে। SQL হচ্ছে একটি ডেটাবেজ টেকনোলজি যা আপনার সাইটের সব তথ্য সংরক্ষণ করবে এবং PHP হচ্ছে একটি Scripting Language যা সময় মতো সেই ডেটাবেজ থেকে আপনার প্রয়োজনীয় তথ্য আপনার সামনে তুলে আনবে।

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

শেষ কথা

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

শুধুমাত্র বেতন বা টাকার দিক থেকেই যে Web Developer-দের কাজ এগিয়ে তা নয়। বরং, একজন Web Developer হিসেবে আপনি আপনার চাকরিতে অনেক বেশ স্বাধীনতা পাবেন। আর তা আপনি কোনো ট্রেডিশনাল চাকরিতে পাবেন না। আপনি রিমোটলি কাজ করতে পারবেন, অন্য প্রোগ্রামারদের সঙ্গে মিলে কাজ করতে পারবেন, চাইলেই আবার Freelancing-এর দিকে এগোতে পারবেন। এমনকি আপনি যদি কোন কোম্পানির হয়ে কাজ করেন তবুও আপনার কাজের বৈচিত্র্য থাকবে।

U.S. Bureau of Labor Statistics (BLS) এর মতে আগামী এক দশকের ভেতরে ওয়েব ডেভেলপারদের চাকরির হার বাড়বে ১৩%, যা অন্যান্য যে কোন পেশার তুলনায় অনেক বেশি। অর্থাৎ, আপনার যদি প্রোগ্রামিং জগতে প্রবেশ করার ইচ্ছা থাকে, তাহলে এখনই সব থেকে সেরা সময়।

No comments:

Pages