Home » blog » Software Engineering in the AI Era: Beyond Prompt and Coding

Software Engineering in the AI Era: Beyond Prompt and Coding

AI-এর যুগে code লেখা আগের চেয়ে অনেক সহজ হয়ে গেছে। একটি ভালো prompt লিখলেই AI কয়েক সেকেন্ডের মধ্যে function, component বা এমনকি একটি application-এর বড় অংশ তৈরি করে দিতে পারে।

তাহলে স্বাভাবিকভাবেই প্রশ্ন আসে AI যদি code লিখেই দিতে পারে, তাহলে Software Engineering শেখার প্রয়োজন কোথায়?

আর একজন coder এবং একজন software engineer-এর মধ্যে আসল পার্থক্যটাই বা কী?

Software Engineering in the AI Era
Software Engineering in the AI Era

Career Crackerz-এর এই episode-এ ঠিক এই প্রশ্নগুলো নিয়েই বিস্তারিত আলোচনা করা হয়েছে। এই আলোচনায় Pathao-এর Engineering Team-এর Lead এবং BUET alumnus Abdullah Anwar ভাই তাঁর প্রায় ২০ বছরের software engineering career-এর অভিজ্ঞতা শেয়ার করেছেন।

আলোচনায় উঠে এসেছে AI-এর যুগে Computer Science ও Software Engineering শেখার প্রয়োজনীয়তা, real-world system কীভাবে কাজ করে, junior developerদের interview preparation, problem-solving skill, practical project এবং AI tools-কে সঠিকভাবে কাজে লাগিয়ে নিজের career value বাড়ানোর উপায়।

Software Engineering in the AI Era

AI software development-এর landscape দ্রুত পরিবর্তন করছে। আগে একজন developer যে কাজ করতে কয়েক ঘণ্টা বা দিনের পর দিন সময় দিতেন, এখন AI-assisted tools ব্যবহার করে তার অনেকটাই দ্রুত করা সম্ভব।

কিন্তু software engineering-এর মূল কাজ শুধু code লেখা নয়।

একটি software product তৈরি করার আগে জানতে হয় কোন problem solve করা হচ্ছে, কার জন্য solve করা হচ্ছে এবং কীভাবে এমন একটি solution তৈরি করা যায় যেটি reliable, maintainable এবং প্রয়োজন অনুযায়ী scalable হবে।

তাই AI coding-এর speed বাড়ালেও software engineering-এর জন্য problem understanding, system thinking এবং technical decision-making-এর প্রয়োজন থেকেই যাচ্ছে।

বরং coding যত সহজ হচ্ছে, একজন engineer-এর সঠিক decision নেওয়ার গুরুত্ব তত বাড়ছে।

Why Computer Science Still Matters

AI-এর কারণে অনেকেই ভাবছেন, programming বা Computer Science শেখার প্রয়োজন হয়তো আগের মতো থাকবে না। কিন্তু Computer Science শেখার value শুধু programming language শেখার মধ্যে সীমাবদ্ধ নয়।

একজন software engineer-কে বুঝতে হয় software-এর বিভিন্ন অংশ কীভাবে একসঙ্গে কাজ করে। একটি application-এর frontend থেকে backend, database থেকে networking সবকিছু মিলেই একটি complete system তৈরি হয়।

এই fundamental understanding থাকলে AI-generated code ব্যবহার করেও একজন developer বুঝতে পারবেন কোন solution ভালো, কোথায় সমস্যা হতে পারে এবং প্রয়োজন হলে কী পরিবর্তন করতে হবে।

তাই AI-এর যুগে Computer Science শেখার লক্ষ্য শুধু “কীভাবে code লিখব?” হওয়া উচিত নয়।

বরং প্রশ্ন হওয়া উচিত কীভাবে একটি real-world problem-কে software solution-এ পরিণত করব?

Coder vs Software Engineer

একজন coder এবং একজন software engineer একই জিনিস নন।

একজন coder নির্দিষ্ট instruction অনুযায়ী code লিখতে পারেন। কিন্তু একজন software engineer-এর কাজ শুরু হয় problem বোঝা থেকে।

তিনি ভাবেন:

  • সমস্যাটা আসলে কী?
  • User কী চাচ্ছে?
  • কোন solution সবচেয়ে কার্যকর?
  • System architecture কেমন হবে?
  • Database কীভাবে কাজ করবে?
  • Security কীভাবে নিশ্চিত করা হবে?
  • System বড় হলে কী হবে?
  • Production-এ এটি কীভাবে maintain করা হবে?

অর্থাৎ একজন software engineer শুধু code-এর দিকে তাকান না; তিনি পুরো system-এর দিকে তাকান।

