একজন সফটওয়্যার ইঞ্জিনিয়ার হিসেবে আমার কোডের প্রতিটি লাইন এখন এআই-এর লেখা: ভাইব কোডিং নিয়ে কিছু কথা

একজন সফটওয়্যার ইঞ্জিনিয়ার হিসেবে আমার কোডের প্রতিটি লাইন এখন এআই-এর লেখা: ভাইব কোডিং নিয়ে কিছু কথা

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

ভাইব কোডিংয়ের অপার আনন্দ

গত বছরের (২০২৫) জুনের কথা মনে পড়ে। সবার মুখে মুখে শুনে কৌতূহলবশত প্রথমবার Cursor খুলেছিলাম। আপাতদৃষ্টিতে সাধারণ VS Code এডিটরের মতোই লাগছিল, শুধু পাশে একটা এআই চ্যাট প্যানেল যোগ করা ছিল।

তার আগ পর্যন্ত এআই কোডিং বলতে আমার ধারণা সীমাবদ্ধ ছিল GitHub Copilot-এর অ্যাডভান্সড অটো-কমপ্লিশনের মধ্যেই। কিন্তু যখন প্রথম প্রম্পটটা লিখে এআই-কে পাঠালাম, তখন চোখের সামনে যেন এক অবিশ্বাস্য ঘটনা ঘটে গেল। দেখলাম এআই ক্ষণিকের জন্য একটু ভাবল, আর চোখের পলকে এডিটরে শয়ে শয়ে লাইনের কোড লিখে ফেলল। শুধু তা-ই নয়, বিভিন্ন ফাইলের ভেতর অনায়াসে ঢুকে কোড আপডেট করল, এমনকি টার্মিনালে সরাসরি কমান্ডও রান করে দিল।

আমি শুধু সাধারণ ভাষায় ফিচারের বর্ণনা দিচ্ছিলাম, আর এআই নিজে থেকেই পুরো ফিচারটা বানিয়ে দিচ্ছিল! আমাকে নিজের হাতে আর একটা লাইনও টাইপ করতে হচ্ছিল না। এটা চিরাচরিত অটো-কমপ্লিশনের চেয়ে একেবারে আলাদা—কোডিংয়ের বড় ক্যানভাসে সফটওয়্যার ইঞ্জিনিয়ারের কাজ সম্পূর্ণ নিজের কাঁধে তুলে নেওয়া।

ঠিক সেই মুহূর্তে আমার মনে হয়েছিল যেন হাতে আলাদিনের চেরাগ পেয়ে গেছি, সামনে এক অচেনা নতুন দুনিয়ার দরজা খুলে গেছে।

তখন নিজের সেই অনুভূতিগুলো নিয়ে লিখেছিলাম:

ভাইব কোডিং (Vibe Coding) যেন সহজাতভাবেই ADHD-র অধিকারীদের জন্য আশীর্বাদ। কোড লেখার সনাতন পদ্ধতিটা অনেক সময়ই ADHD স্বভাবের মানুষদের জন্য বড্ড বিরক্তির। ভাইব কোডিং আসার পর টেস্ট লেখার অনীহা, CSS-এর ওপর মেজাজ খারাপ হওয়া, ভ্যারিয়েবলের নামে বারবার ভুল করা কিংবা তুচ্ছ বাগকে হন্যে হয়ে খোঁজার মতো একঘেয়ে যন্ত্রণার এক নিমেষেই অবসান হলো।

এখন পাশে এআই থাকায় সাথে সাথে ফিডব্যাক পাওয়া যায়, অদ্ভুত এক তৃপ্তি মেলে। কাজটা যত বেশি পুনরাবৃত্তিমূলক আর বিরক্তিকর, এআই সেটা তত নিখুঁতভাবে সামলে দেয়।

আর আমার কাজ শুধুই বড় লক্ষ্যের দিকে নজর রাখা, আর্কিটেকচার ডিজাইন করা—মানে পুরোপুরি একজন প্রজেক্ট লিডারের ভূমিকায় থাকা।

