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

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

 

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

 

ফ্রন্ট এন্ড বলতে আমরা ব্রাউজারে একটা ওয়েব সাইটের যে অংশ দেখি, সে অংশ। এটাকে ক্লায়েন্ট সাইড ও বলা হয়। এই ফ্রন্ট এন্ড বা ওয়েব সাইটের ভিজুয়াল অংশ তৈরিতে ব্যবহৃত হয় HTML, CSS and JavaScript। সব গুলো ওয়েব সাইটে  HTML এবং CSS দরকার হয়। ওয়েব সাইটের কন্টেন্ট গুলো দেখানো হয় HTML দিয়ে। আর কন্টেন্ট গুলো দেখতে কেমন হবে, কোনটা কোন পাশে হবে ইত্যাদি ঠিক করে দেওয়া হয় CSS দিয়ে। ক্লায়েন্ট সাইডে এনিম্যাশন সহ অন্যান্য ফাংশনাল কাজ করার জন্য ব্যবহার করা হয় জাভাস্ক্রিপ্ট।

 

যে সব সাইট গুলোর কন্টেন্ট গুলো খুব একটা পরিবর্তন হয় না, অল্প কয়েকটা পেইজ থাকবে সে সব সাইট সাধারণত HTML, CSS and JavaScript দিয়েই তৈরি করা যায়।

 

চিন্তা করেন একটা ওয়েব সাইটে হাজার হাজার পেইজ। আবার সব গুলো পেইজের কন্টেন্ট গুলো নিয়মিত আপডেট করতে হবে, তখন সাধারণ HTML, CSS and JavaScript দিয়ে ওয়েব সাইট তৈরি করতে গেলে অনেক সময় লাগবে। আবার প্রতিবার আপডেট করতে গেলেও অনেক সময় লাগবে। আপডেট করার প্রক্রিয়াটা বোরিং। প্রোগ্রামাররা বোরিং কাজ করে না। এই সমস্যাটি সমাধাণ করার জন্যই ব্যবহার করা হয় ওয়েব প্রোগ্রামিং ল্যাঙ্গুয়েজ গুলো। আর এ ল্যাঙ্গুয়েজ গুলো রান হয় সার্ভারে। সার্ভার সাইডের অংশকে বলা হয় ব্যাকএন্ড।

 

ফ্রন্টএন্ড অংশ ডেভেলপমেন্ট করার জন্য শুধু HTML, CSS and JavaScript ব্যবহার করতে হলেও ব্যাকএন্ড অংশ ডেভেলপমেন্ট করার জন্য রয়েছে অনেক গুলো প্রোগ্রামিং ল্যাঙ্গুয়েজ। টপ কয়েকটি ওয়েব প্রোগ্রামিং ল্যাঙ্গুয়েজ হচ্ছে PHP, ASP, Java, JavaScript, Ruby, Python ইত্যাদি। ব্যাকএন্ড প্রোগ্রামিং এর লিস্টে JavaScript এর নাম দেখে অবাক হচ্ছো হয়তো। JavaScript দিয়ে ফ্রন্টএন্ডের পাশা পাশি একই সাথে সার্ভার সাইড কোড লেখা যায়।

 

ব্যাকএন্ড এর আরেকটা অংশ হচ্ছে ডেটাবেজ। ওয়েব সাইটের ডেটা গুলো সাজিয়ে রাখার জন্য ডেটাবেজ ব্যবহার করা হয়। এমন কয়েকটি ডেটাবেজ ম্যানজেমেন্ট সিস্টেম হচ্ছে Oracle, MySQL, Microsoft SQL ইত্যাদি। এসব ডেটাবেজ ম্যানজেমেন্ট সিস্টেম থেকে ডেটা দেখা, ডেটাবেজে ডেটা স্টোর করা, ডেটা আপডেট করা এবং ডেটা ডিলেট করার জন্য ব্যবহার করা হয় SQL। SQL মানে Structured Query Language.

 

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

 

ফ্রন্টএন্ড ডেভেলপমেন্ট শেখা সহজ। শুধু HTML, CSS & JavaScript শিখে রিকোয়ারমেন্ট অনুযায়ী ডেভেলপমেন্ট করা। কিন্তু ব্যাকএন্ড আসলে অনেকেই কনফিউজড হয়ে যায়। এত গুলো ল্যাঙ্গুয়েজ, কোনটা রেখে কোনটা শিখবে। আবার ডেটাবেজ সম্পর্কেও জানতে হয়, জানতে হয় SQL সম্পর্কে।

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

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

 

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

 

