এটি সুপরিচিত যে জেনারেটিভ এআই কেবল নির্দেশাবলী দিয়েই ফটোরিয়ালিস্টিক ছবি, ইলাস্ট্রেশন এবং পেইন্টিং তৈরি করতে পারে।
এদিকে, ব্যবসায়িক জগতে, জেনারেটিভ এআই-এর প্রোগ্রাম তৈরির ক্ষমতার উপর মনোযোগ কেন্দ্রীভূত হচ্ছে।
কথোপকথনমূলক এআই একটি মৌলিক প্রযুক্তি, বৃহৎ ভাষা মডেল দ্বারা চালিত হয় এবং বিভিন্ন ভাষায় কথোপকথন করতে ও তাদের মধ্যে অনুবাদ করতে অত্যন্ত পারদর্শী।
প্রোগ্রাম তৈরি করতে ব্যবহৃত প্রোগ্রামিং ভাষাগুলিও এক ধরণের ভাষা। মানব প্রোগ্রামাররা, এক অর্থে, মৌখিকভাবে প্রাপ্ত সফ্টওয়্যারের প্রয়োজনীয়তা প্রোগ্রামিং ভাষায় অনুবাদ করেন।
এ কারণেই বৃহৎ ভাষা মডেল ব্যবহার করে কথোপকথনমূলক জেনারেটিভ এআই প্রোগ্রামিংয়েও অত্যন্ত দক্ষ।
তদুপরি, প্রোগ্রামিং একটি বুদ্ধিবৃত্তিক কাজ যেখানে ফলাফলের সঠিকতা প্রায়শই স্বয়ংক্রিয়ভাবে এবং তাৎক্ষণিকভাবে যাচাই করা যায়। এর কারণ হল একটি তৈরি প্রোগ্রাম চালানো যায় এবং কাঙ্ক্ষিত আউটপুট তৈরি হয়েছে কিনা তা স্বয়ংক্রিয়ভাবে পরীক্ষা করা যায়।
আসলে, মানব প্রোগ্রামাররা যখন একটি প্রোগ্রাম তৈরি করেন, তখন তারা প্রায়শই একই সাথে পরীক্ষার প্রোগ্রামও তৈরি করেন ফলাফল যাচাই করার জন্য, মূল প্রোগ্রামটি উদ্দেশ্য অনুযায়ী কাজ করছে কিনা তা পরীক্ষা করতে করতে ডেভেলপ করেন।
জেনারেটিভ এআইও একইভাবে পরীক্ষার মাধ্যমে প্রোগ্রামিং চালিয়ে যেতে পারে। যদি একজন মানুষ সুনির্দিষ্ট নির্দেশাবলী দেয়, তাহলে এআই স্বয়ংক্রিয়ভাবে পুনরাবৃত্তি করে প্রোগ্রামটি সম্পূর্ণ করতে পারে যতক্ষণ না এটি সমস্ত পরীক্ষায় পাস করে।
অবশ্যই, জেনারেটিভ এআই-এর প্রোগ্রামিং ক্ষমতার সীমাবদ্ধতা এবং মানুষের নির্দেশাবলীর অস্পষ্টতার কারণে, অনেক ক্ষেত্রেই বারবার পুনরাবৃত্তির পরেও পরীক্ষাগুলিতে পাস করা যায় না। উপরন্তু, অপর্যাপ্ত বা ভুল পরীক্ষাগুলির কারণে প্রায়শই সম্পন্ন প্রোগ্রামে ত্রুটি বা সমস্যা দেখা যায়।
তবে, জেনারেটিভ এআই-এর ক্ষমতা যত বাড়ছে, এবং মানব প্রকৌশলীরা তাদের নির্দেশনার পদ্ধতি যত উন্নত করছেন, সেই সঙ্গে ইন্টারনেট অনুসন্ধানের মাধ্যমে জেনারেটিভ এআই-এর প্রোগ্রামিং জ্ঞান বৃদ্ধির প্রক্রিয়া যুক্ত হওয়ায়, প্রতিদিন স্বয়ংক্রিয়ভাবে উপযুক্ত প্রোগ্রাম তৈরি করার সুযোগ বৃদ্ধি পাচ্ছে।
অতিরিক্তভাবে, ব্যবসায়িক জগতের মনোযোগের কারণে, জেনারেটিভ এআই গবেষণা ও উন্নয়নে নিয়োজিত শীর্ষস্থানীয় সংস্থাগুলোও জেনারেটিভ এআই-এর প্রোগ্রামিং ক্ষমতা বৃদ্ধিতে প্রচুর বিনিয়োগ করছে।
এই পরিস্থিতিতে, জেনারেটিভ এআই-এর উপর ন্যস্ত স্বয়ংক্রিয় প্রোগ্রামিং কাজের পরিধি ও আয়তন বৃদ্ধি দ্রুততর হবে বলে আশা করা হচ্ছে।
এমন অনেক দৃষ্টান্ত রয়েছে যেখানে ব্যক্তিরা পূর্বে কখনও প্রোগ্রাম ডেভেলপ করেননি, কিন্তু ইন্টারনেট তথ্যের সাহায্যে একটি মৌলিক ডেভেলপমেন্ট পরিবেশ স্থাপন করে, তারপর জেনারেটিভ এআই-এর উপর প্রোগ্রামিংয়ের জন্য নির্ভর করে, দু'জনার দল হিসেবে প্রকল্পগুলি সম্পন্ন করেছেন।
আমি নিজে একজন প্রোগ্রামার হিসেবে জেনারেটিভ এআই ব্যবহার করে প্রোগ্রামিং করি। একবার কৌশল আয়ত্ত করতে পারলে, আমি জেনারেটিভ এআই-এর নির্দেশ অনুযায়ী ফাইলগুলিতে প্রোগ্রাম কপি এবং পেস্ট করে, প্রোগ্রামটি মোটেও এডিট না করেই সফটওয়্যার তৈরি করতে পারি।
নিশ্চিতভাবে, অনেক সময় আমি আটকে যাই। এর প্রধান কারণ হল আমার কম্পিউটার বা প্রোগ্রামিং ডেভেলপমেন্ট টুলের সেটিংস সাধারণ কনফিগারেশন থেকে কিছুটা ভিন্ন, অথবা জেনারেটিভ এআই যে ডেটার উপর প্রশিক্ষিত হয়েছে তার চেয়ে বিনামূল্যে উপলব্ধ সফটওয়্যার উপাদানগুলি নতুন, যার ফলে জ্ঞানের তারতম্য ঘটছে, অথবা আমার অনুরোধগুলি কিছুটা অস্বাভাবিক।
তবে, যদি এ ধরনের ছোটখাটো অসঙ্গতি বা বিশেষ পরিস্থিতি না থাকে এবং অত্যন্ত সাধারণ সফটওয়্যার ফাংশন তৈরির নির্দেশ দেওয়া হয়, তাহলে অধিকাংশ ক্ষেত্রেই উপযুক্ত প্রোগ্রাম তৈরি হয়।
লিকুইডওয়্যার যুগের দিকে
একজন সফটওয়্যার ডেভেলপার হিসেবে, আমি আমার তৈরি করা সফটওয়্যার প্রকাশ করতে পারি, এবং সেই সফটওয়্যার, যা আমরা প্রকৌশলীরা প্রকাশ করি, তারপর বিভিন্ন ব্যবহারকারী ব্যবহার করেন।
ভবিষ্যতে জেনারেটিভ এআই এর সাহায্যে এই সফটওয়্যার ডেভেলপমেন্ট যে কেউ করতে পারবে, তা আমাদের এই আলোচনােরই একটি সম্প্রসারণ।
তবে, এটি কেবল সফটওয়্যার ডেভেলপমেন্টের দিক থেকে পরিবর্তন নয়; ব্যবহারকারীর দিক থেকেও বড় পরিবর্তন আসছে।
জেনারেটিভ এআইকে মৌখিকভাবে নির্দেশ দিয়ে সফটওয়্যারে স্বয়ংক্রিয়ভাবে ফাংশন যুক্ত বা পরিবর্তন করার কাজটি সফটওয়্যার প্রকাশের পূর্বের ডেভেলপমেন্ট পর্যায় ছাড়াও এর ব্যবহারের সময়ও করা যেতে পারে। তদুপরি, এটি সফটওয়্যারের ব্যবহারকারী নিজেই করতে পারেন।
সফটওয়্যার ডেভেলপাররা পরিবর্তন করা যাবে এবং যাবে না এমন বিষয়গুলির পরিধি নির্ধারণ করে জেনারেটিভ এআই-চালিত কাস্টমাইজেশন ফিচার সহ সফটওয়্যার প্রকাশ করতে পারেন।
এর ফলে ব্যবহারকারীরা জেনারেটিভ এআই-কে সফটওয়্যারের ছোটখাটো অসুবিধা বা স্ক্রিন ডিজাইনের পছন্দগুলি পরিবর্তন করতে বলতে পারবে।
এছাড়াও, ব্যবহারকারীরা অন্যান্য অ্যাপ্লিকেশনে থাকা সহায়ক ফিচার যোগ করতে পারবে, একাধিক অপারেশনকে এক ক্লিকে একত্রিত করতে পারবে, অথবা প্রায়শই অ্যাক্সেস করা স্ক্রিনগুলি একটি ডিসপ্লেতে দেখতে পারবে।
সফটওয়্যার ডেভেলপারদের জন্য, এমন ব্যবহারকারী কাস্টমাইজেশন সক্ষম করা উল্লেখযোগ্য সুবিধা প্রদান করে: এটি ফিচার অনুরোধগুলি নিজে প্রয়োগ করার পরিশ্রম দূর করে, এবং ব্যবহারযোগ্যতা নিয়ে নেতিবাচক মন্তব্য ও অসন্তোষ এড়িয়ে সফটওয়্যারের জনপ্রিয়তা বাড়াতে পারে।
যখন ব্যবহারকারীরা এইভাবে অবাধে স্ক্রিন এবং ফাংশন পরিবর্তন করতে পারবে, তখন এই ধারণাটি আমরা ঐতিহ্যগতভাবে যাকে "সফটওয়্যার" বলি তার থেকে অনেকটাই ভিন্ন দেখাবে।
"লিকুইডওয়্যার" নামে একে অভিহিত করা অধিক উপযুক্ত হবে, যা সফটওয়্যারের (যা হার্ডওয়্যারের চেয়ে ইতিমধ্যেই বেশি নমনীয়) চেয়েও বেশি তরল এবং অভিযোজনযোগ্য কিছু বোঝায়, এবং যা ব্যবহারকারীর সাথে পুরোপুরি খাপ খায়।
একসময় কেবল হার্ডওয়্যার দিয়েই ফাংশনগুলি বাস্তবায়িত হত। তারপর বিনিময়যোগ্য সফটওয়্যার এলো, যা হার্ডওয়্যার এবং সফটওয়্যারের সমন্বয়ে ফাংশনগুলি বাস্তবায়নের সুযোগ করে দিল।
সেখান থেকে, আমরা লিকুইডওয়্যার-এর উত্থানের কল্পনা করতে পারি, যার অর্থ জেনারেটিভ এআই দ্বারা পরিবর্তনযোগ্য অংশ। ফলস্বরূপ, ফাংশনগুলি হার্ডওয়্যার + সফটওয়্যার (ডেভেলপারদের দ্বারা সরবরাহকৃত) + লিকুইডওয়্যার (ব্যবহারকারীর পরিবর্তন) দ্বারা বাস্তবায়িত হবে।
এই লিকুইডওয়্যার যুগে, ব্যবহারকারীদের পরিবর্তনের ধারণাগুলি বিস্ফোরিত হবে।
একজন ব্যবহারকারীর উদ্ভাবিত যুগান্তকারী পরিবর্তনের ধারণা সামাজিক মাধ্যমে আলোচনার বিষয় হয়ে উঠতে পারে, যা অন্যদেরকে বিভিন্ন লিকুইডওয়্যার অ্যাপ্লিকেশন অনুকরণ ও পরিবর্তন করতে উৎসাহিত করবে।
তদুপরি, বিভিন্ন সফটওয়্যার অ্যাপ্লিকেশনকে সমন্বিতভাবে পরিচালনা করতে সক্ষম লিকুইডওয়্যার-এরও উদ্ভব হওয়ার সম্ভাবনা রয়েছে। এর অর্থ হল ব্যবহারকারীরা একাধিক ভিন্ন সামাজিক মাধ্যম প্ল্যাটফর্মের টাইমলাইন একটি অ্যাপে দেখতে পারবে, অথবা অনুসন্ধানের ফলাফলগুলি অসংখ্য প্ল্যাটফর্ম থেকে ফলাফলগুলিকে একত্রিত করতে পারবে।
এভাবে, লিকুইডওয়্যারের ব্যাপক প্রচলন ঘটলে, পিসি এবং স্মার্টফোন সহ বিভিন্ন ডিভাইস আমাদের প্রত্যেকের ব্যক্তিগত জীবন ও কার্যকলাপের জন্য পুরোপুরি উপযোগী ফাংশন সরবরাহ করবে।
একটি বর্তমান ঘটনা
আমার মতো সফটওয়্যার প্রকৌশলীদের জন্য, এটি বোঝা অত্যন্ত গুরুত্বপূর্ণ যে লিকুইডওয়্যার কোনো ভবিষ্যতের ধারণা বা কয়েক বছর পরের বিষয় নয়।
কারণ, এমনকি খুব সাধারণ লিকুইডওয়্যারও ইতিমধ্যেই অর্জনযোগ্য।
উদাহরণস্বরূপ, ধরা যাক আমি আমার কোম্পানির ই-কমার্স সাইটের জন্য একটি ওয়েব অ্যাপ্লিকেশন ডেভেলপ করা একজন প্রকৌশলী।
এমন একটি ওয়েব অ্যাপে অভ্যন্তরীণভাবে পরিচালিত সার্ভার বা ক্লাউড সার্ভিসের মাধ্যমে চুক্তিবদ্ধ সার্ভারে ডেটাবেস, বিক্রয় ব্যবস্থাপনা সিস্টেম এবং পণ্য শিপিং সিস্টেম থাকবে। যখন একজন ব্যবহারকারী কেনাকাটা করবেন, তখন এই সিস্টেমগুলি অর্থ সংগ্রহ এবং পণ্য প্রেরণের জন্য সংযুক্ত হবে।
এই ধরনের মূল ব্যবসায়িক সিস্টেম এবং ডেটাবেসগুলি ইচ্ছামতো পরিবর্তন করা যায় না।
তবে, একটি ব্যবহারকারী-মুখী ই-কমার্স সাইটের ওয়েব স্ক্রিন ডিজাইন ব্যক্তিগত ব্যবহারকারীদের উপযোগী করে পরিবর্তন করা যেতে পারে এবং এতে তেমন কোনো গুরুতর সমস্যা হয় না। অবশ্যই, যদি একজন ব্যবহারকারীর পরিবর্তন অন্যান্য ব্যবহারকারীর স্ক্রিনকে প্রভাবিত করে, তবে সেটি একটি সমস্যা হবে, কিন্তু ব্যক্তিগত ব্যবহারকারী-নির্দিষ্ট কাস্টমাইজেশন ঠিক আছে।
উদাহরণস্বরূপ, বিভিন্ন পরিবর্তন কল্পনা করা যেতে পারে: টেক্সট বড় করা, ব্যাকগ্রাউন্ডকে গাঢ় রঙে পরিবর্তন করা, বাম হাত দিয়ে সহজে ব্যবহার করার জন্য প্রায়শই চাপানো বোতামগুলির অবস্থান পরিবর্তন করা, একটি তালিকা স্ক্রিনে দাম অনুযায়ী আইটেমগুলি সাজানো, অথবা দুটি পণ্যের বিবরণ পাশাপাশি প্রদর্শন করা।
প্রযুক্তিগতভাবে, ব্রাউজারে স্ক্রিন প্রদর্শন করে এমন HTML, CSS, এবং JavaScript-এর মতো কনফিগারেশন ফাইল এবং প্রোগ্রাম পরিবর্তন করে এই পরিবর্তনগুলি অর্জন করা যেতে পারে।
নিরাপত্তার দৃষ্টিকোণ থেকে, এই ফাইলগুলি মূলত ওয়েব ব্রাউজারে চলে। অতএব, ওয়েব অ্যাপস সম্পর্কে অভিজ্ঞ একজন প্রকৌশলী যে অংশগুলি পরিবর্তন করতে পারেন, সেগুলি কেবল এমন ফাংশন এবং ডেটা পরিচালনা করে যা পরিবর্তন করা নিরাপদ।
সুতরাং, ই-কমার্স ওয়েব অ্যাপের সার্ভার দিকে, প্রতিটি লগ-ইন করা ব্যবহারকারীর জন্য এই ফাইলগুলি আলাদাভাবে সংরক্ষণ করার একটি প্রক্রিয়া তৈরি করা যেতে পারে, একটি চ্যাট এআই-এর সাথে কথোপকথনের জন্য একটি স্ক্রিন যুক্ত করা যেতে পারে, এবং তারপর ব্যবহারকারীর অনুরোধ অনুযায়ী সার্ভারে সেই ব্যবহারকারীর HTML, CSS, এবং JavaScript ফাইলগুলি পরিবর্তন করা যেতে পারে।
যদি এই লেখাটি, বিদ্যমান ই-কমার্স ওয়েব অ্যাপের কনফিগারেশন তথ্য এবং সোর্স কোডের সাথে একটি জেনারেটিভ এআই-এর কাছে উপস্থাপন করা হয়, তাহলে এটি সম্ভবত এই ধরনের কার্যকারিতা যুক্ত করার পদক্ষেপ এবং প্রয়োজনীয় প্রোগ্রামগুলি সরবরাহ করবে।
এভাবে, লিকুইডওয়্যার ইতিমধ্যেই একটি বর্তমান বিষয়; এটি যদি এখনই চলমান একটি ঘটনা হয় তবে অবাক হওয়ার কিছু থাকবে না।
সর্বমুখী প্রকৌশলী
এআই-চালিত স্বয়ংক্রিয় প্রোগ্রামিংয়ের প্রসারিত পরিধি এবং লিকুইডওয়্যার যুগের আগমন সত্ত্বেও, সফটওয়্যার ডেভেলপমেন্ট এখনও সম্পূর্ণরূপে জেনারেটিভ এআই দ্বারা পরিচালিত হতে পারে না।
তবে, এটি নিশ্চিত যে সফটওয়্যার ডেভেলপমেন্টে প্রোগ্রামিংয়ের উপর গুরুত্ব উল্লেখযোগ্যভাবে হ্রাস পাবে।
এছাড়াও, মসৃণভাবে সফটওয়্যার ডেভেলপ করার জন্য, সাধারণ প্রোগ্রামিং থেকে শুরু করে ক্লাউড ইনফ্রাস্ট্রাকচার, নেটওয়ার্ক, নিরাপত্তা, প্ল্যাটফর্ম, ডেভেলপমেন্ট ফ্রেমওয়ার্ক এবং ডেটাবেস — পুরো সিস্টেমকে কাজ করার জন্য সিস্টেম স্ট্যাকের উপর থেকে নিচ পর্যন্ত বিস্তৃত জ্ঞান এবং ইঞ্জিনিয়ারিং দক্ষতা প্রয়োজন।
এই ধরনের জ্ঞান ও দক্ষতা সম্পন্ন কর্মীদের ফুল-স্ট্যাক ইঞ্জিনিয়ার বলা হয়।
ঐতিহ্যগতভাবে, কয়েকজন ফুল-স্ট্যাক প্রকৌশলী সামগ্রিক নকশা পরিচালনা করতেন, যখন বাকি প্রকৌশলীরা প্রোগ্রামিংয়ে বিশেষজ্ঞ হতেন, অথবা সিস্টেম স্ট্যাকের মধ্যে প্রোগ্রামিং ব্যতীত নির্দিষ্ট ক্ষেত্রগুলিতে ইঞ্জিনিয়ারিংয়ে মনোনিবেশ করতেন, এভাবে ভূমিকা ভাগ করা হতো।
তবে, জেনারেটিভ এআই প্রোগ্রামিংয়ের দিকটি গ্রহণ করলে, সফটওয়্যার ডেভেলপমেন্ট খরচ উল্লেখযোগ্যভাবে হ্রাস পাবে, যা বিভিন্ন নতুন সফটওয়্যার ডেভেলপমেন্ট প্রকল্পের পরিকল্পনার দিকে পরিচালিত করবে।
ফলস্বরূপ, প্রতিটি ডেভেলপমেন্ট প্রকল্পে, যারা কেবল প্রোগ্রাম লিখতে পারে, এমন প্রকৌশলীদের প্রয়োজন অনেকটাই কমে যাবে; পরিবর্তে, প্রচুর সংখ্যক ফুল-স্ট্যাক প্রকৌশলীর চাহিদা বাড়বে।
তাছাড়া, এই পরিস্থিতিতে কেবল ফুল-স্ট্যাক জ্ঞান ও দক্ষতা যথেষ্ট হবে না। এর কারণ হলো, বিভিন্ন ডেভেলপমেন্ট প্রকল্পে প্রয়োজনীয় সফটওয়্যারের ধরণ বৈচিত্র্যময় হবে, যার অর্থ সব সময় একই সিস্টেম স্ট্যাক ব্যবহার করে ডেভেলপমেন্টের অনুরোধ করা হবে না। উপরন্তু, একাধিক সিস্টেম স্ট্যাকের প্রয়োজন হয় এমন জটিল সিস্টেমের চাহিদা নিঃসন্দেহে বৃদ্ধি পাবে।
উদাহরণস্বরূপ, একটি ওয়েব অ্যাপ্লিকেশনের সিস্টেম স্ট্যাক ব্যবসা বা মূল সিস্টেমের থেকে ভিন্ন হয়। অতএব, একজন ফুল-স্ট্যাক ওয়েব অ্যাপ্লিকেশন প্রকৌশলীকে একটি মূল সিস্টেম ডেভেলপমেন্ট প্রকল্পের দায়িত্ব দেওয়া যায় না।
একইভাবে, ওয়েব অ্যাপ্লিকেশন, স্মার্টফোন অ্যাপ এবং পিসি অ্যাপের প্রত্যেকটির ভিন্ন ভিন্ন সিস্টেম স্ট্যাক রয়েছে। IoT-এর মতো এমবেডেড সফটওয়্যারের জগতে, প্রতিটি এমবেডেড ডিভাইসের জন্য সিস্টেম স্ট্যাক সম্পূর্ণ ভিন্ন হবে।
তবে, প্রোগ্রামিংয়ের উপর গুরুত্ব কমতে এবং সামগ্রিক সফটওয়্যার ডেভেলপমেন্ট খরচ হ্রাস পাওয়ার সাথে সাথে, এই ভিন্ন ভিন্ন সিস্টেম স্ট্যাক সহ সফটওয়্যারগুলিকে একত্রিত করে জটিল সিস্টেমগুলির ডেভেলপমেন্ট বৃদ্ধি পাওয়ার সম্ভাবনা রয়েছে।
যদিও এই ধরনের ডেভেলপমেন্টের জন্য একাধিক স্বতন্ত্র ফুল-স্ট্যাক প্রকৌশলীকে একত্রিত করার প্রয়োজন হবে, তবে যারা পুরো সিস্টেমের তদারকি করতে এবং মৌলিক নকশা পরিচালনা করতে পারেন, তারা একটি গুরুত্বপূর্ণ ভূমিকা পালন করবেন।
এর মানে হলো, একাধিক সিস্টেম স্ট্যাক জুড়ে সর্বমুখী জ্ঞান ও দক্ষতা সম্পন্ন প্রকৌশলীদের চাহিদা তৈরি হবে, যা স্বতন্ত্র সিস্টেম স্ট্যাকের সীমানা অতিক্রম করবে।
এই ধরনের প্রকৌশলীদের সম্ভবত সর্বমুখী প্রকৌশলী বলা হবে।
এবং জেনারেটিভ এআই এর কারণে যারা কেবল প্রোগ্রামিং করতে পারে এমন প্রকৌশলীদের চাহিদা যেমন কমবে, তেমনই এমন একটি যুগ আসবে যখন একক সিস্টেম স্ট্যাকে সীমাবদ্ধ ফুল-স্ট্যাক প্রকৌশলীদের চাহিদাও কমে যাবে।
যদি আপনি সেই যুগে একজন আইটি প্রকৌশলী হিসেবে সক্রিয় থাকতে চান, তবে আপনাকে অবিলম্বে সর্বমুখী প্রকৌশলী হওয়ার পথে যাত্রা শুরু করতে হবে।
সর্বমুখী প্রকৌশলীদের ভূমিকা
যে প্রোগ্রামিং ভাষা, প্ল্যাটফর্ম এবং ফ্রেমওয়ার্কগুলি তৈরি করা হবে, সেগুলির বৈচিত্র্য ব্যাপক।
তবে, একজন সর্বমুখী প্রকৌশলীর এর সব কিছুতেই দক্ষতা অর্জন করার প্রয়োজন নেই, কারণ তারা জেনারেটিভ এআই থেকে সহায়তাও পেতে পারেন।
যদি আপনি জেনারেটিভ এআই-এর উপর ছেড়ে দেন, তবে আপনি পূর্বে কখনও ব্যবহার করেননি এমন প্রোগ্রামিং ভাষা, প্ল্যাটফর্ম বা ফ্রেমওয়ার্কও কেবল মৌখিক নির্দেশনার মাধ্যমে তৈরি করা যেতে পারে।
অবশ্যই, এতে বাগ বা নিরাপত্তা দুর্বলতা প্রবেশ করার ঝুঁকি থাকে, অথবা এমন প্রযুক্তিগত ঋণ জমা হতে পারে যা ভবিষ্যতে পরিবর্তন কঠিন করে তুলতে পারে।
এই ঝুঁকিগুলি চিহ্নিত ও কমানোর জন্য নির্দিষ্ট ভাষা বা লাইব্রেরি সম্পর্কে জ্ঞান থাকা প্রয়োজন। তবে, এই জ্ঞানও জেনারেটিভ এআই থেকে প্রাপ্ত করা যেতে পারে। একজন সর্বমুখী প্রকৌশলীকে কেবল এই সমস্যাগুলি সনাক্তকরণ ও প্রতিরোধ, অথবা ঘটনা পরবর্তী পরিচালনার জন্য পদ্ধতি ও প্রক্রিয়াগুলি দৃঢ়ভাবে তৈরি করতে সক্ষম হতে হবে।
এই পদ্ধতি এবং প্রক্রিয়াগুলি বিভিন্ন সিস্টেম স্ট্যাকের সাথে মারাত্মকভাবে পরিবর্তিত হয় না। যদি বাগ এবং নিরাপত্তা দুর্বলতা প্রতিরোধ এবং ভবিষ্যতের সম্প্রসারণযোগ্যতা নিশ্চিত করার জন্য পদ্ধতি ও প্রক্রিয়াগুলি আনুষ্ঠানিক করা হয়, তবে বাকি কাজ জেনারেটিভ এআই বা সেই নির্দিষ্ট ক্ষেত্রগুলিতে বিশেষজ্ঞ প্রকৌশলীদের উপর ছেড়ে দেওয়া যেতে পারে।
সর্বমুখী প্রকৌশলীদের প্রতিটি স্বতন্ত্র সিস্টেম স্ট্যাকের বিস্তারিত জ্ঞান বা দীর্ঘমেয়াদী অভিজ্ঞতা থাকার প্রয়োজন নেই।
একজন সর্বমুখী প্রকৌশলীর প্রধান ভূমিকাগুলির মধ্যে একটি হল, ফাংশনগুলি কীভাবে বিতরণ করা হবে এবং একাধিক জটিল সফটওয়্যার সিস্টেম, যা বিভিন্ন সিস্টেম স্ট্যাক জুড়ে সহযোগিতামূলকভাবে কাজ করে, কীভাবে একে অপরের সাথে ইন্টারঅপারেট করবে, তা ডিজাইন করা।
এছাড়াও, পুরো সফটওয়্যারটি কীভাবে ডেভেলপ ও ম্যানেজ করা হবে তা বিবেচনা করাও একজন সর্বমুখী প্রকৌশলীর জন্য একটি গুরুত্বপূর্ণ ভূমিকা।
সর্বমুখী সফটওয়্যার
আসুন, বিবেচনা করি যে একজন সর্বমুখী প্রকৌশলী কোন ধরনের সফটওয়্যার ডেভেলপমেন্টের জন্য প্রয়োজন।
আগে, আমি একটি ই-কমার্স ওয়েব অ্যাপ্লিকেশন ডেভেলপ করার উদাহরণ দিয়েছিলাম।
শীর্ষ ব্যবস্থাপনার দ্বারা এই ই-কমার্স ওয়েব অ্যাপটিকে নতুন করে সাজানোর দায়িত্বপ্রাপ্ত একজন এক্সিকিউটিভের নির্দেশে, পরিকল্পনা দল নিম্নলিখিত প্রয়োজনীয়তাগুলি নিয়ে আসতে পারে:
ব্যবহারকারী কমিউনিটি প্ল্যাটফর্মের একীকরণ: এর অর্থ হল, কেবল একটি ডেডিকেটেড ই-কমার্স অ্যাপ বা সাইটের জন্য নয়, বরং এমন একটি প্ল্যাটফর্ম সরবরাহ করা যেখানে ব্যবহারকারীরা পণ্যগুলি এবং সেগুলি কীভাবে ব্যবহার করতে হয় সে সম্পর্কে নিজেদের মধ্যে মতবিনিময় করতে পারে। এর লক্ষ্য হলো ব্যবহারকারী ধরে রাখা, মৌখিক প্রচারের প্রভাব, ব্যবহারকারীদের অবদানের মাধ্যমে বিষয়বস্তু সমৃদ্ধকরণ, এবং পণ্য উন্নয়ন, নতুন পণ্য পরিকল্পনা ও বিপণনে প্রতিক্রিয়া (ইতিবাচক ও নেতিবাচক উভয়ই) একীভূত করা।
ওমনি-ডিভাইস সামঞ্জস্যতা: এটি ব্যবহারকারী সম্প্রদায় এবং পণ্যের তথ্য বিভিন্ন ডিভাইস থেকে অ্যাক্সেসযোগ্য করে তোলে, যার মধ্যে কেবল ওয়েব অ্যাপ নয়, স্মার্টফোন অ্যাপ, ভয়েস অ্যাসিস্ট্যান্ট, পরিধানযোগ্য ডিভাইস এবং স্মার্ট হোম অ্যাপ্লায়েন্সও অন্তর্ভুক্ত।
ওমনি-প্ল্যাটফর্ম সামঞ্জস্যতা: এর মধ্যে কেবল কোম্পানির নিজস্ব ব্যবহারকারী কমিউনিটি প্ল্যাটফর্মই নয়, বরং, উদাহরণস্বরূপ, ব্যাপক ই-কমার্স সাইটগুলিতে পণ্যের তালিকা এবং পর্যালোচনা শেয়ার করা, সামাজিক মাধ্যমের সাথে একীকরণ, এবং বিভিন্ন এআই টুলের সাথে কার্যকরী ও তথ্যগত সংযোগও অন্তর্ভুক্ত।
ব্যবসায়িক সিস্টেমের সতেজকরণ: বিদ্যমান বিক্রয় ব্যবস্থাপনা এবং পণ্য বিতরণ সিস্টেমগুলির সাথে সাময়িকভাবে সংযোগ রেখে, এটি এই সিস্টেমগুলির সতেজকরণও জড়িত। সতেজকরণের পরে, পরিকল্পনায় রিয়েল-টাইম বিক্রয় ডেটা একত্রীকরণ এবং চাহিদা পূর্বাভাস, এবং ইনভেন্টরি ব্যবস্থাপনা সিস্টেমগুলির সাথে একীকরণ অন্তর্ভুক্ত রয়েছে। এছাড়াও, বিতরণকারী সংস্থাগুলি দ্বারা সরবরাহকৃত আঞ্চলিকভাবে বিতরণ করা ইনভেন্টরি সিস্টেম এবং ক্যারিয়ার সাইডে বিতরণ পরিষেবাগুলির সাথে সংযোগ ধীরে ধীরে চালু করা হবে, যার জন্য তথ্য সিস্টেমকে সেই অনুযায়ী ধীরে ধীরে তার ইন্টিগ্রেশনগুলিকে মানিয়ে নিতে হবে।
লিকুইডওয়্যার সামঞ্জস্যতা: সকল ব্যবহারকারী-মুখী ইন্টারফেস, অবশ্যই, লিকুইডওয়্যার সামঞ্জস্যপূর্ণ হবে। এছাড়াও, পণ্য উন্নয়ন ও পরিকল্পনার জন্য অভ্যন্তরীণ ব্যবহারকারী ইন্টারফেস (যেমন তথ্য একত্রীকরণ এবং প্রতিক্রিয়া), সিস্টেম অপারেশন বিভাগ এবং ব্যবস্থাপনার জন্য প্রতিবেদনগুলিও সম্পূর্ণ লিকুইডওয়্যারে রূপান্তরিত হবে।
যদি এমন জটিল সফটওয়্যারের জন্য একটি ডেভেলপমেন্ট প্ল্যান উপস্থাপন করা হয়, তবে একটি ঐতিহ্যবাহী সফটওয়্যার ডেভেলপমেন্ট দল সম্ভবত তাৎক্ষণিকভাবে তা গ্রহণ করবে না। বিকল্পভাবে, সিস্টেম স্পেসিফিকেশন নিয়ে আলোচনার মাধ্যমে, তারা বিশাল ডেভেলপমেন্ট খরচ ও সময়ের প্রয়োজনীয়তা যৌক্তিকভাবে প্রদর্শন করবে, এবং স্পেসিফিকেশনগুলি উল্লেখযোগ্যভাবে কাটছাঁট করার জন্য চাপ দেবে।
তবে, জেনারেটিভ এআই যদি অধিকাংশ প্রোগ্রামিং স্বয়ংক্রিয় করতে পারতো, এবং প্রস্তাবিত সিস্টেম স্ট্যাকগুলির অর্ধেকেরও বেশি দলের কোনো একজন সদস্যের অভিজ্ঞতায় থাকতো? আর যদি দলটির জেনারেটিভ এআই-এর সহায়তায় নতুন সিস্টেম স্ট্যাক, প্ল্যাটফর্ম, এবং ফ্রেমওয়ার্কগুলি প্রথম থেকে সফলভাবে চালু করার একটি ট্র্যাক রেকর্ড থাকত? আর যদি আপনি, একজন সর্বমুখী প্রকৌশলী হিসেবে, ইতিমধ্যেই এই পথে যাত্রা শুরু করে থাকতেন এবং এটি চালিয়ে যাওয়ার ইচ্ছা করতেন, তবে কেমন হতো?
সেই দৃষ্টিকোণ থেকে দেখলে, এটিকে একটি অত্যন্ত আকর্ষণীয় প্রকল্প মনে হওয়া উচিত। আপনি এমন একটি পরিকল্পনা দলের সাথে কাজ করতে পারবেন যা শীর্ষ ব্যবস্থাপনা থেকে উচ্চাকাঙ্ক্ষী প্রস্তাব নিয়ে আসে, এবং এমন একটি ডেভেলপমেন্ট দলের সাথে কাজ করতে পারবেন যার সর্বমুখী সফটওয়্যার ডেভেলপমেন্ট দলে পরিণত হওয়ার সম্ভাবনা রয়েছে।
বিদ্যমান সিস্টেম থাকারও একটি নিশ্চিন্ততা রয়েছে। এটি এমন একটি প্রকল্প যা অ্যাজাইল ডেভেলপমেন্ট প্রক্রিয়ার মাধ্যমে ধীরে ধীরে বাড়ানো যেতে পারে, দ্রুত বিজয়ী, উচ্চ-প্রভাবশালী বৈশিষ্ট্য দিয়ে শুরু করে এবং প্রাথমিক গ্রহণকারী ব্যবহারকারীদের কাছ থেকে প্রতিক্রিয়া সংগ্রহ করে।
এই সবকিছু বিবেচনা করলে, এই সর্বমুখী সফটওয়্যারের ডেভেলপমেন্ট একটি অত্যন্ত আকর্ষণীয় প্রকল্প বলে মনে হওয়া উচিত।
উপসংহার
জেনারেটিভ এআই দ্বারা চালিত স্বয়ংক্রিয় প্রোগ্রামিংয়ের ফলে, লিকুইডওয়্যার এবং সর্বমুখী সফটওয়্যার ডেভেলপমেন্ট ইতিমধ্যেই বর্তমান বাস্তবতায় পরিণত হচ্ছে।
এই প্রেক্ষাপটে, আইটি প্রকৌশলীদের ক্রমবর্ধমানভাবে ফুল-স্ট্যাকের বাইরে গিয়ে সর্বমুখী প্রকৌশলী হওয়ার লক্ষ্য রাখতে হবে।
এর বাইরে, তাদের পরিধি আরও প্রসারিত হবে, আইটি সিস্টেমের গণ্ডি পেরিয়ে সর্বমুখী ব্যবসায়িক প্রকৌশল—গ্রাহক, অভ্যন্তরীণ কর্মচারী এবং এআই-কে সংযুক্ত করে সাংগঠনিক কার্যক্রমকে প্রকৌশল করা—এবং সর্বমুখী কমিউনিটি প্রকৌশলকেও অন্তর্ভুক্ত করবে।
এবং এরও আরও beyond, আমি এমন একটি ক্ষেত্রের উত্থান দেখছি যাকে সর্বমুখী সামাজিক প্রকৌশল বলা হয়, যার লক্ষ্য হলো সমাজের সামগ্রিক উন্নতি সাধন করা।