সত্যি বলতে, কিবোর্ডে প্রতিটি ক্যারেক্টার নিজে চেপে চেপে কোড লেখায় আমার কোনো মোহ নেই; আমার ভালো লাগে কিছু একটা সৃষ্টি করার আনন্দ। অ্যাসেম্বলি ল্যাঙ্গুয়েজ থেকে হাই-লেভেল ল্যাঙ্গুয়েজে রূপান্তরের মতোই, একজন প্রোগ্রামারের সফটওয়্যার বানানোর অভিজ্ঞতা দিন দিন আরও স্বচ্ছন্দ আর গতিশীল হওয়াই তো স্বাভাবিক।

একজন ইট-পাথর গাঁথা মিস্ত্রির মতো না ভেবে, নিজেকে এখন একজন খাঁটি স্রষ্টা হিসেবে দেখে কোনো কিছু তৈরি করার অনুভূতি সত্যিই একজন প্রোগ্রামারের জন্য চরম আনন্দের।

ভাইব কোডিংয়ের সীমাবদ্ধতা

এই ধরনের কোড লেখার ভঙ্গির একটা চমৎকার নাম আছে: ভাইব কোডিং (Vibe Coding)। ২০২৫ সালের ফেব্রুয়ারিতে ওপেনএআই-এর সহ-প্রতিষ্ঠাতা আন্দ্রে কারপাথি (Andrej Karpathy) এই পরিভাষাটি প্রথম ব্যবহার করেন। এর মূল কথা হলো—পুরো অনুভূতি বা ‘ভাইব’-এর ওপর ছেড়ে দেওয়া: সাধারণ ভাষায় এআই-কে বুঝিয়ে দাও তুমি কী চাও, এআই যা কোড দেবে তা বিনা বাক্যব্যয়ে মেনে নাও, এক লাইন এক লাইন করে রিভিউ করার দরকার নেই, কোনো এরর এলে সোজাসুজি এআই-এর কাছেই আবার ছুড়ে দাও—এমনকি কোডটার আসল চেহারা কেমন তা ভুলতে বসার আগ পর্যন্ত এভাবেই চলতে থাকো।

আগের অনুভূতিগুলো লিখে ফেলার পর সেই মুগ্ধতা টিকেছিল মেরেকেটে তিন দিন। তারপরেই ধাক্কা খেয়ে বুঝতে পারলাম ভাইব কোডিংয়ের আসল সীমাবদ্ধতা কোথায়।

তখন আমি একটা অ্যাপের প্রোটোটাইপ বা ডেমো বানাচ্ছিলাম। একদম খাঁটি ভাইব কোডিংয়ের ভরসায় আবছা প্রম্পট দিয়ে এআই-কে ইচ্ছেমতো কাজ করতে ছেড়ে দিয়েছিলাম, কোনো সফটওয়্যার ইঞ্জিনিয়ারিংয়ের মূল নীতি মাথায় রাখিনি। ফলে যা হওয়ার তা-ই হলো—ধীরে ধীরে এআই নিয়ন্ত্রণের বাইরে চলে গেল, আর পুরো আর্কিটেকচার এমন জগাখিচুড়ি হয়ে দাঁড়াল যে সেটা মেনটেইন করাই অসম্ভব হয়ে পড়ল।

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

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

কিছুদিনের মধ্যেই আমি Claude Code ব্যবহার শুরু করি। এতে নিয়ন্ত্রণ আরও সূক্ষ্ম ও শক্তিশালী হলো, যেন হাতে জাদু চলে এলো—আমার কাজের গতি বেড়ে গেল কয়েক গুণ।

সফটওয়্যার ইঞ্জিনিয়ারদের ভবিষ্যৎ

“ভাইব কোডিংয়ের দৌলতে এত সহজে আর দ্রুত কাজ হয়ে গেলে, প্রোগ্রামিংয়ের গভীর ভিত্তিগুলো শেখার আগ্রহ কি মানুষের একেবারেই হারিয়ে যাবে না?”