কোন ল্যাঙ্গুয়েজের ফ্রেমওয়ার্ক শেখার আগে দরকার ঐ প্রোগ্রামিং সম্পর্কে ভালো ধারণা। আপনি যেই প্রোগ্রামিংই শিখেন না কেনো, ঐ ল্যাঙ্গুয়েজেরই ফ্রেমওয়ার্ক রয়েছে। একই ল্যাঙ্গুয়েজের রয়েছে অনেক গুলো ফ্রেমওয়ার্ক। এক এক ফ্রেমওয়ার্ক এক এক ধরনের ওয়েব অ্যাপ তৈরি করার জন্য ভালো। যেমন পিএইচপি এর এখন সবচেয়ে জনপ্রিয় ফ্রেমওয়ার্ক হচ্ছে Laravel।  লারাভেল ছাড়াও অন্যান্য কিছু ফ্রেমওয়ার্ক হচ্ছে Symfony, CodeIgniter, Zend ইত্যাদি।

 

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

 

প্রোগ্রামিং ল্যাঙ্গুয়েজ বা ফ্রেমওয়ার্ক ছাড়াও সহজে ওয়েব সাইট তৈরি করার জন্য রয়েছে CMS বা কন্টেন্ট ম্যানেজমেন্ট সিস্টেম। এগুলো অনেকটা সফটওয়ারের মত। যেমন মাইক্রোসফট ওয়ার্ড। আপনি মাইক্রোসফট ওয়ার্ড ইন্সটল করার পরই সেখানে  লিখতে পারেন। আপনাকে  জানতে হয় না মাইক্রোসফট ওয়ার্ড কিভাবে তৈরি হয়েছে, কিভাবে কাজ করে ইত্যাদি। কয়েকটা জনপ্রিয় CMS হচ্ছে WordPress, Joomla, Drupal ইত্যাদি।

 

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

 

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

 

জুমলার থিম তৈরি ও বিক্রি করে এমন একটা প্রতিষ্ঠান হচ্ছে Joomshaper। এটি বাংলাদেশী প্রতিষ্ঠান এবং পৃথিবীর মধ্যে চতুর্থ সেরা জুমলা থিম এবং মডিউল বিক্রিকারী প্রতিষ্ঠান।

 

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

দারুণ কিছু করতে শুধু সুন্দর একটা আইডিয়া লাগে।

 

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

29 thoughts on “ক্যারিয়ার গাইডঃ ওয়েব ডেভেলপমেন্ট

  1. অনেক সুন্দর লিখছেন, আর আপনাকে ধন্যবাদ কারন আমি front-end, back-end ডেভেলাপ নিয়ে একটু কনফিউজ ছিলাম সেটা ধুর হয়ে গেছে।

  2. ব্যাক এন্ড ডেভেলপার হবার আগে কি ফ্রন্ট এন্ড ডেভেলপার হিসেবে কিছুদিন হলেও কাজ করা উচিত? একজন বুঝবে কিভাবে যে সে ব্যাক এন্ড ডেভেলপার হবার জন্য তৈরি ?

    1. ব্যাকএন্ড ডেভেলপার হওয়ার জন্য এক সপ্তাহ HTML ও CSS এ সময় দিলেই যথেষ্ঠ। 🙂

  3. আপনাকে অনেক অনেক ধন্যবাদ এতো সুন্দর করে লেখার জন্য …. 🙂

  4. আপনার লেখা গুলি সব সময় ভাল লাগে। আজকে আরো ভাল লাগলো। আমি ও একজন ওয়ার্ডপ্রেস ডেভেলপার চেষ্টা করছি।

  5. আপনার লেখা গুলি সব সময় ভাল লাগে। আজকে আরো ভাল লাগলো। আমি ও একজন ওয়ার্ডপ্রেস ডেভেলপার হওয়ার চেষ্টা করছি।

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

  7. অনেকে বলে একজন কম্পিউটার ইঞ্জিনিয়ার এর জন্য নাকি ওয়েব ডেভলপার অপশনটা লজ্জাজনক। আপনি কি মনে করেন? ক্যারিয়ার হিসেবে ওয়েব ডেভেলপমেন্ট কেমন? বিশেষ করে CSE দের জন্য ?
    ধন্যবাদ ।

    1. ফেসবুক, গুগল, অ্যামজন ইত্যাদি সবই ওয়েব সাইট। ওয়েব সাইট যারা তৈরি করে, তাদের ওয়েব ডেভেলপার বলে। লজ্জাটা কিসের, আর কোথায়? 🙂

      আর যারা বলে, তারা কি করে?

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

      আপনার জীবনটা যেন এমন না হয়ঃ জন্ম > মানুষ কি বলবে > মৃত্যু।

  8. ধন্যবাদ ভাইয়া, খুব প্রাঞ্জলতায় ব্যাখ্যা দেওয়ার জন্য।

  9. আসসালামু আলাইকুম,
    আমি আপনার ব্লগ নিয়মিত পড়ি। আমি এখন সি.এস.এস এর শেষের দিকে। এরপর কি শিখব বুঝতে পারছি না। PHP, Javascript, MySQL.

    1. JavaScript অথবা পিএইচপি শেখা শুরু করতে পারেন।

Leave a Reply