AI-এর যুগে সফটওয়্যার ইঞ্জিনিয়ারিং: টিকে থাকার এবং এগিয়ে যাওয়ার পূর্ণাঙ্গ গাইড
সূচিপত্র
ভূমিকা
২০২৬ সালে দাঁড়িয়ে একটা কথা স্বীকার করতেই হয়—সামনে কী অপেক্ষা করছে, তা নিয়ে আমরা সবাই কমবেশি কনফিউজড। আপনি যদি সফটওয়্যার ইঞ্জিনিয়ারিং-এ সবে যাত্রা শুরু করে থাকেন, অথবা ক্যারিয়ারের মিড-লেভেলে এসে থমকে যান, তবে জেনে রাখুন—আপনি একা নন। ২০ বছর আগে আমি যখন ভার্সিটিতে কোডিং শুরু করেছিলাম, তখনকার রাস্তা আর আজকের রাস্তার মধ্যে আকাশ-পাতাল তফাৎ। সত্যি বলতে, কয়েক বছর আগের পরিস্থিতির সাথেও আজকের কোনো মিল নেই।
আমার শুরুর দিনগুলোতে কোনো AI Assistant ছিল না, পাশে বসে সাজেশন দেওয়ার মতো কোনো Copilot বা পুরো ফাংশন লিখে দেওয়ার মতো Claude Code ছিল না। খাতা-কলমে অ্যালগরিদম সলভ করা থেকে শুরু করে, টাইপ করা প্রতিটি লাইন ছিল নিজের হাতে গড়া। ক্যারিয়ারের ৬-৭ বছর পার করার পর, যখন TypeScript-এ কাজ করছিলাম, তখন প্রচুর রিডান্ডেন্ট কোড লিখতে লিখতে হঠাৎ একদিন মাথায় এল—”আরে, এটাই তো inheritance! আমি তো চাইলেই এই ক্লাসগুলোকে পলিমরফিজম দিয়ে ছোট করে ফেলতে পারি!” এই যে “Eureka Moment”—এটা কোনো টুল আমাকে বলে দেয়নি। এটা এসেছিল দিনের পর দিন একই ভুল করা, স্ট্রাগল করা এবং নিজের প্রয়োজনে বেটার সল্যুশন খুঁজে বের করার তাগিদ থেকে।
আজ যখন দেখি Andrej Karpathy (যিনি “vibe coding” টার্মটা পপুলার করেছেন), Linus Torvalds, বা DHH-এর মতো লেজেন্ডরা প্রতিদিন AI টুলস ব্যবহার করছেন, তখন একটা জিনিস আমাদের বুঝতে হবে। অনেক সময় তারা IDE-ও ওপেন করেন না, কারণ তাদের মেন্টাল মডেল গত কয়েক দশকে এতটাই শানিত হয়েছে যে, তারা চোখ বন্ধ করেও কোডের ফ্লো বুঝতে পারেন। তারা AI-কে অটোপাইলটে রাখতে পারেন কারণ তারা জানেন প্লেনটা কীভাবে ম্যানুয়ালি ল্যান্ড করাতে হয়। তারা জানেন ভালো কোড দেখতে কেমন, কারণ তারা জীবনে লক্ষ লক্ষ লাইন খারাপ কোড ফিক্স করেছেন।
সমস্যা হলো, আপনি হয়তো এখনো সেই পর্যায়ে পৌঁছাননি। এটা কোনো অপমান নয়—এটা শুধু আপনার জার্নির বর্তমান অবস্থান। কিন্তু ভয়ের জায়গাটা হলো, শর্টকাটের ভিড়ে হারিয়ে গিয়ে আপনি হয়তো জানতেই পারবেন না “কী চাইতে হবে” বা “ভুলটা কোথায় হচ্ছে”।
প্রশ্ন এটা না যে AI সফটওয়্যার ইঞ্জিনিয়ারিংকে বদলে দেবে কি না—সেটা অলরেডি হয়ে গেছে। আসল প্রশ্ন হলো: এমন একটা দুনিয়ায় যেখানে সবকিছুর শর্টকাট মাত্র একটা প্রম্পট দূরে, সেখানে আপনি কীভাবে আপনার “Genuine Competence” বা আসল দক্ষতা তৈরি করবেন?
এই গাইডটা সেই প্রশ্নেরই উত্তর। গত ১৫ বছর ধরে ইন্ডাস্ট্রি দেখা, কগনিটিভ সায়েন্সের রিসার্চ এবং অসংখ্য ডেভেলপারকে মেন্টরশিপ দেওয়ার অভিজ্ঞতার নির্যাস থেকে আমি এই প্লে-বুকটি সাজিয়েছি।
চলুন, রাস্তাটা একসাথে দেখে নিই—যে পথে হাঁটা এবং টিকে থাকা, এখন আমার নিজের জন্যও সমান গুরুত্বপূর্ণ।
পর্ব ১: অস্বস্তিকর সত্যটা—যা কেউ আপনাকে বলছে না
AI Hype Cycle-এর চক্করে পড়ে একটা কথা আড়ালে থেকে যাচ্ছে: কোম্পানিগুলো এখন “AI-made developers” হায়ার করতে ভয় পাচ্ছে।
ইঞ্জিনিয়ারিং লিডারদের সাথে কথা বললে একটা কমন অভিযোগ শোনা যায়—জুনিয়র ক্যান্ডিডেটরা তাদের নিজেদের কোড ব্যাখ্যা করতে পারছে না। AI টুলস দিয়ে এক উইকেন্ডেই হয়তো একটা ইমপ্রেসিভ পোর্টফোলিও দাঁড় করানো যায়, কিন্তু ইন্টারভিউতে যখন জিজ্ঞেস করা হয়, “এই ডেটা স্ট্রাকচারটা কেন বেছে নিলেন?” বা “এই এজ কেসটা কীভাবে হ্যান্ডেল হবে?”—তখন শুধুই নীরবতা। পোর্টফোলিওটা একটা মুখোশ মাত্র, তার পেছনে কোনো গভীর বোঝাপড়া নেই।
এটা কোনো জল্পনা নয়। ইন্ডাস্ট্রি জুড়ে জুনিয়র ডেভেলপার হায়ার করার হার কমে যাওয়ার পেছনে এটা একটা বড় কারণ। এন্ট্রি-লেভেল পজিশন শুধু এ কারণে কমছে না যে AI কাজগুলো করে দিচ্ছে; বরং যারা আসছে, তারা AI-এর বাইরে নিজের মগজ খাটিয়ে সামান্যতম কাজ করতেও হিমশিম খাচ্ছে।
এখানে একটা প্যারাডক্স বা কৌতূহলোদ্দীপক ব্যাপার আছে। Meta বা Canva-র মতো কোম্পানিগুলো এখন কোডিং ইন্টারভিউতে AI ব্যবহার করতে উৎসাহ দিচ্ছে। কিন্তু তাদের মূল্যায়নের জায়গাটা বদলে গেছে। তারা দেখছে না আপনি কত দ্রুত কোড জেনারেট করতে পারেন; তারা দেখছে আপনি একটা জটিল সমস্যাকে ভাঙতে পারেন কি না। AI ভুল সল্যুশন দিলে সেটা আপনি ধরতে পারছেন কি না। তারা আপনার “প্রম্পট দেওয়ার দক্ষতা” টেস্ট করছে না, টেস্ট করছে আপনার “জাজমেন্ট” বা বিচারক্ষমতা।
যারা টিকে থাকবে, তারা তারাই—যাদের আসল স্কিল আছে এবং যারা জানে সেই স্কিলকে AI দিয়ে কীভাবে ধারালো করতে হয়। আর যাদের ঝুলিতে শুধু AI-এর ভরসা আছে, তারা খুব দ্রুতই এক্সপোজড হয়ে যাবে।
আপনার বাচ্চার হোমওয়ার্ক আর আপনার ক্যারিয়ার
একটা ব্যক্তিগত উদাহরণ দিই। সম্প্রতি আমি আমার মেয়েকে আইপ্যাডের বদলে খাতা-কলমে অঙ্ক করতে দিচ্ছি। পার্থক্যটা ছিল চোখে পড়ার মতো। আইপ্যাডে উত্তর খুব সহজে চলে আসত, কিন্তু পরের দিনই সে নিয়মটা ভুলে যেত। কিন্তু খাতা-কলমে প্রসেসটা স্লো, মাঝে মাঝে বিরক্তিকরও বটে, কিন্তু একটা দারুণ ব্যাপার ঘটল—সে মনে রাখতে শুরু করল। গতকালের শেখা লজিকটা সে আজকের সমস্যায় কানেক্ট করতে পারল। তার লজিক্যাল রিজনিং বা চিন্তাশক্তি ধারালো হলো।
এটা শুধু আমার কথা নয়—কগনিটিভ সায়েন্স বা মনস্তত্ত্ববিজ্ঞান ঠিক এটাই বলে। গবেষকরা একে বলেন “Desirable Difficulty”। যখন শেখার প্রসেসটা কঠিন হয়, তখন আমাদের মস্তিষ্ক সেই তথ্যকে আরও গভীরভাবে সংরক্ষণ (encode) করে। UCLA-এর প্রফেসর রবার্ট বিয়র্ক-এর গবেষণা দেখিয়েছে, যেসব লার্নিং মেথড আমাদের স্লো করে দেয়—যেমন স্ট্রাগল করা, মেমোরি থেকে রিকল করার চেষ্টা করা—সেগুলোই লং-টার্মে শেখার জন্য সবচেয়ে কার্যকর। যারা কঠিন উপায়ে প্র্যাকটিস করেছে, তারা সহজ উপায়ে প্র্যাকটিস করা ছাত্রদের চেয়ে পরীক্ষায় তিনগুণ ভালো ফল করেছে।
কোডিং-এর ক্ষেত্রেও একই সূত্র খাটে। যখন আপনি ৪৫ মিনিট ধরে একটা বাগ (bug)-এর সাথে লড়াই করে অবশেষে মিসিং সেমিকোলনটা খুঁজে পান, সেই অভিজ্ঞতা আপনি ভোলেন না। কিন্তু যখন AI ২ সেকেন্ডে সেটা ফিক্স করে দেয়, তখন কাজ হয় ঠিকই, কিন্তু শেখা হয় না। যখন আপনি একই বয়লারপ্লেট কোড পাঁচবার লেখার পর বিরক্ত হয়ে আবিষ্কার করেন—”আরে, এটা তো একটা প্যাটার্ন, এটাকে অ্যাবস্ট্রাক্ট করা যায়”—তখন সেই ইনসাইটটা আপনার নিজের অর্জন। আর AI যখন শুরুতেই আপনাকে অ্যাবস্ট্রাকশন ধরিয়ে দেয়, তখন আপনি ইনফরমেশন পেলেন, কিন্তু আন্ডারস্ট্যান্ডিং বা বোধ তৈরি হলো না।
এটাই “জানা” আর “বোঝার” মধ্যে তফাৎ। উত্তর শুনে নেওয়া হলো নলেজ। আর স্ট্রাগল করে হাড়েমজ্জায় অনুভব করাটা হলো আন্ডারস্ট্যান্ডিং।
Generation Effect: টাইপ করা কেন এত জরুরি?
মনস্তত্ত্ববিজ্ঞানে “Generation Effect” নামে একটা কনসেপ্ট আছে, যা প্রোগ্রামিংয়ের জন্য অত্যন্ত প্রাসঙ্গিক। ৮৬টি ভিন্ন ভিন্ন গবেষণায় দেখা গেছে, আমরা যে তথ্যটা নিজে তৈরি (produce) করি, সেটা আমাদের মনে থাকার হার—শুধু পড়ে বা শুনে মনে রাখার চেয়ে প্রায় ৪০% বেশি।
এই কারণেই রুবি অন রেইলস (Ruby on Rails)-এর স্রষ্টা DHH—যিনি কয়েক দশকের অভিজ্ঞতাসম্পন্ন একজন লেজেন্ড—লক্ষ্য করলেন যে তিনি যখন AI দিয়ে ব্যাশ (Bash) কমান্ড লেখাতেন, তখন বারবার একই কমান্ড চাইতে হতো। তিনি সেগুলো শিখছিলেন না, কারণ তিনি সেগুলো টাইপ করছিলেন না। তাঁর সেই বিখ্যাত উক্তি: “You learn with your fingers”—আপনি আঙুল দিয়ে শেখেন।
একবার ভাবুন, পৃথিবীর অন্যতম সেরা একজন প্রোগ্রামার যদি টাইপ না করার কারণে সিনট্যাক্স ভুলে যান, তাহলে একজন নতুন শিক্ষার্থী—যে সব কোড AI দিয়ে জেনারেট করছে—তার পক্ষে কি আসলে কোনো গভীর দক্ষতা অর্জন করা সম্ভব?
পর্ব ২: লার্নিং রোডম্যাপ
এই গাইডের মূল অংশ বা “Core” এটাই। আমি পুরো জার্নিটাকে চারটি আলাদা ফেজে (Phase) ভেঙেছি। প্রতিটির জন্য নির্দিষ্ট লক্ষ্য, AI ব্যবহারের নিয়ম এবং কিছু কংক্রিট প্রজেক্ট ঠিক করে দেওয়া হয়েছে। মূল ইনসাইট হলো: আপনার ফাউন্ডেশন বা ভিত্তি যত শক্তিশালী হবে, AI ব্যবহারের বিধিনিষেধ তত শিথিল হবে।
ব্যাপারটাকে গাড়ি চালানো শেখার মতো ভাবুন। আপনি নিশ্চয়ই ক্রুজ কন্ট্রোল (Cruise Control) বা লেন অ্যাসিস্ট (Lane Assist) দিয়ে ড্রাইভিং শেখা শুরু করবেন না। শুরুতে আপনাকে ক্লাচের ফিল বুঝতে হয়, আয়নায় চোখ রাখা শিখতে হয়, দূরত্ব আন্দাজ করা শিখতে হয়। যখন এই কাজগুলো আপনার সেকেন্ড নেচার বা অভ্যাসে পরিণত হয়, তখনই অটোমেশন আপনাকে আরও দ্রুত এবং নিরাপদে ড্রাইভ করতে সাহায্য করে। কিন্তু এই ফান্ডামেন্টালগুলো বাদ দিলে, রাস্তা যখনই একটু অনির্দেশ্য বা কঠিন হবে, কোনো অটোমেশনই আপনাকে বাঁচাতে পারবে না।
ফেজ ১: আপনার কোডিং ডিএনএ (Coding DNA) তৈরি করুন
মূলনীতি: এটা আপনার হাতে-কলমে শেখার সময়। কোডের প্রতিটি লাইন আপনার নিজের মগজ এবং আঙুল থেকে বের হতে হবে। এখানে AI-এর ভূমিকা কেবল একজন ধৈর্যশীল শিক্ষকের মতো—আপনি আটকে গেলে সে কনসেপ্ট বুঝিয়ে দেবে, কিন্তু আপনার হোমওয়ার্ক করে দেবে না।
এই ফেজে AI ব্যবহারের নিয়ম:
আপনি AI-কে কনসেপ্ট, এরর মেসেজ বা প্রোগ্রামিং আইডিয়া ব্যাখ্যা করতে বলতে পারেন।
আপনি AI-কে আপনার হয়ে কোড লিখতে বলতে পারবেন না—এমনকি একটা ফাংশনও না।
আপনি কোড অটোকমপ্লিশন টুলস (যেমন Copilot, Tabnine) ব্যবহার করতে পারবেন না। এগুলো বন্ধ রাখুন।
প্রতিটি ক্যারেক্টার আপনি নিজে টাইপ করবেন। এডিটর হিসেবে VS Code ঠিক আছে, কিন্তু সব AI এক্সটেনশন বন্ধ রাখতে হবে।
কেন এই নিয়মগুলো ভাঙা যাবে না:
এই ফেজটি আপনার মধ্যে এমন তিনটি জিনিস তৈরি করবে, যা অন্য কোনোভাবে পাওয়া সম্ভব নয়:
১. সিনট্যাক্স মেমোরি (Syntax Memory): for (let i = 0; i < arr.length; i++)—এই লাইনটা আপনাকে এতবার টাইপ করতে হবে যেন আঙুলগুলো নিজে থেকেই চলে। এটা মুখস্থ করার জন্য মুখস্থ করা নয়; এটা আপনার ওয়ার্কিং মেমোরিকে ফ্রি করে দেয় যাতে আপনি সিনট্যাক্স বা মেকানিক্স নিয়ে চিন্তা না করে কোডের লজিক বা আর্কিটেকচার নিয়ে ভাবতে পারেন।
২. ডিবাগিং ইনটিউশন (Debugging Intuition): প্রতিটি এরর যা আপনি ফেস করেন এবং ম্যানুয়ালি ফিক্স করেন, তা আপনার মস্তিষ্কে একটা প্যাটার্ন লাইব্রেরি তৈরি করে। ৫০ বার undefined is not a function এরর খাওয়ার পর আপনি আর পুরো মেসেজটা পড়েনও না—আপনার ব্রেইন জানে ঠিক কোথায় তাকাতে হবে। AI এই প্যাটার্ন লাইব্রেরিটা আপনার হয়ে তৈরি করতে পারে না।
৩. স্ট্রাগল টু ইনসাইট পাইপলাইন (Struggle-to-Insight Pipeline): আমার সেই টাইপস্ক্রিপ্টে পলিমরফিজম আবিষ্কার করার গল্পটা মনে আছে? ওই ধরনের গভীর বোধ বা “Aha Moment” তখনই আসে, যখন আপনি একটা নন-অপ্টিমাইজড ভার্সনের পেইন বা কষ্টের সাথে কিছুদিন বসবাস করেন। শর্টকাট নিলে আপনি এই ইনসাইটগুলো হারাবেন, যা আসলে গভীর বোঝাপড়া তৈরি করে।
ফেজ ১-এ কী প্রজেক্ট করবেন:
প্রথমে একটা ল্যাঙ্গুয়েজ বেছে নিন। ছড়িয়ে-ছিটিয়ে যাবেন না। JavaScript/TypeScript, Python বা Go—সবগুলোই চমৎকার চয়েস। এরপর নিচের প্রজেক্টগুলো পুরোপুরি হাতে (AI ছাড়া) তৈরি করুন:
প্রজেক্ট ১: কমান্ড-লাইন ক্যালকুলেটর। শুধু
eval()দিয়ে করবেন না। ইনপুট পার্স করা, অপারেটর প্রেসিডেন্স হ্যান্ডেল করা এবং এরর ম্যানেজ করা শিখুন। এটা আপনাকে কন্ট্রোল ফ্লো এবং স্ট্রিং পার্সিং শেখাবে।প্রজেক্ট ২: টু-ডু লিস্ট অ্যাপ্লিকেশন। শুরুতে কমান্ড লাইন, পরে ওয়েব ইন্টারফেস। এটা আপনাকে CRUD অপারেশন, স্টেট ম্যানেজমেন্ট এবং ডেটা পারসিস্টেন্স (ফাইল বা সিম্পল ডাটাবেস) শেখাবে।
প্রজেক্ট ৩: পার্সোনাল ব্লগ বা পোর্টফোলিও সাইট। একদম স্ক্র্যাচ থেকে HTML, CSS এবং ভ্যানিলা JS দিয়ে। কোনো ফ্রেমওয়ার্ক বা টেমপ্লেট নয়। এটা আপনাকে ওয়েব প্রোটোকল, রেন্ডারিং এবং লেআউট বুঝতে সাহায্য করবে।
প্রজেক্ট ৪: সিম্পল REST API। আপনার বেছে নেওয়া ল্যাঙ্গুয়েজ দিয়ে একটা বেসিক API বানান। এন্ডপয়েন্ট ইমপ্লিমেন্ট করা, ইনপুট ভ্যালিডেশন, স্ট্যাটাস কোড এবং ডাটাবেস কানেকশন শিখুন।
“Explain it to me” এক্সারসাইজ: প্রতিটি প্রজেক্ট শেষে একটা ফাঁকা ডক খুলুন এবং নিজের ভাষায় (AI-এর ভাষায় নয়) লিখুন পুরো সিস্টেমটা কীভাবে কাজ করে। কেন এই ডাটা স্ট্রাকচার নিলেন, কী সমস্যায় পড়েছিলেন, কীভাবে সমাধান করলেন। যদি কোনো অংশ ব্যাখ্যা করতে না পারেন, ফিরে গিয়ে আবার স্টাডি করুন। ইন্টারভিউ বোর্ডে পাস করার জন্য এটাই সবচেয়ে শক্তিশালী টেকনিক।
ফেজ ১-এ AI ব্যবহারের সঠিক উপায়:
প্রশ্ন করার ধরণটা বদলান। AI-কে কোডার নয়, টিচার বানান।
ভুল: “আমাকে অ্যারে সর্ট করার ফাংশন লিখে দাও।”
সঠিক: “বাবল সর্ট (Bubble Sort) স্টেপ বাই স্টেপ কীভাবে কাজ করে? মেমোরিতে কী ঘটে? কেন এর টাইম কমপ্লেক্সিটি O(n²)?”ভুল: “এই এররটা ফিক্স করে দাও।”
সঠিক: “আমি ‘TypeError: Cannot read property of undefined’ পাচ্ছি। এই এররের সাধারণ কারণগুলো কী কী? আমার কী চেক করা উচিত?”
ফেজ ১-এর সাপ্তাহিক রুটিন:
সোম–শুক্র: ১–২ ঘণ্টা হ্যান্ডস-অন কোডিং।
শনি: ১ ঘণ্টা রিভিউ, রিফ্যাক্টর এবং ডকুমেন্টেশন লেখা।
রবি: কোডিং বন্ধ। কনসেপ্ট বা আর্কিটেকচার নিয়ে টেকনিক্যাল আর্টিকেল পড়ুন।
ফেজ ২: কোড পড়তে এবং রিভিউ করতে শিখুন
মূলনীতি: আপনার ভিত্তি তৈরি হয়েছে। এখন প্রফেশনাল স্কিল অর্জনের পালা—অন্যের কোড পড়া এবং বোঝা। এখানে AI-এর ভূমিকা একটু বড়—সে এখন আপনার কোড রিভিউয়ার এবং টিচার, কিন্তু এখনো লেখক নয়।
এই ফেজে AI ব্যবহারের নিয়ম:
ফেজ ১-এর সব নিয়ম বহাল থাকবে (কোড আপনিই লিখবেন)।
AI-কে আপনার কোড রিভিউ করতে এবং সাজেশন ব্যাখ্যা করতে বলতে পারেন।
ওপেন সোর্স কোড বা ডকিমেন্টেশন বুঝতে AI-এর সাহায্য নিতে পারেন।
এখনো AI দিয়ে কোড জেনারেট করবেন না।
কোড রিডিং কেন জরুরি: পেশাদার জীবনে আপনি কোড লেখার চেয়ে পড়ার পেছনে বেশি সময় দেবেন। লিগ্যাসি কোডবেস, প্যাটার্ন এবং টেকনিক্যাল ডেট বোঝা—নতুন কোড লেখার চেয়েও গুরুত্বপূর্ণ। এই কনটেক্সচুয়াল আন্ডারস্ট্যান্ডিং বা প্রেক্ষাপট বোঝাটা AI-এর পক্ষে সম্ভব নয়।
ফেজ ২-এ কী করবেন:
ওপেন সোর্স কোড পড়ুন: Express.js (JS), Flask (Python) বা ভালো কোনো লাইব্রেরির সোর্স কোড পড়া শুরু করুন। পুরোটা একবারে নয়, ছোট ছোট মডিউল ধরুন। ভাবুন, অথর কেন এই চয়েসটা নিলেন?
কোড রিভিউ প্র্যাকটিস: নিজের পুরনো কোড রিভিউ করুন। গিটহাবে অন্যদের PR (Pull Request) দেখুন এবং নিজে অপিনিয়ন তৈরি করুন। তারপর AI-কে আপনার কোড রিভিউ করতে বলুন, কিন্তু অন্ধভাবে সাজেশন নেবেন না। নিজেকে প্রশ্ন করুন: “আমি কি একমত? কেন?”
আরও দুটি জটিল প্রজেক্ট:
প্রজেক্ট ৫: রিয়েল-টাইম চ্যাট অ্যাপ। WebSockets, কনকারেন্সি এবং মেসেজ কিউইং শিখুন।
প্রজেক্ট ৬: অথেন্টিকেশন সিস্টেম। রেজিস্ট্রেশন, লগইন, পাসওয়ার্ড হ্যাশিং, JWT—সব নিজে ইমপ্লিমেন্ট করুন। লাইব্রেরির ভেতরের মেকানিজম বুঝুন।
“Review and rewrite” এক্সারসাইজ: ফেজ ১-এর প্রজেক্টগুলো না দেখে পুনরায় লিখুন। দুই ভার্সন মিলিয়ে দেখুন—পার্থক্যটাই আপনার গ্রোথ বা উন্নতি।
ফেজ ৩: AI আপনার পেয়ার প্রোগ্রামার (Pair Programmer)
মূলনীতি: এতদিনে আপনার ফান্ডামেন্টাল সলিড। আপনি কোড লিখতে, পড়তে এবং ডিবাগ করতে জানেন। এখন AI টিচার থেকে কোলাবোরেটরে বা সহকর্মীতে পরিণত হবে—কিন্তু আপনি থাকবেন “সিনিয়র পার্টনার”।
এই ফেজে AI ব্যবহারের নিয়ম:
এখন কোড অটোকমপ্লিশন টুলস (Copilot, Codeium) ব্যবহার করতে পারেন।
“Explain before accept” রুল: কোনো সাজেশন যদি লাইন বাই লাইন ব্যাখ্যা করতে না পারেন, তবে তা রিজেক্ট করুন।
বয়লারপ্লেট কোড (টেস্ট সেটআপ, কনফিগারেশন) জেনারেট করতে পারেন।
কোর লজিক এবং আর্কিটেকচারাল সিদ্ধান্ত এখনো আপনার হাতে থাকবে।
ফেজ ৩-এ কী পরিবর্তন হয়:
এখানেই আপনি সেই প্রোডাক্টিভিটি গেইন বা গতি অনুভব করবেন যা সিনিয়ররা উপভোগ করেন। কারণ আপনি জানেন কখন AI ভুল করছে। আপনি এর আউটপুটকে শেষ কথা নয়, শুরুর পয়েন্ট হিসেবে ব্যবহার করতে পারেন।
ফেজ ৩-এ কী প্রজেক্ট করবেন:
প্রজেক্ট ৭: প্রোডাকশন-লেভেল ফুল-স্ট্যাক অ্যাপ। প্রোজেক্ট ট্র্যাকার বা বুক রিভিউ প্ল্যাটফর্ম টাইপ কিছু বানান। কিন্তু এবার ফোকাস হবে রিয়েল-ওয়ার্ল্ড ফিচারে—এরর হ্যান্ডলিং, ভ্যালিডেশন, ডাটাবেস মাইগ্রেশন, CI/CD পাইপলাইন এবং অটোমেটেড টেস্ট। AI বয়লারপ্লেট দ্রুত লিখতে সাহায্য করবে, কিন্তু লজিক আপনার।
প্রজেক্ট ৮: ওপেন সোর্স কন্ট্রিবিউশন। গিটহাবে “good first issue” খুঁজে বের করুন এবং PR সাবমিট করুন। রিয়েল ওয়ার্ল্ড কোডবেসে কাজ করার এই অভিজ্ঞতা কোনো টিউটোরিয়াল দিতে পারবে না।
ক্রিটিক্যাল প্র্যাকটিস: “অ্যানালগ কোডিং” (Analog Coding):
সপ্তাহে অন্তত এক ঘণ্টা AI ছাড়া কোড করুন। মিউজিশিয়ানরা যেমন স্কেল প্র্যাকটিস করেন, এটাও তাই। ছোট ইউটিলিটি টুল বানান বা অ্যালগরিদম সলভ করুন। উদ্দেশ্য হলো—ব্রেইনের সেই নিউরাল পাথওয়েগুলো সচল রাখা, যা আপনাকে টুল ছাড়াও একজন দক্ষ ইঞ্জিনিয়ার হিসেবে টিকিয়ে রাখে।
পর্ব ৩: যেসব স্কিল AI রিপ্লেস করতে পারবে না
সিনট্যাক্স মনে রাখা বা কোড জেনারেট করা এখন অনেকটাই “Commodity” বা সস্তা পণ্যের মতো হয়ে যাচ্ছে। ভবিষ্যতে আপনার ক্যারিয়ার কেমন হবে, তা নির্ভর করবে সেই সব স্কিলের ওপর—যেগুলোতে AI এখনো কাঁচা অথবা একেবারেই অক্ষম। এই জায়গাগুলোতে নিজেকে ইনভেস্ট করুন:
১. সিস্টেম ডিজাইন এবং আর্কিটেকচারাল থিঙ্কিং (System Design & Architecture)
AI হয়তো ইন্ডিভিজ্যুয়াল কম্পোনেন্টের কোড লিখে দিতে পারে, কিন্তু পুরো সিস্টেম জুড়ে সামঞ্জস্যপূর্ণ আর্কিটেকচারাল সিদ্ধান্ত নেওয়ার ক্ষমতা তার নেই। SQL নাকি NoSQL? Monolith নাকি Microservices? Synchronous নাকি Asynchronous? স্কেলিং প্যাটার্ন কী হবে?
এই ট্রেড-অফ (Trade-offs) বোঝার জন্য যে ধরনের কনটেক্সচুয়াল এবং বহুমাত্রিক চিন্তাভাবনা দরকার, তা আসে অভিজ্ঞতা এবং গভীর পড়াশোনা থেকে।
কীভাবে এই স্কিল তৈরি করবেন: সিস্টেম ডিজাইন কেস স্টাডি পড়ুন। প্রতিদিন যেসব অ্যাপ ব্যবহার করেন (যেমন Facebook, Uber), নিজেকে প্রশ্ন করুন: “এটা আমি নিজে বানালে কীভাবে ডিজাইন করতাম?” ডেটা ফ্লো, ফেইলিওর মোড এবং স্কেলিং বটল-নেক নিয়ে ভাবুন। Netflix, Stripe, Airbnb বা Uber-এর ইঞ্জিনিয়ারিং ব্লগগুলো নিয়মিত পড়ুন। তারা কেন নির্দিষ্ট কিছু আর্কিটেকচারাল সিদ্ধান্ত নিয়েছে, তার বিস্তারিত ব্যাখ্যা সেখানে থাকে—যা এক একটা সোনার খনি।
২. জটিল সিস্টেম ডিবাগিং (Complex Systems Debugging)
ছোটখাটো বাগে AI সাহায্য করতে পারে। কিন্তু রাত ৩টায় যখন প্রোডাকশন সিস্টেম ফেইল করবে, মাল্টিপল সার্ভিস জুড়ে এরর ক্যাসকেড করতে থাকবে—তখন AI আপনাকে বাঁচাতে আসবে না। তখন দরকার ঠান্ডা মাথায় হাইপোথিসিস তৈরি করা, সিস্টেমের ইন্টারেকশন নিয়ে লজিক্যালি চিন্তা করা, লগ (Logs) ঠিকমতো পড়তে পারা এবং ধাপে ধাপে রুট-কজ (Root cause) বের করার ক্ষমতা। এটা পুরোপুরি অভিজ্ঞতালব্ধ একটা স্কিল।
কীভাবে এই স্কিল তৈরি করবেন: যখনই কোনো বাগের মুখোমুখি হবেন, সাথে সাথে AI-কে জিজ্ঞেস করার লোভ সামলান। অন্তত ২০ মিনিট নিজে সমস্যাটা নিয়ে ভাবুন। একটা হাইপোথিসিস দাঁড় করান। টেস্ট করুন। ভুল হলে আবার নতুন করে ভাবুন। এই “ইচ্ছাকৃত ডিবাগিং” (Deliberate Debugging) প্র্যাকটিস আপনার মস্তিষ্কে এমন সব মেন্টাল মডেল তৈরি করবে, যা ক্রাইসিস মোমেন্টে আপনার প্রধান হাতিয়ার হবে।
৩. কমিউনিকেশন এবং কোলাবোরেশন
সফটওয়্যার ইঞ্জিনিয়ারিং একটা “Team Sport”। নন-টেকনিক্যাল স্টেকহোল্ডারদের কাছে জটিল টেকনিক্যাল বিষয় সহজ করে বোঝানো, পরিষ্কার ডকুমেন্টেশন লেখা, কোড রিভিউতে গঠনমূলক আলোচনা করা এবং আর্কিটেকচারাল ডিসিশনের পক্ষে যুক্তি তুলে ধরা—ক্যারিয়ার গ্রোথের জন্য এগুলো কোডিংয়ের চেয়েও বেশি জরুরি। AI হয়তো একটা ইমেইল ড্রাফট করে দিতে পারে, কিন্তু মানুষের সাইকোলজি বোঝা, ঐকমত্য (Consensus) তৈরি করা এবং ডিসিশন ইনফ্লুয়েন্স করা—এগুলো একান্তই মানুষের কাজ।
কীভাবে এই স্কিল তৈরি করবেন: লিখুন। আপনি যা শিখছেন তা নিয়ে ব্লগ পোস্ট লিখুন। প্রজেক্টের ডকুমেন্টেশন লিখুন। আপনার টেকনিক্যাল জগতের বাইরের বন্ধু বা পরিবারের কাউকে জটিল কোনো কনসেপ্ট বোঝানোর চেষ্টা করুন। যদি কোনো কিছু বোঝাতে দুই বাক্যের বেশি লাগে, তার মানে আপনি নিজেও সেটা সম্ভবত খুব ভালো বোঝেননি।
৪. কোডের পেছনের “কেন” বোঝা (Understanding the “Why”)
AI আপনাকে এমন কোড দিতে পারে যা কাজ করে। কিন্তু কেন একটি নির্দিষ্ট অ্যাপ্রোচ অন্যগুলোর চেয়ে ভালো—কেন এই ডেটা স্ট্রাকচার, কেন এই প্যাটার্ন, কেন এই ট্রেড-অফ—সেটা বোঝার জন্য যে কনসেপচুয়াল গভীরতা দরকার, তা কোনো AI দিতে পারবে না। ইন্টারভিউতে এটাই টেস্ট করা হয়, কোড রিভিউতে এটাই দেখা হয়, আর এটাই একজন “সিনিয়র ইঞ্জিনিয়ার”কে একজন সাধারণ “কোড প্রডিউসার” থেকে আলাদা করে।
কীভাবে এই স্কিল তৈরি করবেন: আপনার প্রজেক্টের প্রতিটি বড় সিদ্ধান্তের জন্য ডকুমেন্ট করুন—আপনি আর কী কী বিকল্প ভেবেছিলেন এবং কেন বর্তমান অ্যাপ্রোচটি বেছে নিলেন। অন্যের কোড পড়ার সময় সবসময় নিজেকে “কী” (What)-এর বদলে “কেন” (Why) প্রশ্ন করুন।
৫. ডোমেইন নলেজ এবং বিজনেস আন্ডারস্ট্যান্ডিং
সবচেয়ে দামী ইঞ্জিনিয়ার তারা নন যারা সবচেয়ে বেশি কোড লেখেন; বরং তারা—যারা বিজনেস প্রবলেমটা এত গভীরভাবে বোঝেন যে ঠিক কোন জিনিসটা বানাতে হবে তা জানেন। AI খুব দ্রুত কোড লিখতে পারে, কিন্তু সে প্রডাক্ট মিটিংয়ে বসে কমার্শিয়াল প্রেশার বুঝতে পারে না, বা ফিচারের আড়ালে ইউজারদের আসল চাহিদা কী তা ধরতে পারে না। ব্যবসায়িক সমস্যাকে টেকনিক্যাল সল্যুশনে রূপান্তর করার ক্ষমতা শুধু আপনারই আছে।
কীভাবে এই স্কিল তৈরি করবেন: আপনি যে প্রডাক্ট বা ডোমেইনে কাজ করছেন, তার বিজনেস সাইড নিয়ে কৌতূহলী হোন। প্রডাক্ট ম্যানেজারদের জিজ্ঞেস করুন, কেন এই ফিচারটা গুরুত্বপূর্ণ? বুঝুন আপনার কোম্পানি কীভাবে টাকা আয় করে। আপনার নেওয়া টেকনিক্যাল সিদ্ধান্তগুলো কীভাবে দিনশেষে ইউজারদের বা ব্যবসাকে প্রভাবিত করছে, তা নিয়ে ভাবুন। এই “Cross-functional awareness” আপনাকে ভিড়ের মধ্যে আলাদা করে তুলবে।
পর্ব ৪: AI-কে আপনার পার্সোনাল টিচার হিসেবে ব্যবহার করুন
আমি আগেই বলেছিলাম, আমি বিশ্বাস করি মডার্ন AI ট্র্যাডিশনাল ইনস্টিটিউশন বা কোচিং সেন্টারের অনেক কিছুরই বিকল্প হতে পারে। এটি আপনাকে গাইডেড, পার্সোনালাইজড লার্নিং দিতে পারে—এবং সেটা আপনার নিজের সময়ের শিডিউল অনুযায়ী। তবে এর সুফল পেতে হলে আপনাকে জানতে হবে কীভাবে এটাকে এফেক্টিভলি ব্যবহার করতে হয়।
এখানে কিছু পরীক্ষিত টেকনিক দেওয়া হলো:
১. AI-এর সাথে সক্রেটিক মেথড (Socratic Method)
AI দিয়ে শেখার সবচেয়ে শক্তিশালী উপায় হলো এটাকে একজন “Socratic Tutor” হিসেবে ট্রিট করা। সক্রেটিস যেমন শিষ্যদের সরাসরি উত্তর না দিয়ে পাল্টা প্রশ্ন করে সত্য বের করে আনতেন, এখানেও তাই করবেন। আপনি আপনার প্রম্পটে এটা এক্সপ্লিসিটলি সেট করে দিতে পারেন।
আপনার AI টিচার সেটআপ করবেন যেভাবে:
যেকোনো লার্নিং সেশন শুরু করুন এই প্রম্পট দিয়ে:
“আমি
TopicName
শিখছি। আমি চাই তুমি আমাকে সক্রেটিক মেথডে শেখাও। আমাকে সরাসরি কোনো উত্তর বা কোড দেবে না। বরং আমাকে এমন সব গাইডিং প্রশ্ন (guiding questions) করো, যা আমাকে উত্তরটা নিজেকেই খুঁজে বের করতে সাহায্য করবে। আমি ভুল করলে এমন প্রশ্ন করো যাতে আমি বুঝি কেন সেটা ভুল। আমি উত্তরের কাছাকাছি থাকলে আমাকে এনকারেজ করো, কিন্তু কখনোই পুরো উত্তরটা বলে দেবে না।”
এই একটা টেকনিক AI-কে আপনার “পঙ্গুর লাঠি” (crutch) থেকে “কোচ”-এ (coach) রূপান্তর করবে। রিসার্চে দেখা গেছে, যেসব AI টিউটর সরাসরি উত্তর না দিয়ে রিকল (recall) বা প্রবলেম সলভিংয়ে বাধ্য করে, সেখানে শেখার হার সরাসরি উত্তর পাওয়া শিক্ষার্থীদের চেয়ে প্রায় দ্বিগুণ।
২. “আমাকে ৫ বছরের বাচ্চার মতো বোঝাও, তারপর প্রফেশনালের মতো”
নতুন কোনো কনসেপ্ট শেখার সময় মাল্টিপল লেভেলের এক্সপ্লানেশন চান।
প্রথমে বলুন:
“Database Indexing আমাকে এমনভাবে বোঝাও যেন আমি প্রোগ্রামিং জগতে একদম নতুন (ELI5)।”
বেসিকটা বোঝার পর বলুন:
“এখন এই ডাটাবেস ইনডেক্সিং বিষয়টা টেকনিক্যাল ডেপথ দিয়ে বোঝাও—B-tree স্ট্রাকচার, কুয়েরি প্ল্যানার কীভাবে ইনডেক্স ব্যবহার করে এবং ইনডেক্স মেইনটেইনেন্স কস্টের ট্রেড-অফগুলো আলোচনা করো।”
এই “Progressive Deepening” বা ধীরে ধীরে গভীরে যাওয়ার পদ্ধতিটি আমাদের ব্রেইনের শেখার ন্যাচারাল প্রক্রিয়ার (ইনটিউশন থেকে টেকনিক্যাল প্রিসিশন) সাথে হুবহু মিলে যায়।
৩. “আমার কোড ভাঙো” (Break My Code) টেকনিক
কোড লেখার পর AI-কে বলুন তাতে সমস্যা খুঁজে বের করতে—কিন্তু ফিক্স করতে বলবেন না।
প্রম্পট:
“এই ফাংশনটা আমি
উদ্দেশ্যউদ্দেশ্য
এর জন্য লিখেছি। এতে কী ভুল আছে বা কী ইম্প্রুভ করা যায় বলো, কিন্তু কারেক্টেড কোড দেবে না। শুধু ইস্যুগুলো ডেসক্রাইব করো এবং ফিক্স করার ডিরেকশন বা হিন্ট দাও।”
তারপর হিন্ট দেখে নিজে ফিক্স করুন। এটা আপনার ডিবাগিং স্কিল তৈরি করবে এবং প্রফেশনাল লাইফে সিনিয়র ডেভেলপাররা যেভাবে কোড রিভিউ করেন, তার প্র্যাকটিস হয়ে যাবে।
৪. “যদি এটা হতো, তাহলে কী হতো?” (Hypothetical Scenarios)
AI-কে দিয়ে বিভিন্ন কনসিকোয়েন্স বা পরিণতি এক্সপ্লোর করুন।
প্রম্পট:
“আমি ইউজার পাসওয়ার্ড প্লেইন টেক্সটে ডাটাবেসে স্টোর করছি। এতে কী ভুল হতে পারে? স্টেপ বাই স্টেপ একটা রিয়েলিস্টিক অ্যাটাক সিনারিও (Attack Scenario) দেখাও।”
অথবা:
“আমার অ্যাপলিকেশন কানেকশন পুল (Connection Pool) ব্যবহার না করে প্রতিটা রিকোয়েস্টে নতুন ডাটাবেস কানেকশন তৈরি করছে। যখন ১০,০০০ কনকারেন্ট ইউজার হিট করবে, তখন কী হবে?”
এই ধরনের হাইপোথিসিস নিয়ে খেলা করলে আপনার মধ্যে “সিস্টেম থিঙ্কিং” তৈরি হবে। বছরের পর বছর প্রোডাকশন এক্সপেরিয়েন্স ছাড়া এই নলেজ অর্জন করা কঠিন, কিন্তু AI দিয়ে আপনি সহজেই এই সিনারিরোগুলো সিমুলেট করতে পারেন।
৫. তুলনা এবং পার্থক্য (Compare and Contrast)
দুটো অ্যাপ্রোচের মধ্যে চয়েস করার সময় AI-কে বলবেন না কোনটা বেটার। বলুন ট্রেড-অফগুলো সাজিয়ে দিতে।
প্রম্পট:
“আমি আমার সোশ্যাল মিডিয়া অ্যাপের জন্য PostgreSQL আর MongoDB-র মধ্যে ডিসাইড করতে পারছি না। আমাকে বলো না কোনটা চয়েস করব—বরং আমার এই ইউজ কেসের জন্য স্পেসিফিক ট্রেড-অফগুলো বলো। কোন ধরনের কুয়েরি কোনটায় সহজ হবে? কোথায় কোনটা স্ট্রাগল করবে?”
তারপর নিজে সিদ্ধান্ত নিন এবং কেন নিলেন তা ডকুমেন্ট করুন। এটাই ডিসিশন মেকিং অ্যাবিলিটি, যা দিনশেষে ইঞ্জিনিয়ারিং লিডারশিপের মূল ভিত্তি।
৬. AI দিয়ে কারিকুলাম তৈরি করা
AI-এর অন্যতম সেরা ব্যবহার হলো নিজের জন্য একটা স্ট্রাকচারড লার্নিং পাথ বা সিলেবাস তৈরি করা।
প্রম্পট:
“আমি আগামী ৬ মাসে ব্যাকএন্ড ডেভেলপমেন্ট শিখতে চাই। আমি বেসিক জাভাস্ক্রিপ্ট জানি এবং একটা সিম্পল ওয়েবসাইট বানিয়েছি। আমার জন্য একটা সপ্তাহ-ভিত্তিক (week-by-week) কারিকুলাম তৈরি করো যা প্রগ্রেসিভলি কঠিন হবে। প্রতিটা স্টেজে স্পেসিফিক টপিক, সাজেস্টেড প্রজেক্ট এবং আমি শিখতে পারছি কি না তা যাচাই করার মাইলস্টোন থাকতে হবে।”
তারপর সেই কারিকুলাম ফলো করুন, কিন্তু আসল কোডিংটা নিজে করুন। AI-কে এখানে সিলেবাস ডিজাইনার এবং কনসেপ্ট এক্সপ্লেইনার হিসেবে ব্যবহার করুন, কোডার হিসেবে নয়।
পর্ব ৫: সেলফ-অ্যাসেসমেন্ট ফ্রেমওয়ার্ক
আপনি আসলে দক্ষতা অর্জন করছেন, নাকি শুধু AI-এর আউটপুট ডেলিভারি বয় হিসেবে কাজ করছেন—এটা বুঝবেন কীভাবে? এই চেকপয়েন্টগুলো নিয়মিত ব্যবহার করুন। নিজের কাছে শতভাগ সৎ থাকুন; কারণ ফাঁকি দিলে দিনশেষে ক্ষতিটা আপনারই।
ফান্ডামেন্টাল স্কিলস চেক (প্রতি মাসে একবার)
১. আপনি কি AI ছাড়া বেসিক ফাংশন লিখতে পারেন?
কোনো AI টুল বা অটোকমপ্লিশন ছাড়া একটা ফাঁকা ফাইল (blank file) খুলুন। এমন একটা ফাংশন লিখুন যেটা অবজেক্টের একটা অ্যারে ইনপুট নেয় এবং সেটাকে ফিল্টার, সর্ট এবং ট্রান্সফর্ম করে রিটার্ন করে। যদি এটা স্বাচ্ছন্দ্যে (fluently) করতে না পারেন, বুঝবেন আপনার ফাউন্ডেশনে বা ভিত্তিতে এখনো অনেক কাজ বাকি।
২. আপনি কি AI ছাড়া ডিবাগ করতে পারেন?
যখন এরর আসে, আপনি কি এরর মেসেজ পড়ে হাইপোথিসিস তৈরি করতে পারেন? কোড ট্রেস করে সমস্যা খুঁজে বের করতে পারেন? নাকি এরর দেখার সাথে সাথেই আপনার প্রথম ঝোঁক বা রিফ্লেক্স হলো সেটা কপি করে AI-এর চ্যাটবক্সে পেস্ট করা?
যদি দ্বিতীয়টা হয়, তবে “২০-মিনিট রুল” প্র্যাকটিস শুরু করুন: AI-এর সাহায্য চাওয়ার আগে অন্তত ২০ মিনিট ম্যানুয়ালি ডিবাগ করুন।
৩. আপনি কি আপনার কোড ব্যাখ্যা করতে পারেন?
আপনার বানানো যেকোনো একটা প্রজেক্টের যেকোনো একটা র্যান্ডম ফাইল ওপেন করুন। প্রতিটা ফাংশন কী কাজ করে, কেন স্ট্রাকচারটা এমন সাজানো হয়েছে এবং এর বিকল্প কী কী হতে পারত—এসব কি আপনি ব্যাখ্যা করতে পারেন? যদি কোনো অংশ ব্যাখ্যা করতে আটকে যান, তবে বুঝবেন সেখানে আপনার “বোঝার ঘাটতি” (understanding gap) আছে।
৪. আপনি কি AI ছাড়া কোডিং ইন্টারভিউ পাস করতে পারবেন?
এটাই হলো আল্টিমেট টেস্ট। একটা মিডিয়াম-ডিফিকাল্টি প্রবলেম হোয়াইটবোর্ডে বা প্লেইন টেক্সট এডিটরে (কোনো অটোসাজেশন ছাড়া) সলভ করতে পারবেন? যদি না পারেন, তাহলে আপনি জানেন আপনার ঠিক কোথায় ফোকাস করা উচিত।
ডিপেন্ডেন্সি চেক (প্রতি সপ্তাহে একবার)
এক সপ্তাহ ধরে আপনার AI ব্যবহারের প্যাটার্ন ট্র্যাক করুন। প্রতিটি কোডিং টাস্কের জন্য নিজেকে স্কোর দিন:
৩ পয়েন্ট: আপনি পুরো কোড নিজে লিখেছেন।
২ পয়েন্ট: AI-কে কনসেপ্ট বা লজিক বোঝাতে বলেছেন, তারপর কোড নিজে লিখেছেন।
১ পয়েন্ট: AI-কে কোড জেনারেট করতে বলেছেন, তারপর সেটা মডিফাই বা ইম্প্রুভ করেছেন।
০ পয়েন্ট: AI-কে কোড জেনারেট করতে বলেছেন এবং প্রায় হুবহু সেটাই ব্যবহার করেছেন।
যদি আপনার সাপ্তাহিক গড় স্কোর ২-এর নিচে থাকে, তবে আপনি বিপদসীমার দিকে বা “পরনির্ভরশীলতার” দিকে ঝুঁকছেন। ম্যানুয়াল কোডিং মোডে বেশি সময় দিয়ে এটা ব্যালেন্স করুন।
গ্রোথ চেক (প্রতি তিন মাসে একবার)
নিজেকে তিন মাস আগের নিজের সাথে তুলনা করুন।
আপনি কি আগের চেয়ে জটিল জিনিস বানাতে পারছেন?
আগে যেসব কনসেপ্ট আপনাকে কনফিউজড করত, সেগুলো কি এখন পরিষ্কার?
আপনি কি AI-কে আগের চেয়ে ভিন্ন এবং আরও বুদ্ধিদীপ্ত (sophisticated) প্রশ্ন করছেন?
আপনি কি AI-এর সাজেশনগুলো আরও ক্রিটিক্যালি যাচাই করতে পারছেন?
যদি স্পেসিফিক কোনো উন্নতির জায়গা দেখাতে না পারেন, তবে কিছু একটা বদলানো দরকার। হয়তো আপনি নিজেকে যথেষ্ট চ্যালেঞ্জ করছেন না, অথবা আপনি AI-কে আপনার হয়ে “গ্রো” করতে দিচ্ছেন।
AI ডিপেন্ডেন্সির রেড ফ্ল্যাগস (Red Flags)
নিচের লক্ষণগুলো বা ওয়ার্নিং সাইনগুলো খেয়াল করুন:
AI টুলস হাতের কাছে না থাকলে বা সার্ভার ডাউন থাকলে আপনি অস্থির (anxious) বোধ করেন।
AI-কে দিয়ে স্ট্রাকচার তৈরি না করিয়ে আপনি নতুন কোনো ফাইল শুরু করতে পারেন না।
AI-এর সাজেশন ভালো করে না পড়েই অ্যাক্সেপ্ট করে ফেলেন।
নিজের কোডবেস সম্পর্কে আপনার ধারণা ভাসা-ভাসা (shallow)।
অন্যদের কাছে নিজের নেওয়া টেকনিক্যাল ডিসিশন ব্যাখ্যা করতে হিমশিম খান।
“কঠিন” কাজগুলো এড়িয়ে গিয়ে সেগুলোর এমন ভার্সন খোঁজেন যা AI দিয়ে সলভ করা সম্ভব।
যেকোনো এরর ফিক্স করার স্ট্র্যাটেজি একটাই—”AI-কে জিজ্ঞেস করো”; নিজে ভাবার কোনো চেষ্টাই করেন না।
যদি এগুলোর মধ্যে তিনটি বা তার বেশি লক্ষণ নিজের মধ্যে দেখতে পান, তবে সচেতনভাবে একটু পিছিয়ে আসুন। নিজেকে ডিটক্স করুন। পুরো এক মাস AI কোড জেনারেশন ছাড়া কোডিং করুন (ফেজ ১-এর নিয়ম মেনে)।
কাজটা অনেক ধীরগতির মনে হবে। মনে হবে আপনি স্লো হয়ে গেছেন। কিন্তু বিশ্বাস করুন—এই স্লোিনেস বা ধীরগতিটাই আসলে শেখার অংশ।
পর্ব ৬: কোডের বাইরে—একজন কমপ্লিট সফটওয়্যার ইঞ্জিনিয়ার
একজন সফটওয়্যার ইঞ্জিনিয়ার সারাদিন যা করেন, কোড লেখা তার বড়জোর ৩০ শতাংশ। বাকি ৭০ শতাংশ কাজ—এবং যে অংশটা আসলে আপনার ক্যারিয়ার গ্রাফ ঠিক করে দেয়—তা হলো এমন কিছু স্কিল, যা লেটেস্ট ফ্রেমওয়ার্ক শেখার দৌড়ে আমরা প্রায়ই অবহেলা করি।
১. ভার্সন কন্ট্রোল মাস্টারি (Version Control Mastery)
Git-কে গভীরভাবে বুঝুন। শুধু add, commit, আর push-এর মধ্যে সীমাবদ্ধ থাকবেন না। ব্রাঞ্চিং স্ট্র্যাটেজি, rebase বনাম merge-এর পার্থক্য, কনফ্লিক্ট রিজল্যুশন, ইন্টারেক্টিভ রিবেস, এবং বাগ খোঁজার জন্য git bisect-এর ব্যবহার শিখুন। ভালো কমিট মেসেজ কীভাবে লিখতে হয়, তা জানুন।
এগুলো প্রতিদিনের প্রফেশনাল স্কিল। এখানে AI আপনার বিকল্প হতে পারে না, কারণ সঠিক গিট কমান্ড চালানোর জন্য আপনার টিমের ওয়ার্কফ্লো এবং প্রজেক্টের পুরো ইতিহাস (Project History) সম্পর্কে ধারণা থাকা জরুরি।
২. টেস্টিং ফিলোসফি (Testing Philosophy)
শুধু টেস্ট “কীভাবে” লিখতে হয় তা শিখবেন না; শিখুন “কী” টেস্ট করবেন এবং “কেন” করবেন। টেস্টিং পিরামিড সম্পর্কে জানুন: প্রচুর ইউনিট টেস্ট, মাঝারি পরিমাণের ইন্টিগ্রেশন টেস্ট, আর খুব সামান্য এন্ড-টু-এন্ড টেস্ট।
TDD (Test-Driven Development)-কে কোনো ধর্মীয় গোঁড়ামি হিসেবে নেবেন না, এটাকে একটা “চিন্তার হাতিয়ার” হিসেবে ব্যবহার করুন। কোড লেখার আগে টেস্ট লেখা আপনাকে ইমপ্লিমেন্টেশনের আগেই ইন্টারফেস এবং কন্ট্রাক্ট নিয়ে ভাবতে বাধ্য করে—যা আসলে অত্যন্ত শক্তিশালী একটা ডিজাইন টেকনিক।
৩. ডেভঅপস এবং ডেপ্লয়মেন্ট সচেতনতা
আপনার পুরোদস্তুর ডেভঅপস ইঞ্জিনিয়ার হওয়ার দরকার নেই, কিন্তু আপনার ল্যাপটপ থেকে কোডটা কীভাবে প্রোডাকশন সার্ভার পর্যন্ত যায়—সেই রাস্তাটা আপনার চিনতে হবে।
CI/CD পাইপলাইন, কন্টেইনারাইজেশন (Docker), এনভায়রনমেন্ট ম্যানেজমেন্ট, লগিং, মনিটরিং এবং বেসিক ক্লাউড সার্ভিস সম্পর্কে জানুন। প্রোডাকশনে যখন কোনো বিপর্যয় ঘটে, তখন এই নলেজটাই আপনাকে “অসহায় হয়ে বসে থাকা” আর “কনফিডেন্সের সাথে ট্রাবলশুট করা”-র মধ্যে পার্থক্য গড়ে দেয়।
৪. প্রফেশনাল কমিউনিকেশন
পরিষ্কার টেকনিক্যাল ডকুমেন্ট লিখতে শিখুন: RFCs (Request for Comments), ADRs (Architecture Decision Records), ইনসিডেন্ট রিপোর্ট এবং প্রজেক্ট প্রোপোজাল। গঠনমূলকভাবে (Constructively) কোড রিভিউ দিতে এবং নিতে শিখুন।
কাজের এস্টিমেট বা সময়সীমা নির্ধারণ করতে শিখুন এবং সততার সাথে কমিউনিকেট করুন। বিশেষ করে যখন কোনো কাজ আপনার ধারণার চেয়ে বেশি সময় নিচ্ছে, তখন সেটা আগে থেকেই জানানোটা পেশাদারিত্বের লক্ষণ।
৫. কন্টিনিউয়াস লার্নিং বা শেখার অভ্যাস
প্রযুক্তি অবিশ্বাস্য দ্রুত বদলায়। আজ আপনি যে ফ্রেমওয়ার্ক বা টুল শিখছেন, কাল হয়তো সেটা হারিয়ে যাবে বা বদলে যাবে। যেটা বদলাবে না, তা হলো আপনার “эфফেক্টিভলি শেখার ক্ষমতা”। একটা টেকসই শেখার অভ্যাস গড়ে তুলুন:
প্রতিদিন: অন্তত একটা ভালো টেকনিক্যাল আর্টিকেল বা ব্লগ পোস্ট পড়ুন।
প্রতি তিন মাসে (Quarterly): একটা নতুন অনলাইন কোর্স বা টিউটোরিয়াল সিরিজ শেষ করুন।
নেটওয়ার্কিং: নিয়মিত মিটআপ বা কনফারেন্সে যোগ দিন (ভার্চুয়ালি হলেও)।
লেখালেখি: আপনি যা শিখছেন তা নিয়ে ব্লগ লিখুন। লেখালেখি আপনার অস্পষ্ট ধারণাকে স্বচ্ছ (crystallise) করতে বাধ্য করে।
সাইড প্রজেক্ট: এমন কিছু সাইড প্রজেক্ট করুন যা আপনাকে আপনার কমফোর্ট জোনের বাইরে ঠেলে দেয়।
পর্ব ৭: AI যুগে আপনার ক্যারিয়ার স্ট্র্যাটেজি
হায়ার করার ধরণ বদলে গেছে (The Hiring Landscape has Changed)
কোম্পানিগুলো এখন ডেভেলপারদের মূল্যায়ন করার পদ্ধতি পুরোপুরি ঢেলে সাজাচ্ছে। ট্রেন্ড এখন একই সাথে দুটি ভিন্ন দিকে যাচ্ছে:
AI-এনাবলড ইন্টারভিউ: Meta বা Canva-র মতো কোম্পানিগুলো এখন ক্যান্ডিডেটদের ইন্টারভিউতে AI ব্যবহার করতে দিচ্ছে। কিন্তু মনে রাখবেন, তারা আপনার “প্রম্পট দেওয়ার দক্ষতা” দেখছে না। তারা দেখছে আপনি সঠিক টেকনিক্যাল সিদ্ধান্ত নিতে পারছেন কি না এবং AI যা আউটপুট দিচ্ছে তা আপনি নিজে বুঝতে এবং যাচাই করতে পারছেন কি না।
গভীর টেকনিক্যাল মূল্যায়ন: ইন্টারভিউয়াররা এখন ফান্ডামেন্টালস এবং আর্কিটেকচারাল রিজনিং নিয়ে অনেক বেশি কঠিন প্রশ্ন করছে। যেহেতু AI দিয়ে দক্ষতা “ফেক” বা নকল করা সহজ হয়ে গেছে, তাই “আসল জ্ঞান” (Genuine Understanding)-এর মাপকাঠি বা Bar এখন অনেক উঁচুতে।
এর মানে আপনার জন্য কী?
আপনার প্রজেক্ট, গিটহাব কন্ট্রিবিউশন এবং নিজের কাজ ব্যাখ্যা করার ক্ষমতা এখন আগের চেয়ে অনেক বেশি গুরুত্বপূর্ণ। আপনি নিজে প্রতিটি লাইন বোঝেন এমন ছোট একটি প্রজেক্টের পোর্টফোলিও—AI দিয়ে বানানো বিশাল কিন্তু ব্যাখ্যা করতে না পারা পোর্টফোলিওকে সবসময় হারিয়ে দেবে।
নিজেকে একজন “স্মার্ট AI ইউজার” হিসেবে পজিশন করুন
সবচেয়ে চাহিদাসম্পন্ন ডেভেলপার তারা নয় যারা AI এড়িয়ে চলে, আবার তারাও নয় যারা সব কাজ AI-কে দিয়ে করায়। বরং তারাই সেরা, যারা কৌশলগতভাবে (Strategically) AI ব্যবহার করে—যারা জানে কখন মেশিনের ওপর ভরসা করতে হয় আর কখন নিজের মাথা খাটাতে হয়। এই রোডম্যাপের মাধ্যমে আপনি আসলে নিজেকে সেই জায়গাতেই নিয়ে যাচ্ছেন।
আপনার রেজুমে, লিংকডইন প্রোফাইল বা ইন্টারভিউতে AI ব্যবহারের কথা লুকাবেন না। বরং দেখান যে আপনি কতটা বুদ্ধিমত্তার সাথে এটি ব্যবহার করেছেন:
“আমি AI ব্যবহার করে তিনটি আর্কিটেকচারাল অ্যাপ্রোচ এক্সপ্লোর করেছি, ট্রেড-অফগুলো বিচার করেছি এবং শেষ পর্যন্ত Y কারণে X-কে বেছে নিয়েছি।”
এই কথাটি আপনার পরিপক্বতা (Maturity) এবং বিচারক্ষমতা (Judgment) প্রকাশ করে—যা প্রতিটি নিয়োগকারীই খোঁজে।
T-shaped স্কিল তৈরিতে বিনিয়োগ করুন
“T-shape” কনসেপ্টের মানে হলো সফটওয়্যার ইঞ্জিনিয়ারিং জুড়ে আপনার মোটামুটি জ্ঞান থাকবে (Horizontal bar), আর এক-দুটো নির্দিষ্ট বিষয়ে থাকবে গভীর দক্ষতা (Vertical bar)। AI-এর কারণে সাধারণ জ্ঞান বা ব্রড নলেজ পাওয়া এখন খুব সহজ, তাই গভীর দক্ষতা বা “Deep Expertise”-এর মূল্য এখন আকাশছোঁয়া।
আপনার “ভার্টিক্যাল” বা বিশেষজ্ঞ হওয়ার জায়গাটি বেছে নিন: হতে পারে ডাটাবেস পারফরম্যান্স, ডিস্ট্রিবিউটেড সিস্টেমস, ফ্রন্টএন্ড অ্যাক্সেসিবিলিটি বা সিকিউরিটি। যেটাই হোক, এতটাই গভীরে যান যেন আপনি সেই বিষয়ে অন্যদের শেখাতে পারেন এবং AI-এর সাহায্য ছাড়াই সিদ্ধান্ত নিতে পারেন। এই গভীরতাই হবে আপনার প্রফেশনাল আইডেন্টিটি এবং আপনার “অপরিবর্তনীয় মূল্য” (Irreplaceable Value)।
প্রকাশ্যে তৈরি করুন (Build in Public)
ক্যারিয়ারের শুরুতে সবচেয়ে শক্তিশালী স্ট্র্যাটেজিগুলোর একটি হলো “Publicly Build” করা। আপনার শেখার জার্নি শেয়ার করুন। কোথায় আটকে যাচ্ছেন, কোথায় স্ট্রাগল করছেন—তা নিয়ে লিখুন। প্রজেক্ট ডকুমেন্ট করুন। এটা একসাথে অনেকগুলো কাজ করে:
আপনার শেখা এবং বোঝার একটা বিশ্বাসযোগ্য পাবলিক রেকর্ড তৈরি হয়।
আপনার প্রফেশনাল নেটওয়ার্ক গড়ে ওঠে।
অন্যকে বোঝাতে গিয়ে আপনি নিজে বিষয়টা আরও গভীরভাবে বুঝতে বাধ্য হন।
AI-জেনারেটেড পোর্টফোলিও যা পারে না, সেই “আসল দক্ষতা” প্রদর্শন করে।
মেন্টর, কোলাবোরেটর এবং শেষমেশ নিয়োগকারীদের আকৃষ্ট করে।
পর্ব ৮: প্র্যাকটিক্যাল প্লে-বুক—দৈনিক এবং সাপ্তাহিক অভ্যাস
ওপরের তাত্ত্বিক আলোচনাকে চলুন কিছু সুনির্দিষ্ট এবং পালনযোগ্য অভ্যাসে (actionable habits) নামিয়ে আনি, যা আপনি আজ থেকেই শুরু করতে পারেন।
দৈনিক অভ্যাস (ব্যস্ত দিনে ৩০–৬০ মিনিট, শেখার দিনে ২–৩ ঘণ্টা)
১. কোড লিখুন: প্রতিদিন, অন্তত ৩০ মিনিটের জন্য হলেও। মনে রাখবেন, একদিনের হাড়ভাঙা খাটুনির চেয়ে নিয়মিত অল্প কাজ অনেক বেশি কার্যকর (Consistency beats intensity)।
ফেজ ১–২ তে থাকলে: কোনো AI ছাড়া কোড লিখুন।
পরের ফেজগুলোতে থাকলে: AI-এর সাথে কোড করুন, কিন্তু সেই “এক্সেপ্ট করার আগে ব্যাখ্যা করা” (explain before accept) নিয়ম মেনে চলুন।
২. কোড পড়ুন: অন্তত ১৫ মিনিট অন্য কারো কোড পড়ুন। হতে পারে ওপেন সোর্স প্রজেক্ট, আপনার টিমের কোডবেস, কিংবা এমন কোনো টিউটোরিয়াল যা আগে দেখেননি। কোড লেখাও যেমন স্কিল, কোড পড়াও তেমন একটা স্কিল—যা প্র্যাকটিসে ধারালো হয়।
৩. সহজ ভাষায় লিখুন: একটা “লার্নিং জার্নাল” রাখুন। মাত্র তিনটি বাক্যই যথেষ্ট:
আজ কী শিখলাম?
কোন জিনিসটা আমাকে কনফিউজড করেছে?
কাল কী এক্সপ্লোর করতে চাই?
এই ছোট্ট দৈনিক রিফ্লেকশন আপনার শেখার গতি অবিশ্বাস্যভাবে বাড়িয়ে দেবে।
সাপ্তাহিক অভ্যাস
১. একটি “অ্যানালগ কোডিং” সেশন (ফেজ ৩+): সপ্তাহে অন্তত এক ঘণ্টা কোনো AI অ্যাসিস্টেন্স ছাড়া কোড করুন। অ্যালগরিদম প্রবলেম সলভ করুন, ছোট কোনো ইউটিলিটি টুল বানান, অথবা পুরনো কোড রিফ্যাক্টর করুন।
২. একটি কোড রিভিউ: গিটহাবে কোনো ওপেন সোর্স প্রজেক্ট বা আপনার নিজেরই পুরনো কোড ফ্রেশ চোখে রিভিউ করুন। স্পেসিফিক এবং গঠনমূলক (constructive) ফিডব্যাক দেওয়ার প্র্যাকটিস করুন।
৩. একটি কনসেপ্ট ডিপ-ডাইভ (Deep-dive): সপ্তাহে সামনে আসা যেকোনো একটা কঠিন কনসেপ্ট বেছে নিন এবং সেটা নিয়ে গভীরভাবে ঘাঁটাঘাঁটি করুন। বোঝার গভীরতা বাড়াতে AI-কে সক্রেটিক টিচার হিসেবে ব্যবহার করুন। যা শিখলেন, তা ডকুমেন্ট করে রাখুন।
মাসিক অভ্যাস
১. সেলফ-অ্যাসেসমেন্ট: পর্ব ৫-এ দেওয়া “ফান্ডামেন্টাল স্কিলস চেক” এবং “ডিপেন্ডেন্সি চেক”গুলো নিজের ওপর প্রয়োগ করুন।
২. প্রজেক্ট মাইলস্টোন: আপনার বর্তমান প্রজেক্টের একটা অর্থপূর্ণ মাইলস্টোন শেষ করুন। সেটা যত ছোটই হোক না কেন, কিছু একটা “শিপ” (Ship) করুন।
৩. কমিউনিটি কন্ট্রিবিউশন: কোনো ফোরামে প্রশ্নের উত্তর দিন, একটা ব্লগ পোস্ট লিখুন, অথবা আপনার জুনিয়র কাউকে সাহায্য করুন। কাউকে শেখানোই হলো শেখার সবচেয়ে শক্তিশালী উপায়।
ত্রৈমাসিক (Quarterly) অভ্যাস
১. গ্রোথ রিভিউ: পর্ব ৫-এর প্রশ্নগুলো দিয়ে তিন মাস আগের নিজের সাথে বর্তমানের তুলনা করুন। কোথায় গ্যাপ আছে তা বের করে আগামী দিনের ফোকাস ঠিক করুন।
২. নতুন চ্যালেঞ্জ: এমন কিছু শুরু করুন যা আপনাকে অপরিচিত গণ্ডিতে (unfamiliar territory) ঠেলে দেয়। নতুন কোনো ল্যাঙ্গুয়েজ, নতুন প্যারাডাইম, বা নতুন ডোমেইন। এই “নিয়ন্ত্রিত অস্বস্তি” (Controlled discomfort) বা কমফোর্ট জোনের বাইরে থাকাই হলো গ্রোথ বা উন্নতির আসল চাবিকাঠি।
শেষ কথা: একজন সহযাত্রীর বার্তা
লেখাটা শেষ করার আগে একটা ব্যক্তিগত কথা বলতে চাই।
আজ থেকে ১৫ বছরেরও বেশি সময় আগে আমি যখন কোডিং শুরু করেছিলাম, পৃথিবীটা অন্যরকম ছিল। তখন কোনো “AI পেয়ার প্রোগ্রামার” ছিল না। কানে কানে পরের লাইনটা বলে দেওয়ার মতো কেউ পাশে বসে ছিল না। ছিলাম শুধু আমি, একটা টেক্সট এডিটর আর ডকুমেন্টেশন। শেখার গতি ছিল ধীর। ডিবাগিং ছিল যন্ত্রণাদায়ক। আর প্রতিটি ছোটখাটো সাফল্যও অনেক কাঠখড় পুড়িয়ে অর্জন করতে হতো।
বিশ্বাস করুন, সেই অভিজ্ঞতা আমি কোনো কিছুর বিনিময়েই বদলাতে চাইব না। এই কারণে না যে কষ্ট করাটা মহৎ কিছু; বরং এই কারণে যে, সেই স্ট্রাগল আমার ভেতরে এমন কিছু তৈরি করেছে যা কোনো টুল আপনার হয়ে করে দিতে পারবে না। সেটা হলো—সফটওয়্যার নিয়ে ভাবার ক্ষমতা। সিস্টেম নিয়ে যুক্তি (Reasoning) দাঁড় করানোর ক্ষমতা। একটা বিশাল সমস্যা দেখামাত্রই সেটাকে ছোট ছোট সমাধানযোগ্য টুকরোয় ভেঙে ফেলার ইনটিউশন। কোড দেখেই ভেতর থেকে অনুভব করা—এটা ঠিক পথে এগোচ্ছে নাকি ভুল।
AI টুলগুলো অসাধারণ। আমি নিজেও প্রতিদিন এগুলো ব্যবহার করি এবং এগুলো আমাকে অবিশ্বাস্য রকমের প্রোডাক্টিভ করে তুলেছে। কিন্তু এগুলো আমাকে সাহায্য করতে পারছে কারণ আমার সেই ফাউন্ডেশন বা ভিত্তিটা আছে, যা দিয়ে আমি টুলগুলোকে ঠিকমতো গাইড করতে পারি। আমি স্টিয়ারিংটা নিয়ন্ত্রণে রাখতে পারি, কারণ ড্রাইভিংটা আমি কঠিন রাস্তায় গাড়ি চালিয়েই শিখেছি।
আপনার জন্য কঠিন অংশটা স্কিপ করার বা এড়িয়ে যাওয়ার লোভ হওয়াটা খুব স্বাভাবিক। টুলগুলো এখন এতটাই সহজলভ্য যে, আমার যেখানে মাসের পর মাস লাগত, আপনি হয়তো এক উইকেন্ডেই সেরকম একটা পোর্টফোলিও দাঁড় করিয়ে ফেলতে পারবেন। কিন্তু মনে রাখবেন—পোর্টফোলিও মানেই আন্ডারস্ট্যান্ডিং নয়। আউটপুট মানেই যোগ্যতা (Competence) নয়। যখন রাস্তাটা এবড়োখেবড়ো হয়ে যাবে—যখন প্রোডাকশন সিস্টেম ডাউন হবে, আর্কিটেকচার নতুন করে ভাবতে হবে, কিংবা ইন্টারভিউ বোর্ডে তাৎক্ষণিক কোনো সমাধান বের করতে হবে—তখনই শর্টকাটগুলো ধরা পড়ে যাবে।
ভালো খবর হলো—আপনি এই লেখাটা এতদূর পর্যন্ত পড়েছেন। তার মানে আপনি আসলেই সঠিক পথে শেখার ব্যাপারে কেয়ার করেন। আমি যে রাস্তার কথা বললাম, সেটা শুধু কষ্ট করার জন্য কষ্ট করা নয়। এটা আপনার ভেতরে এমন এক “ইঞ্জিনিয়ারিং স্কিল” তৈরি করার জন্য, যা আগামী কয়েক দশক ধরে—প্রযুক্তি যতই বদলাক না কেন—আপনাকে সার্ভ করবে।
AI দিন দিন আরও উন্নত হবে। টুলগুলো আরও শক্তিশালী হবে। যারা আসল ফান্ডামেন্টালসে ইনভেস্ট করেছে, তারা এই টুলগুলো ব্যবহার করে নিজেদের দক্ষতাকে আরও বহুগুণ বাড়িয়ে তুলবে। আর যারা ভিত্তি এড়িয়ে গেছে, তারা সারাজীবন শুধু পরের টুলটার খোঁজেই দৌড়াবে—নিজেদের সেই চিরস্থায়ী ঘাটতিটা পূরণ করার আশায়।
সিদ্ধান্ত আপনার—আপনি কোন ধরনের ডেভেলপার হতে চান। তারপর কাজে লেগে পড়ুন। আমি কথা দিচ্ছি, এই পরিশ্রমের প্রতিটি মুহূর্তের মূল্য আপনি পাবেন।
এখন এই গাইডটা বন্ধ করুন। যান, কোড লিখুন। নিজের হাতে।



This is an amazing roadmap, brother. I had been looking for something like this for the current situation. I have been learning web development for 3 years, and when I write code using AI, I feel empty. After reading this blog, I identified my weak points. Thank you, bhai, for this article
MaashaAllah. This is really an excellent roadmap.