একজন চমৎকার ওয়েব ডেভেলপার হতে কী কী লাগে? প্রথম প্রোগ্রামিং জব পাওয়ার পর দ্রুত বুঝতে পারবেন যে এটি সহজ নয়। কোডিং টিউটোরিয়াল দেখা, বই পড়া, পোর্টফোলিও সাইট বানানো—এগুলো এক बात; কিন্তু স্পেসিফিকেশন অনুযায়ী ওয়েবসাইট বানানো, ডেডলাইন মেনে চলা, এবং সবচেয়ে গুরুত্বপূর্ণ—বস ও ক্লায়েন্টকে খুশি রাখা—এটা আলাদা চ্যালেঞ্জ।
টেকনোলজি দ্রুত পরিবর্তন হয়। আপনি মনে করতে পারেন ট্রেন্ডের সাথে না চলে আগামী বছর আপনি পুরনো হয়ে যাবেন। কিন্তু ভয় করার কিছু নেই। কাজ করতে থাকলে অভিজ্ঞতা আসবে। কোডিং শিখতে পারলে, কাজে হাই লেভেল পারফর্ম করাও শিখতে পারবেন। একজন ভালো ওয়েব ডেভেলপার হওয়া সম্ভব, এমনকি অপরিহার্য ভালো ওয়েব ডেভেলপারও হয়ে যাওয়া সম্ভব। (জব সিকিউরিটি গ্যারান্টি দিতে পারিনা, কিন্তু আপনি বুঝতে পারছেন।)
আমি সেলফ-টaught ওয়েব ডেভেলপার, ফরম্যাল কম্পিউটার সায়েন্স কোর্স করিনি। প্রায় ৭ বছর এই ফিল্ডে আছি, লার্নিং কার্ভ ও ইমপোস্টার সিন্ড্রোমের সাথে লড়েছি। কিন্তু অনেক মূল্যবান অভিজ্ঞতা ও স্কিল পেয়েছি। আপনার অভিজ্ঞতার সাথে মিল খুঁজে পেতে পারেন:
আমার প্রথম জব
জুনিয়র ওয়েব ডেভ হিসেবে প্রথম রিয়েল জব পাওয়ার সময় আমি অতিরিক্ত উত্সাহিত ছিলাম। কিন্তু সত্যি কহলে প্রথম দুই বছর আমি আতঙ্কিত ছিলাম। প্রতিদিন এমন কিছু করতে হতো যা আমি কিভাবে করব জানতাম না। কোথায় থেকে শুরু করবো সেটাও জানতাম না। অনেক সময় অকম্পিটেন্ট মনে হতো। خوشবоди, সব সময় ভালোই হয়েছে। সাপোর্টিভ সুপারভাইজার ও সহকর্মীদের কারণে। ডেডলাইন মেট করেছি। সময়ের সাথে সাথে স্ট্রেস কমতে লাগলো। ৪-৫ বছর পর আত্মবিশ্বাস জন্মলো। ৫ বছর অনেক বড় সময় লাগতে পারে—Especially যদি আপনি নতুন হোন। কিন্তু মনে রাখুন: সাফল্য রাতোরাত হয় না। দিন, সপ্তাহ, মাস, বছর পর বছর চেষ্টা করলে এবং হার না মানলে সাফল্য আসে।
আমি আমার ছোট ক্যারিয়ারে অনেক শিখেছি। নতুন ওয়েব ডেভেলপারদের সাহায্য করতে চাই যারা জব পাওয়ার জন্য অনেক লড়াই করেছেন। কিছু প্রিন্সিপল আছে যা আপনাকে भीড় থেকে আলাদা করবে। এগুলো প্রয়োগ করলে আপনি আপনার কোম্পানি ও কাস্টমারের জন্য অপরিহার্য হবেন। জব না থাকলেও শিখতে পারেন। অসাধারণ ওয়েব ডেভেলপার হতে চান? পড়ুন!
১: মাস্টারি করা একটি ম্যারাথন, স্প্রিন্ট নয়
বুটক্যাম্প বা কলেজ থেকে सीधে জব পেলে ভালোই! জানুন আপনি আপনার কোডিং যাত্রার শুরুতে আছেন। ওয়েব ডেভেলপমেন্ট ব্যাপক ফিল্ড, যেকোনো স্কিলের মতো এখানেও দক্ষ হতে দীর্ঘ সময় লাগে। আপনার সামনে লম্বা রাস্তা, এই মুহূর্তে আপনি অনেক কিছু জানেন না। এতে কোনো সমস্যা নেই! আপনি বIg inning। এখনই সব কিছু এক্সপার্টের মতো জানতে হবে—এটা আশা করা রিয়েলিস্টিক নয় এবং স্ট্রেস দেবে। লং-টার্ম ক্যারিয়ার চিন্তা করুন, শর্ট-টার্ম মুহূর্তে না।
২: প্রথমে নিজে যথাসাধ্য চেষ্টা করুন, তারপর সাহায্য চান
শুরুর দিনগুলোতে অজানা টেরিটরি এক্সপ্লোর করার চাপ ছিল। দুটি অপশন ছিল: বসে বলা "জানি না, আপনি করুন" —এটা শর্ট-টার্মে প্রেশার কমাবে কিন্তু লং-রানে খারাপ। অথবা নিজে যতটা সম্ভব রিসার্চ করা। যেতে পারার পরিসীমা এসে বসে বলা "জানি না, কিন্তু আমি এতটুকু চেষ্টা করলাম, লাগছে এটা এই কারণে..." —ফারক বুঝলেন? নিজে করায় নতুন কনসেপ্ট শিখতে শিখতে পাওয়া যায়—জব করে শিখছেন। বস বা সহকর্মীদের টাইম বাঁচাচ্ছেন। আপনি অ্যাসেট, লায়াবিলিটি নন। কিন্তু অতিরিক্ত সময় ব্যয় করে একই সমস্যায় আটকে থাকাও ভালো নয়। নিজে বুঝতে হবে কতক্ষণ চেষ্টা করবেন এবং কবে সাহায্য চাবেন। অভিজ্ঞতায় সেতু বানাবে।
৩: জিজ্ঞাসু থাকুন
শুরুর দিনে আমি স્પাঞ্জের মতো তথ্য শোষণ করতাম বলে পজিটিভ ফিডব্যাক পেতাম। কিছুই ট্রাই করতাম যেন জানতাম না কিভাবে করব। সত্যি জানতে চেয়েছিলাম জিনিসগুলো কীভাবে কাজ করে। জিনিসগুলো কীভাবে কাজ করে সেটি বুঝতে চাওয়া ही প্রতিটি ইঞ্জিনিয়ারর হৃদয়ে। আপনার কিউরিাসিটি সেটি বজায় রাখুন। শুধু কাজ শেষ করার জন্য কিউরিাসিটি বন্ধ করবেন না। 'কেন' বুঝা অত্যন্ত গুরুত্বপূর্ণ। Stack Overflow-র কোড স্নিপেট পেলেই থামবেন না। কিছু এক্সট্রা মিনিট দিয়ে সমাধান এবং আপনার কোডের সাথে ফিট কীভাবে হয়েছে সেটি বুঝতে চান। কেন কোড কাজ করতো না, এখন কেন করছে—বুঝতে চান। ১০০% না বুঝলেও কনসেপ্ট বুঝতে চেষ্টা করুন। আগামী বার একই সমস্যায় আরও ভালো বুঝতে পারবেন।
৪: সবসময় উন্নতি করুন
এটি শুধু ওয়েব ডেভেলপমেন্টে নয়, রান্না, গাড়ি চালানো, সম্পর্ক—সব ক্ষেত্রে প্রযোজ্য। কিছু ঠিক নয় হলে একটু পিছিয়ে পর্সপেক্টিভ নিন। জিজ্ঞেস করুন: কী হয়ে যাওয়া উচিত ছিল এবং কেন হয়নি? কোড ওয়েবসাইট ভেঙে দিলে কী হয়েছিল এবং ভবিষ্যতে এড়াতে কী করবেন? সহকর্মীর সাথে বিতর্ক হলে সেটি এস্কালেট হয়েছে কিনা? নন-অপ্টিমাল সিচুয়েশন বিশ্লেষণ করুন, কী ঘটলো বুঝুন, পরবর্তী বারের জন্য অ্যাকশনেবল স্টেপ চিন্তা করুন। সময় লাগে, সব ডিসিশন বিশ্লেষণ করা সম্ভব নয়। কিন্তু ভুল ও সংঘর্ষ উপেক্ষা করলে ভুল বারবার হবে। লাইফ ডিবাগিং-এর মতো—একই ভুল বারবার করলে অকुशল। ছোট ভুলেও সেলফ-অয়ারেনেস ও সেলফ-ইমপ্রুভমেন্ট প্র্যাকটিস করলে লং-রানে লাভ হবে।
৫: সমস্যা সমাধানে দক্ষ হন
ওয়েব ডেভেলপারের বড় অংশ সমস্যা সমাধান। নতুন কোড লিখা বা ডিবাগিং—লক্ষ্য সেটি আপনার চাওয়া মতো করানো। কোডে সমস্যা সমাধান কীভাবে করবেন? প্রথমে সেটি কী করার জন্য এবং প্রসেসের সব অংশ বুঝুন। তারপর সমস্যা কোথায় হচ্ছে সেটি খুঁজে বের করুন।
ল্যাম্প ঠিক করা
উদাহরণ: ল্যাম্প জ্বলছে না। অপ্টিমাল বিহেভিয়ার: সווিচ অন করলে বাল্ব জ্বলে। না হলে প্রতিটি ধাপ চেক করুন: ১) বাসায় বিদ্যুৎ আছে কিনা, আউটলেট কাজ করছে কিনা। ২) ল্যাম্প প্লাগড ইন কিনা। ৩) তার ও সুইচ ঠিক কিনা। ৪) সুইচ অন করলে বিদ্যুৎ বাল্বে পৌঁছাচ্ছে কিনা, বাল্ব ঠিক কিনা। প্রতিটি ধাপ টেস্ট করলে culprit বের হবে। কোড ডিবাগিংও একই প্রসেস, শুধু জটিল। ডিবাগিং ফ്രাস্ট্রেটিং হতে পারে—দিন বা সপ্তাহ আটকে থাকতে পারে। কিন্তু সমাধান পেলে অমেজিং লাগে—অল-পাওয়ারফুল ফিলিং। এটি ওয়েব ডেভেলপারের সেরা অংশ।
নন-টেকনিক্যাল স্কিলও গুরুত্বপূর্ণ
শেষ দুটি টিপস আলাদা। প্রফেশনাল ওয়েব ডেভেলপারের কিছু দিক কোডিংয়ের সাথে জড়িত নয়। পিপল স্কিল বা সফট স্কিল। আমরা কোডের সাথে কাজ করি কিন্তু মানুষের সাথে কাজ করি। ওয়েবসাইট/অ্যাপ মানুষের জন্য। কাস্টমার, ক্লায়েন্ট, সহকর্মী—সব মানুষ। সেরা ওয়েব ডেভেলপাররা কোডিংয়ে ভালো থাকার পাশাপাশি বড় চিত্র বুঝে এবং মানুষের সাথে ভালো কাজ করে। আমার মতে এই দুটি প্রিন্সিপল আপনাকে ভিড় থেকে আলাদা করবে। এগুলো মাস্টার করা সহজ নয়, আলাদা ধরণের কমপ্লেক্স থিংকিং লাগে। অনেক ডেভেলপার এই স্কিল ডেভেলপ করার দরকার মনে করেন না। এখান থেকে আপনি নিজেকে অনন্যভাবে উপকারী বানাতে পারেন।
৬: অন্যের প্রতি ইমপ্যাথি চর্চা করুন
ইমপ্যাথি মানে অন্যের ফিলিংস, नीডস, পারস্পেক্টিভ বুঝা—তার জুতা পায়ে দাঁড়ানো। আমার স্বামীর সাথে ঝগড়া হলে উভয়েই একে অপর বিরোধী মনে করি। আমি ১০০% সঠিক মনে করি (রিয়েল লাইফে কখনো নয়!)। সবকিছু কথা বললে বুঝতে পারি মিসঅন্ডারস্ট্যান্ডিং বা খারাপ দিনের কারণে। উভয়েই অন্যের দৃষ্টিকোণ থেকে দেখতে পাই। সেটি রাইট বা আর্গুমেন্ট জিতবা নয়, ইমপ্যাথেটিক হই এক পেজে থাকা। কাজেও ঝগড়া/ডিসঅ্যাগ্রিমেন্ট হবে। কিন্তু জাবাব দিয়ে অন্যকে ডيمونাইজ করবেন না। তারা ব্যক্তিগতভাবে কিছু করলো নয়। কথা বলুন, তারা কোথা থেকে আসছে সেটি বুঝুন। ব্যস্ত থাকলে ফিরে মেইল দিতে ভুলে গেলে? খারাপ মিটিংয়ের স্ট্রেস আপনার ওপর নিসলে? অন্যকে বেনিফিট অফ ডাউট দিন। ওয়ার্কপ্লেসে ইমপ্যাথি মানে অন্যের ওয়ার্কলোড ও সিচুয়েশন সম্মান করা। সহকর্মী টাইট ডেডলাইনে কাজ করলে অজেন্ট নন-অরজেন্ট বিষয়ে তঙ্গ করবেন না। শান্ত হলে কেমন চলło জানুন। ওয়ার্কপ্লেস এটিকেট সম্পর্কে আরও জানতে "Ask a Manager" ব্লগ ফলো করুন।
৭: প্রোঅ্যাক্টিভ হন, রিয়েক্টিভ নন
আমার মতে প্রোঅ্যাক্টিভ বনাম রিয়েক্টিভ কোয়ালিটি সফল ও মিডিয়োकर মানুষকে আলাদা করে। রিয়েক্টিভ কর্মী কেবল দেওয়া কাজ করে, তার বাইরে কিছু নয়। সমস্যা হলে ফিক্স করে কিন্তু পুনরাবৃত্তি রোধ করার জন্য আগে থেকে চিন্তা করে না। বড় চিত্র বা সিস্টেমের পার্টস কীভাবে ইন্টারঅ্যাক্ট করে সেটি বিবেচনা করে না। মাইন্ডসেট: "আমাকে প্রভাব না করলে আমার সমস্যা নয়।" শর্ট-টার্ম থিংকিং। বুরা কাজ করে না, কিন্তু অনেক কিছু করত পারে না।
প্রোঅ্যাক্টিভ কর্মী শুধু দেয়া কাজ করে থাকেন না। চলতে চলতে ছোট উন্নতি আনেন। সমস্যা হলে বিশ্লেষণ করে পুনরাবৃত্তি রোধ করেন। কাজের প্রসেস আরও এফিশিয়েন্ট করার চিন্তা করেন। সংক্ষেপে, প্রোঅ্যাক্টিভ মানুষ বর্তমানে কাজ করে ভবিষ্যত উন্নত করার জন্য। বড় চিত্র দেখেন এবং উন্নতির জন্য ইফরট দেন। ভালো লাগলো? প্রোঅ্যাক্টিভ হওয়ার স্কিল শিখতে ট্রায়-এরর ও অবজার্ভেশন লাগবে। একবার শিখলে জীবনের অন্য ক্ষেত্রেও ফলাফল আসবে।
শেষ কথা
ভালো ওয়েব ডেভেলপার হওয়ার টিপস পড়ার জন্য ধন্যবাদ! নতুন ওয়েব ডেভেলপার হলে আশা করি কিছু হেল্পফুল পেয়েছেন। প্রশ্ন বা মন্তব্য থাকলে কমেন্ট করুন।