ওয়েব ডেভেলপমেন্টে আমার যাত্রা

2026-05-20

ওয়েব ডেভেলপমেন্টে আমার যাত্রা

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

অবশ্য সব দিন এত সহজ ছিল না। কোনো দিন দশ মিনিটে একটি সমস্যা ঠিক হয়ে যেত, আবার কোনো দিন একটি ছোট error নিয়েই অনেকক্ষণ বসে থাকতে হতো। পরে দেখা যেত সমস্যাটা হয়তো একটি ভুল বানান বা missing bracket!

শুরুটা ছিল HTML ও CSS দিয়ে

প্রথম দিকে সুন্দর website বানানোর চেয়ে ঠিকভাবে একটি layout তৈরি করাই বড় চ্যালেঞ্জ ছিল। Margin দিলে padding নষ্ট হচ্ছে, mobile screen-এ element বাইরে চলে যাচ্ছে—এমন সমস্যা প্রায়ই হতো।

তখন বুঝিনি, কিন্তু এই ছোট ছোট সমস্যাই আমাকে browser DevTools ব্যবহার করতে, ধৈর্য ধরে CSS পরীক্ষা করতে এবং responsive design নিয়ে ভাবতে শিখিয়েছে।

JavaScript শেখার সময় বিষয়টি আরও কঠিন মনে হয়েছিল। HTML ও CSS-এর ফলাফল চোখে দেখা যায়, কিন্তু JavaScript-এ data, function এবং state কীভাবে একে অপরের সঙ্গে কাজ করে—সেটি বুঝতে আমার কিছুটা সময় লেগেছে।

Tutorial দেখা আর নিজে বানানো এক জিনিস নয়

Tutorial অনুসরণ করার সময় সবকিছু বেশ সহজ মনে হতো। Instructor-এর সঙ্গে সঙ্গে কোড লিখলে application কাজও করত। কিন্তু video বন্ধ করে একই জিনিস নিজে থেকে বানাতে গেলেই মাথা ফাঁকা হয়ে যেত।

এই জায়গাটাই আমার শেখার ধরন বদলে দিয়েছে। শুধু video শেষ করাকে আর শেখা মনে হতো না। একটি ছোট feature নিজে বানাতে পারছি কি না, error হলে কারণ খুঁজে বের করতে পারছি কি না—এসবকে বেশি গুরুত্ব দিতে শুরু করি।

React, Angular এবং MERN

React শেখার পর component ও state নিয়ে ভাবার একটি নতুন পদ্ধতি পাই। শুরুতে props কোথা থেকে আসছে বা state বদলালে component আবার কেন render হচ্ছে—এসব নিয়ে বেশ confusion ছিল। কিন্তু ছোট ছোট component বানাতে বানাতে বিষয়গুলো ধীরে ধীরে পরিষ্কার হয়েছে।

Angular-এর structure প্রথমে একটু বেশি মনে হলেও পরে তার organized approach ভালো লাগতে শুরু করে। MERN stack নিয়ে কাজ করার সময় frontend-এর বাইরেও ভাবতে হয়েছে—API কীভাবে data পাঠায়, database-এ সেটি কীভাবে থাকে এবং error হলে user-কে কী দেখানো উচিত।

এখনো সবকিছু জানি—এমন নয়। বরং যত শিখছি, ততই বুঝতে পারছি শেখার বিষয় কত বেশি।

আমার AWS URL Shortener

আমার URL Shortener প্রজেক্টটি ছোট হলেও এটি বানাতে গিয়ে অনেক বাস্তব সমস্যার মুখোমুখি হয়েছি।

শুরুতে মনে হয়েছিল, একটি long URL নেব, একটি code তৈরি করব, ব্যস। কিন্তু কাজ শুরু করার পর সামনে এলো API Gateway, Lambda, DynamoDB, validation, redirect, rate limiting এবং frontend integration।

একবার AWS থেকে short URL হিসেবে শুধু /dc547be2 ফিরে আসছিল। দেখতে ঠিকই ছিল, কিন্তু link-এ click করলে সেটি AWS endpoint-এর বদলে localhost-এ খুলছিল। পরে বুঝলাম relative path-এর সঙ্গে public AWS URL যোগ করে complete URL তৈরি করতে হবে।

এ ধরনের bug বিরক্তিকর, কিন্তু ঠিক করার পর যে সন্তুষ্টিটা আসে সেটাই সম্ভবত coding-এর সবচেয়ে ভালো অংশগুলোর একটি।

Bug এখনো বিরক্ত করে—তবে ভয় দেখায় না

আগে বড় error message দেখলে মনে হতো পুরো application-ই হয়তো নষ্ট হয়ে গেছে। এখন প্রথমে message-টা পড়ি, কোন file বা line-এর কথা বলছে দেখি, তারপর সমস্যাটা ছোট ছোট অংশে ভাগ করার চেষ্টা করি।

সব bug দ্রুত ঠিক করতে পারি না। কখনো documentation পড়তে হয়, কখনো search করতে হয়, আবার কখনো কিছুক্ষণ বিরতি নিয়ে ফিরে এলে সমাধান চোখে পড়ে।

সামনে এগিয়ে যাওয়া

আমার কাছে web development শেখা কোনো checklist শেষ করার বিষয় নয়। নতুন framework বা tool শেখা ভালো, কিন্তু শুধু নাম জানার চেয়ে সেটি দিয়ে একটি কাজের জিনিস তৈরি করতে পারা বেশি গুরুত্বপূর্ণ।

আমি এখনো শিখছি, ভুল করছি এবং আগের code দেখে মাঝে মাঝে ভাবছি—“এটা আমি এভাবে কেন লিখেছিলাম?” তবে সেই অনুভূতিটাও খারাপ নয়। কারণ তার মানে, আগের তুলনায় এখন অন্তত একটু ভালোভাবে ভাবতে পারছি।

এই ছোট ছোট উন্নতিই আমাকে সামনে এগিয়ে যেতে উৎসাহ দেয়।