আমার স্পষ্ট উত্তর: হ্যাঁ, সেই সম্ভাবনা অত্যন্ত প্রবল!

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

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

আগের জমানায় যে মানুষটা ‘০ থেকে ১’ পার করতে পারত, সে চলার পথেই ‘১ থেকে ১০০’ পাড়ি দেওয়ার অনেক মৌলিক দক্ষতাও অর্জন করে ফেলত। কিন্তু ভাইব কোডিং কোনো নতুন মানুষকে সেই বুনিয়াদি ভিতটা গড়ে দেয় না। ফলে ‘১ থেকে ১০’-এ পৌঁছাতে গিয়েই মানুষ এমন দুর্লঙ্ঘ্য পাহাড়ের মুখোমুখি হয়, যা দেখে অনেকেই মাঝপথে হাল ছেড়ে দেয়।

শুরুটা অতিরিক্ত সহজ ছিল বলেই পরের ধাপের জটিলতা সাধারণ আগ্রহ বা গড়পড়তা শেখার ক্ষমতা দিয়ে পার করা যায় না। আর যদি কেউ সত্যিই তা অনায়াসে পেরিয়ে যেতে পারে, বুঝতে হবে তার শেখার গভীরতা, কাজ বাস্তবায়নের দক্ষতা আর সমস্যা সমাধানের ক্ষমতা অনন্যসাধারণ—সে নিশ্চিতভাবেই প্রোগ্রামারদের শীর্ষ ১ শতাংশের একজন।

সোজা কথায়, এই মুষ্টিমেয় প্রখর মেধাবী মানুষেরা এআই-পূর্ব যুগেও অনায়াসেই শীর্ষস্থানীয় ইঞ্জিনিয়ার হতে পারতেন।

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

এই লেখার প্রথম খসড়াটি তৈরি করার এক বছর পর চাকরির বাজারের সাম্প্রতিক পরিসংখ্যানগুলোও কিন্তু সেই আশঙ্কার কথাই প্রমাণ করছে:

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

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

এমনকি গণিতের মতো মৌলিক ভাবনার সর্বোচ্চ ক্ষেত্রটিতেও গত এক বছরে এআই ভাগ বসিয়েছে:

এই সিরিজে কী নিয়ে লিখব

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

আমি আরও একটা বিষয় খেয়াল করেছি: অনেকের সমস্যার আসল গোড়াটা যুক্তিবোধের অভাব। কীভাবে সঠিক প্রশ্ন করতে হয়, কীভাবে তথ্যকে বিচার-বিশ্লেষণ করতে হয় কিংবা এআই যা উত্তর দিচ্ছে তা আদৌ সঠিক কি না তা পরখ করার ক্ষমতাই অনেকের নেই।

ছয় বছরেরও বেশি অভিজ্ঞতাসম্পন্ন সফটওয়্যার ইঞ্জিনিয়ার হিসেবে আমি এআই-এর সহায়তায় বেশ কিছু জটিল প্রজেক্টের ডিজাইন ও ডেভেলপমেন্ট সফলভাবে শেষ করেছি, এবং সেই প্রোডাক্টগুলোর এখন নিজস্ব ব্যবহারকারীও রয়েছে। লেখার শুরুতে যেমনটা বলেছিলাম—আমার বর্তমান প্রজেক্টের প্রতিটি লাইনের কোড এআই-এর লেখা। এআই নিঃসন্দেহে অত্যন্ত জটিল প্রজেক্ট তৈরি করতে পারে, তবে শর্ত একটাই: ডেভেলপারকে জানতে হবে সে নিজে কী করছে এবং এআই-কে দিয়ে কীভাবে কাজটা আদায় করে নিতে হয়। এআই কেবলই একটা হাতিয়ার, মূল চালিকাশক্তি মানুষই।

