অনেকেই প্রায় সময় ফেসবুকে ইনবক্স করে জানতে চায় কি ভাবে ভাল ওয়েব ডেভলপার হতে পারবে বা কি ভাবে ওয়েব ডেভলপমেন্টের কাজ শিখবে। ভাল গাইড লাইন চায়। তাই সবাইকে বার বার উত্তর দেবার চেয়ে পোস্ট আকারে লিখার চিন্তা করলাম।
ওয়েব ডেভলপমেন্টের আসলে অনেক বড় একটা ব্যাপার। কথাটা যত সোজা কাজটা আসলে এত সোজা না। ইদানিং অনেকে ওয়ার্ডপ্রেস বা জুমলা ইন্সটল ও কিছু প্লাগিন ও থিম সম্পর্কে ধারনা নিয়েই নিজেকে ওয়েব ডেভলপার হিসাবে দাবি করে। ব্যাপারটা মজাই লাগে। এই হিসাব করলে আমাদের দেশে কাক পাখির মত ওয়েব ডেভলপার এর সংখ্যা অগণিত হয়ে যাবে।
কাজের কথায় আসি। আমি এক্সপার্ট না তবুও ওয়েব ডেভলপমেন্টের প্রাথমিক পর্যায় থেকে শুরু করে এক্সপার্ট লেভেল পর্যন্ত একটি গাইড লাইন দেবার চেষ্টা করছি। এক্সপার্টরা যদি কোন ভুল পান তবে জানাবেন।
প্রথমেই আপনাকে HTML সম্পর্কে ভাল ধারনা থাকতে হবে HTML বলতে সাধারন ভাবে ট্যাগ সমূহ বা কিভাবে টেক্সট লিঙ্কআপ করতে হয় বা কিভাবে লেয়ার বানাতে হয় শুধু মাত্র এই সাধারন জিনিস গুলোর মধ্যে সীমাবদ্ধ থাকলে হবে না HTML এর হাই লেভেল পর্যন্ত জানতে হবে।
এর পর CSS টা বেশ ভাল ভাবে জানতে হবে। এটা জানা ছাড়া ভাল ভাবে সাইটের ডিসপ্লে বা ডিজাইনকে কন্ট্রোল করতে পারবেন না। সৌন্দর্য বৃদ্ধি করতে পারবেন না। তাই HTML এর পরেই CSS কে ভাল ভাবে রপ্ত করতে হবে।
বেশ অনেক server side Technologies রয়েছে এর মধ্যে PHP, ColdFusion, Python, Ruby, ASP.NET, Java EE ইত্যাদি রয়েছে। আমার কাছে কেউ সাজেশন চাইলে আমি বলব এগুলোর মধ্যে PHP টা শিখতে। কারন PHP টা বর্তমানে বেশ জনপ্রিয় ও এর মাধ্যমে অনেক সুন্দর সুন্দর ডায়নামিক ওয়েব সাইট বানানো যায়। তবে যারা নতুন তাদের ASP.NET, Java EE এই দুটো কাছেই যেতে না করব কারন এই দুটো অনেক কঠিন ও জটিল জিনিস। যেমন আপনি যদি ASP.NET শিখতে চান তবে আপনাকে সি ল্যাঙ্গুয়েজ ও ভিজুয়াল ব্যাসিক সম্পর্কে বেশ ভাল ধারনা থাকতে হবে।
ওয়েব সাইটকে ডায়নামিক করে গড়ে তুলতে JavaScript এর বেশ প্রয়োজন পরবে। এটি একটি স্ক্রিপ্টিং ল্যাঙ্গুয়েজ। বেশ কঠিন একটি জিনিস। এটা ভাল ভাবে শিখতে পারলে বেশ অনেক কাজে দিবে। কঠিন ও সময় সাপেক্ষ বলে যারা শিখতে ইচ্ছুক না তাদের জন্য বলব শিখার কোন দরকার নেই। শুধু স্ক্রিপ্টগুলো বা কোডগুলো কি ভাবে ব্যবহার করতে হয় এটা শিখুন তাহলেই হবে। কাজের সুবিধা মত গুগলে সার্চ দিলে অনেক অনেক রেডি স্ক্রিপ্ট পাবেন। জাভাস্ক্রিপ্ট এর কিছু ফ্রেমওয়ার্ক আছে এগুলো সমন্ধে জানুন। আমার কাছে MooTools, jQuery ফ্রেমওয়ার্ক ভাল লাগে। এছাড়া সম্ভবত আরও অনেক ফ্রেমওয়ার্ক আছে।
ডায়নামিক ওয়েব সাইট বানাতে হলে অবশ্যই ডাটাবেজ সম্পর্কে জানতে হবে। অনেক ধরনের ডাটাবেজ ইঞ্জিন রয়েছে কিন্তু SQL টা বেশীর ভাগ মানুষ ব্যবহার করে ও বুঝে। তাই এটাই শিখাটা ভাল।
ওয়েব সার্ভার সম্পর্কে তেমন বেশি জানা লাগবে না। হালকা পাতলা জানলেই হবে। যেমন ফাইল আপলোড করা, সাব ডোমেইন তৈরি করা, ইমেইল কনফিগার করা ইত্যাদি... ইত্যাদি...
আপনি সব কিছু শিখলেন HTML, CSS, JavaScript, PHP ইত্যাদি। কিন্তু এগুলোকে Raw Materials হিসাবে নিয়ে কাজ করতে অনেক অনেক সময় লাগবে। অনেক ঝেমেলা পোহাতে হবে। তাই সময় বাঁচানোর জন্য ও কাজের সুবিধার্থে ওয়েব ফ্রেমওয়ার্ক ব্যবহার করতে হবে। যেমন আপনি যদি PHP ভাল পারেন তবে আপনি CakePHP, CodeIgniter, Zend ইত্যাদি ফ্রেমওয়ার্ক ব্যবহার করতে পারেন বা আপনি যদি Python ভাল জানেন তবে Django, webpy ও Ruby এর জন্য RoR ফ্রেমওয়ার্ক ব্যবহার করতে পারেন।
অনেক ধরনের শক্তিশালী CMS রয়েছে যেগুলো ফ্রি তে পাওয়া যায়। যেমন WordPress, Joomla, Drupal ইত্যাদি। এগুলোর যেকোনো একটিতে এক্সপার্ট হন। এগুলো আপনাকে খুব দ্রুত ও সহজে বিভিন্ন ধরনের ওয়েব সাইট করতে সাহায্য করবে। আমার কাছে সাজেশন চাইলে আমি বল WordPress টা শিখুন। এটা বেশ শক্তিশালী একটি CMS। খুব সহজে ওয়েব সাইট ডেভলপ করা যায় এটা দিয়ে।
বর্তমানে যে হারে হ্যাকিং বারতেছে। একটি ওয়েব সাইট ডেভলপ করার সাথে সাথে সিকিউরিটির ব্যবস্থা করতে হয়। প্লাটফর্ম যেটাই হোক সিকিউরিটি সবার আগে দিতে হবে। না হলে ডাটাবেজ চুরি থেকে শুরু করে অনেক ক্ষতি হতে পারে। তাই একজন এক্সপার্ট ওয়েব ডেভলপারকে অবশ্যই ওয়েব সিকিউরিটি সম্পর্কে জানতে হবে।
উপরুক্ত জিনিস গুলো ছারাও একজন এক্সপার্ট ওয়েব ডেভলপারকে আরও কিছু অতিরিক্ত জিনিস জানতে হয়। তার মধ্যে রয়েছেঃ বিভিন্ন ডেভলপমেন্ট সহায়ক টুলস, বাগ ট্র্যাকিং সিস্টেম, লিনেক্স কমান্ড, সাবভার্সন, অ্যাজাক্স ইত্যাদি।
যাক মোটামুটি অনেক কথা জানা হল ওয়েব ডেভলপমেন্ট সম্পর্কে। এখন কথা হল কোথায় থেকে শিখব ??? কেমনে শিখব ??? সবাইকে গাইড লাইন দেবার পর এই একই প্রশ্ন করে। তো আসুন এই ব্যাপারে কিছু জানি। এটা সম্পূর্ণ আমার বাক্তিগত মতামত তাই কারো মতের সাথে দ্বিমত হলে আমার করার কিছু নেই।
প্রথমেই বলি ট্রেনিং সেন্টার নামক ব্যবসায়িক প্রতিষ্ঠান থেকে দূরে থাকুন। গলা কেটে নিবে ঠিকই কিন্তু কাজের জিনিস সব শিখাবে না। কিছু কিছু প্রতিষ্ঠান আছে ভাল তবে খুজে পাওয়া মুশকিল। সর্ব প্রধান কাজ হল নিজের মধ্যে আগ্রহ তৈরি করা। এরপর এই লাইনে এক্সপার্ট একজন মানুষের পরামর্শ মত প্রতি ধাপে ধাপে আগানো। কোন ট্রেনিং সেন্টার শিখলে সেটার পাশাপাশি নিজে নিজে প্রচুর প্র্যাকটিস করেন আর গুগলকে কাজে লাগান। যেই বিষয় যখনই কোন সমস্যা মনে হবে তখনই ট্রেনিং সেন্টারের আশার ফেলে না রেখে গুগলে সার্চ দিয়ে বিষয়টা জেনে নিবেন। ওই ট্রেনিং সেন্টার আপনাকে যা শিখাবে তার চেয়ে ভাল শিখতে পারবেন যদি আপনি গুগলকে কাজে লাগাতে পারেন।
তবে নিজে নিজে শিখাটা অনেক কঠিন একটা ব্যাপার হয়ে দাঁড়ায়। তাই কোন ট্রেনিং সেন্টার বা এক্সপার্ট কারো সান্নিধ্যে যেতে হয়। সেই ক্ষেত্রে একটু সতর্ক থাকবেন। অর্থাৎ...
এমন কিছু জিনিস আছে যা দেখে বুঝে ট্রেনিং সেন্টার বা এক্সপার্টদের সান্নিধ্যে যাবেন।
নিজে যতই পারেন না কেন সেটা নিয়ে অহংকার করবেন না। “অহংকার পতনের মূল” যথা সম্ভব চেষ্টা করবেন অন্যকে সাহায্য করতে। অন্যকে টুকটাক সাহায্য নিয়মিত করার চেষ্টা করবেন এতে অন্যকে সাহায্য করতে গিয়ে নিজেও অনেক কিছু শিখতে পারবেন।
উপরুক্ত গাইড লাইনের কোন বিষয় বুঝতে সমস্যা হলে মন্তব্যতে জানান বা ফেসবুকে ইনবক্স করুন।
আমি হোসেন রাহাত। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 13 বছর 5 মাস যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 46 টি টিউন ও 210 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 0 ফলোয়ার আছে এবং আমি টেকটিউনসে 0 টিউনারকে ফলো করি।
প্রযুক্তিকে ভালোবাসি আর মানুষকে সাহায্য করতে পছন্দ করি তাই Blogging এর মাধ্যমে নিজের মনের ইচ্ছাকে পূরণ করার চেষ্টা করছি। আমাকে আরও জানতে Visit করুন -হোসেন রাহাত
আমিও নতুন তাই গাইডলাইনগুলি দারুন ভাল লাগল রাহাত ভাই। আশা করি আপনার বর্ণিত গাইডলাইন মেনে চলতে পারব 🙂