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