এআই যুগে প্রোগ্রামিং শেখার সনাতন পথ পুরোপুরি ভেঙে পড়তে যাচ্ছে। তাই সময়ের এই পরিবর্তনের সাথে তাল মিলিয়ে আমি শুরু করতে যাচ্ছি একটি ধারাবাহিক সিরিজ: “জিরো টু ওয়ান: ভাইব কোডিংয়ের পূর্ণাঙ্গ নির্দেশিকা”।

এই গাইডে মূলত কয়েকটি বড় বিষয়ের ওপর আলোকপাত করা হবে:

  1. আধুনিক সফটওয়্যার ইঞ্জিনিয়ারিংয়ের সেরা চর্চাগুলোর (Best Practices) সাথে এআই কোডিংয়ের মেলবন্ধন ঘটানো। আগে বোঝা সফটওয়্যার ইঞ্জিনিয়ারিং আসলে কী, তারপর শূন্য থেকে শুরু করে নিজের স্বপ্নের সফটওয়্যারটি বাস্তবে রূপ দেওয়া। লক্ষ্য একটাই—প্রজেক্ট যেন শুধু ডেমোতেই আটকে না থাকে, বরং ভবিষ্যতে সহজে রক্ষণাবেক্ষণ করা যায় এবং কোডিংয়ের অভিজ্ঞতাও যেন হয় মাখনের মতো মসৃণ।
  2. চিন্তা ও যুক্তিবোধ শাণিত করার গাইডলাইন—এআই কোডিংয়ের সময় কীভাবে কার্যকর প্রম্পট বা প্রশ্ন করবেন, কোন ভুলগুলো এড়িয়ে চলবেন এবং কীভাবে প্রজেক্টের প্রয়োজনীয় ডকুমেন্টেশন লিখবেন।
  3. প্রজেক্ট ও কোড কীভাবে টেস্ট করতে হয়, পুরো ওয়ার্কফ্লো কীভাবে নিখুঁত করা যায় এবং আর্কিটেকচারের স্থায়িত্ব বজায় রেখে কীভাবে সফটওয়্যারের মান ও ফিচার উন্নত করা যায়। কোডের মানের সাথে আপস না করে কীভাবে ডেভেলপমেন্টের গতি বাড়ানো যায় এবং স্বয়ংক্রিয় কাজের ধারা (Automated Workflow) তৈরি করা যায়।
  4. এআই প্রোগ্রামিংয়ের জন্য সেরা টেক স্ট্যাক (Tech Stack) নির্বাচন—কোন প্রোগ্রামিং ভাষা ও ফ্রেমওয়ার্ক বেছে নিলে এআই-এর দক্ষতার সর্বোচ্চ সদ্ব্যবহার করা সম্ভব।

শেষ কথা

আসলে এই লেখার মূল অংশটা লিখেছিলাম ঠিক এক বছর আগে (২০২৫ সালের অক্টোবরে)। এবার সেটাকে নতুন করে ঘষামাজা করলাম, সাথে যুক্ত করলাম গত এক বছরের চাকরির বাজার ও গণিতে এআই-এর অগ্রগতির কিছু নির্ভরযোগ্য তথ্য। তখন এআই-এর উল্কার মতো অগ্রগতি দেখে সত্যি তাজ্জব বনে গিয়েছিলাম; ভয় হতো আজ যা লিখছি দুদিন বাদে তা সেকেলে হয়ে যাবে না তো! সেই কারণে ছোট ছোট সামাজিক পোস্ট প্রচুর লিখলেও গোছানো বড় কোনো লেখা তেমন লেখা হয়ে ওঠেনি। এক বছর পর ড্রাফটটা আবার খুলে দেখলাম, কথাগুলো আজও সমান প্রাসঙ্গিক। তাই ভাবলাম সাজিয়ে-গুজিয়ে প্রকাশ করাই যাক। সামনে ভাবছি নিয়মিত এমন লেখালেখি চালিয়ে যাব—কারণ দিনশেষে ‘মানুষের ছোঁয়া’ থাকা চিন্তাভাবনা তো ভবিষ্যতে আরও দুর্লভ হয়ে উঠবে!