এই broader perspective-ই একজন coder-এর সঙ্গে একজন software engineer-এর বড় পার্থক্য তৈরি করে।

From URL to Backend: Understanding the Full System

আপনি browser খুলে একটি URL লিখে Enter চাপলেন। কয়েক মুহূর্তের মধ্যেই webpage আপনার সামনে চলে এলো।

দেখতে বিষয়টি খুব simple মনে হলেও এর পেছনে অনেকগুলো system একসঙ্গে কাজ করে।

Browser থেকে request তৈরি হওয়ার পর network-এর বিভিন্ন layer পার হয়ে সেটি server-side system-এ পৌঁছাতে পারে। Backend সেই request process করে database-এর সঙ্গে কাজ করতে পারে এবং শেষ পর্যন্ত response আবার user-এর browser-এ ফিরে আসে।

একজন software engineer-এর জন্য এই পুরো flow বোঝা গুরুত্বপূর্ণ।

কারণ আপনি শুধু একটি button বা webpage তৈরি করছেন না। আপনি এমন একটি system-এর অংশ তৈরি করছেন যেখানে বিভিন্ন technology এবং infrastructure একসঙ্গে কাজ করছে।

এই deep system understanding-ই software engineering-এর আসল শক্তিগুলোর একটি।

Inside Pathao: Real-World Software Engineering

Software engineering-এর এই system-level thinking real-world product-এ আরও গুরুত্বপূর্ণ হয়ে ওঠে।

Pathao-এর মতো technology-driven platform নিয়ে কাজ করার ক্ষেত্রে software শুধু কয়েকটি webpage বা feature-এর collection নয়। বিভিন্ন ধরনের user, service, data এবং system-এর interaction একসঙ্গে কাজ করতে হয়।

একজন engineering leader-এর perspective থেকে দেখলে একটি feature তৈরি করা মানেই কাজ শেষ নয়।

সেই feature পুরো product-এর অন্য অংশগুলোর সঙ্গে কীভাবে interact করবে, production environment-এ এটি কীভাবে behave করবে এবং ভবিষ্যতে এর scope কীভাবে বাড়তে পারে এসব বিষয়ও বিবেচনা করতে হয়।

Career Crackerz-এর এই episode-এ Abdullah Anwar ভাই তাঁর দীর্ঘ engineering career-এর অভিজ্ঞতার মাধ্যমে real-world software engineering-এর এই broader perspective তুলে ধরেছেন।

এখান থেকেই বোঝা যায়, software engineering শুধু prompt দিয়ে code generate করার বিষয় নয়; বরং complex system বুঝে সেটিকে reliableভাবে build করার একটি discipline।

AI Tools Are Powerful, But Fundamentals Matter

AI tools software developers-এর productivity অনেক বাড়িয়ে দিতে পারে।

আপনি AI-এর সাহায্যে:

  • Code generate করতে পারেন
  • Existing code বুঝতে পারেন
  • Bug identify করতে পারেন
  • Documentation তৈরি করতে পারেন
  • Different implementation approach explore করতে পারেন
  • Repetitive coding task দ্রুত করতে পারেন

কিন্তু একটি বড় প্রশ্ন থেকেই যায় AI যে code দিয়েছে, সেটি ঠিক আছে কি না আপনি কীভাবে বুঝবেন?

এখানেই fundamentals-এর গুরুত্ব।

Programming logic, database, networking, system architecture এবং software development-এর basic concepts সম্পর্কে আপনার ভালো understanding থাকলে AI-এর output evaluate করা সহজ হবে।

কিন্তু fundamentals না জানলে AI-এর generated code কাজ করলেও কেন কাজ করছে, কোথায় limitation রয়েছে বা ভবিষ্যতে কী সমস্যা তৈরি হতে পারে তা বোঝা কঠিন হতে পারে।

তাই AI tools হলো developer-এর assistant, developer-এর understanding-এর replacement নয়।

AI Will Change Coding, Not Eliminate Engineering

AI repetitive এবং predictable coding task-এর অনেকটাই সহজ করে দিতে পারে।

ফলে ভবিষ্যতে একজন developer হয়তো কম সময়ে বেশি code তৈরি করতে পারবেন। কিন্তু software engineering-এর challenge শুধু code তৈরিতে নেই।

একজন engineer-কে সিদ্ধান্ত নিতে হয় কোন problem solve করা উচিত এবং কীভাবে সবচেয়ে ভালোভাবে solve করা যায়?

একই problem-এর একাধিক solution থাকতে পারে। কোনো solution সহজ হতে পারে, কোনোটি বেশি scalable হতে পারে, আবার কোনোটি performance বা maintainability-এর দিক থেকে ভালো হতে পারে।

এই trade-off বোঝার জন্য engineering knowledge প্রয়োজন।

তাই AI-এর যুগে coding skill-এর পাশাপাশি judgement, system understanding এবং problem-solving skill আরও গুরুত্বপূর্ণ হয়ে উঠতে পারে।

Build Real-World Projects

Student life-এ practical project তৈরি করার গুরুত্বও এই episode-এর অন্যতম গুরুত্বপূর্ণ বিষয়।

শুধু tutorial follow করে project তৈরি করলে coding syntax বা framework শেখা যেতে পারে। কিন্তু নিজের real-world problem থেকে project তৈরি করলে learning আরও গভীর হয়।

ধরুন আপনার নিজের কোনো repetitive কাজ আছে। সেটি automate করার জন্য একটি ছোট application তৈরি করলেন।

অথবা এমন একটি problem খুঁজে পেলেন যেটার জন্য একটি simple web application তৈরি করা যায়।

Project ছোট হলেও সমস্যা নেই।

গুরুত্বপূর্ণ হলো আপনি যেন বলতে পারেন আমি এই problem-টি দেখেছি, এর solution নিয়ে চিন্তা করেছি এবং নিজে একটি software solution তৈরি করেছি।

এ ধরনের practical experience portfolio-তে আপনার skill-এর বাস্তব প্রমাণ হিসেবে কাজ করতে পারে।

Problem Solving Is More Valuable Than Just Coding

AI-এর যুগে problem-solving skill-এর value আরও বাড়তে পারে।

কারণ AI-কে prompt দেওয়ার আগেই আপনাকে জানতে হবে আপনি আসলে কী solve করতে চাইছেন।

একটি বড় problem-কে ছোট ছোট অংশে ভাঙা, possible solution বের করা, বিভিন্ন approach compare করা এবং appropriate solution বেছে নেওয়া—এসব software engineering-এর গুরুত্বপূর্ণ skill।

একজন developer যত ভালোভাবে problem analyse করতে পারবেন, AI-কে তত ভালোভাবে ব্যবহার করতে পারবেন।

অর্থাৎ AI-এর যুগে better prompting-এর পাশাপাশি better thinking-ও প্রয়োজন।

Interview Preparation for Junior Developers

Junior developerদের interview preparation নিয়েও Career Crackerz-এর এই episode-এ গুরুত্বপূর্ণ বিষয় উঠে এসেছে।

শুধু programming syntax বা কিছু common interview question মুখস্থ করলেই প্রস্তুতি সম্পূর্ণ হয় না।

আপনি যে project করেছেন, সেটি কীভাবে কাজ করে এটি explain করতে পারা জরুরি।

Interview-এ এমন প্রশ্ন আসতে পারে:

  • কেন projectটি তৈরি করেছেন?
  • কোন problem solve করছে?
  • কেন নির্দিষ্ট technology ব্যবহার করেছেন?
  • Database কীভাবে design করেছেন?
  • কী ধরনের challenge face করেছেন?
  • সেই challenge কীভাবে solve করেছেন?
  • Projectটি বড় হলে কী পরিবর্তন করবেন?

এ ধরনের প্রশ্নের উত্তর দিতে হলে project-এর code copy করলেই হবে না। Project-এর architecture এবং decision-making process বুঝতে হবে।

How Students Can Prepare for Software Engineering

যারা এখন student life-এ আছেন এবং ভবিষ্যতে software engineer হতে চান, তাদের জন্য preparation শুরু হতে পারে fundamentals থেকেই।

Learn the Fundamentals

Programming, data structures, algorithms, database, networking এবং software engineering-এর basic concepts ভালোভাবে শেখার চেষ্টা করুন।

Code by Yourself

AI ব্যবহার করুন, কিন্তু সব code AI দিয়ে লিখিয়ে নেওয়ার অভ্যাস তৈরি করবেন না। নিজে code লিখে problem solve করার অভিজ্ঞতা অর্জন করুন।

Build Practical Projects

নিজের real-world problem থেকে project তৈরি করুন। Project-এর size নয়, problem-solving experience বেশি গুরুত্বপূর্ণ।

Understand the System

শুধু একটি framework শেখার পরিবর্তে frontend, backend, database, networking এবং deployment কীভাবে একসঙ্গে কাজ করে তা বোঝার চেষ্টা করুন।

Use AI as a Tool

AI-কে productivity partner হিসেবে ব্যবহার করুন। কিন্তু generated output blindly accept না করে বুঝে ব্যবহার করুন।

Learn to Explain Your Work

আপনি কী তৈরি করেছেন তার পাশাপাশি কেন তৈরি করেছেন এবং কীভাবে তৈরি করেছেন—এই গল্পটি পরিষ্কারভাবে বলতে শিখুন।

How AI Can Increase a Developer’s Value

AI-এর সঙ্গে প্রতিযোগিতা করার পরিবর্তে AI-কে কাজে লাগানোই হতে পারে একজন developer-এর জন্য smarter approach।

একজন developer AI ব্যবহার করে repetitive task কমাতে পারেন এবং বেশি সময় দিতে পারেন এমন জায়গায় যেখানে human judgement প্রয়োজন।

যেমন Problem → Planning → Architecture → AI-assisted Implementation → Testing → Improvement

এখানে AI implementation-এর অংশকে দ্রুত করতে পারে। কিন্তু problem বুঝে planning করা, architecture ঠিক করা এবং final solution-এর quality নিশ্চিত করার দায়িত্ব developer-এর কাছেই থাকে।

এই combination একজন developer-এর productivity এবং value দুটোই বাড়াতে পারে।

Career Growth Starts Beyond Assigned Tasks

Career-এর শুরুতে assigned task ভালোভাবে complete করা অবশ্যই গুরুত্বপূর্ণ। কিন্তু growth-এর জন্য ধীরে ধীরে নিজের responsibility বাড়ানোও প্রয়োজন।

একটি task শেষ করার পর নিজেকে প্রশ্ন করতে পারেন এই system সম্পর্কে আমি আর কী শিখতে পারি?

এরপর ধীরে ধীরে নতুন responsibility নেওয়া, নিজের capability prove করা এবং team-এর জন্য reliable হয়ে ওঠা career growth-এর পথ তৈরি করতে পারে।

একজন engineer যখন শুধু task executor না থেকে problem solver হয়ে উঠতে শুরু করেন, তখন তাঁর scope-ও ধীরে ধীরে বড় হতে থাকে।

Build, Prove and Communicate

Software engineering career-এর জন্য তিনটি বিষয়কে একসঙ্গে দেখা যায় Build → Prove → Communicate

প্রথমে কিছু তৈরি করুন। তারপর আপনার কাজের মাধ্যমে capability prove করুন।

সবশেষে আপনি কী করেছেন এবং কীভাবে করেছেন, সেটি পরিষ্কারভাবে communicate করতে শিখুন।

একটি strong GitHub project, practical application, hackathon experience বা meaningful contribution—এসব আপনার শেখা skill-এর evidence তৈরি করতে পারে।

What Makes a Strong Software Engineer?

একজন strong software engineer শুধু অনেক programming language জানেন—বিষয়টি এমন নয়।

বরং তাঁর মধ্যে কয়েকটি গুরুত্বপূর্ণ capability থাকে:

  • Strong fundamentals
  • Problem-solving ability
  • System understanding
  • Practical experience
  • Technical decision-making
  • Continuous learning mindset
  • Ability to work with AI tools
  • Communication skill
  • Reliability

এই skillগুলো একদিনে তৈরি হয় না। Career-এর শুরু থেকেই ছোট ছোট problem solve করতে করতে এগুলো develop হয়।

Final Thoughts

AI software engineering-এর ভবিষ্যৎ বদলে দিচ্ছে এটা সত্যি। কিন্তু AI code লিখতে পারছে বলেই software engineering-এর প্রয়োজন শেষ হয়ে যাচ্ছে না।

বরং software engineering-এর focus আরও পরিষ্কার হচ্ছে।

Coding একটি skill। কিন্তু Software Engineering হলো problem, system এবং solution এই তিনটিকে একসঙ্গে বোঝার ability।

Career Crackerz-এর এই episode-এ Abdullah Anwar ভাইয়ের প্রায় ২০ বছরের experience থেকে উঠে আসা insights আমাদের মনে করিয়ে দেয় যে একজন ভালো engineer হওয়ার জন্য শুধু code লিখতে জানলেই হবে না।

আপনাকে বুঝতে হবে একটি system কীভাবে কাজ করে, একটি real-world problem কীভাবে analyse করতে হয়, কোন solution কেন বেছে নিতে হয় এবং AI-এর মতো powerful tools-কে কীভাবে নিজের advantage হিসেবে ব্যবহার করা যায়।

তাই AI-এর যুগে প্রশ্নটা আর শুধু AI কি আমার code লিখে দিতে পারবে?

বরং আরও গুরুত্বপূর্ণ প্রশ্ন হলো আমি কি বুঝতে পারছি AI দিয়ে কোন problem solve করা উচিত এবং কীভাবে একটি reliable real-world solution তৈরি করতে হবে?

যারা এই পার্থক্যটা বুঝতে পারবেন, তাদের জন্য AI হয়তো threat না হয়ে software engineering career-এর সবচেয়ে powerful productivity toolগুলোর একটি হয়ে উঠতে পারে।

All Tech Update

Technology এর সকল আপডেট সবার আগে বিস্তারিত পড়ুন –

Scroll to Top