Everybody sabi say generative AI fit create pictures, make photo-realistic images, illustrations, and paintings just by following wetin you tell am.
Meanwhile, for di business world, dem dey focus on generative AI's power to generate programs.
Chat-based AI dey happen because of large language models wey be like foundation, make am sabi tori for different languages and even translate from one language to anoda.
Programming languages, wey dem dey use to create programs, na also a type of language. Human programmers, for one way, dey translate software requirements wey dem hear with mouth enter programming languages.
Because of dis, conversational generative AI wey dey use large language models sabi programming well-well.
Plus, programming na one kind brain work where di correct-ness of wetin you produce fit often dey check automatically and sharp-sharp. Dis na because if you run di program wey you create, e go automatically tell you if you get di result wey you want.
In fact, human programmers often dey create test programs together with di main program to make sure say di main program dey work as e suppose, dem dey check how e dey behave as dem dey develop am.
Generative AI fit also dey program while e dey test, dis one go make am possible say, if human being give am correct instructions, di AI go automatically try again and finish di program until e pass all di tests.
Of course, because of di limitations of generative AI's programming ability and di way human instructions no dey clear, plenty times di tests no go pass even after plenty tries. Also, tests fit no dey enough or fit dey wrong, dis one often dey lead to bugs or problems for di program wey don finish.
But, as generative AI sabi more things, human engineers dey make dem instructions better, and generative AI's programming knowledge dey grow with internet searches, di area wey e fit automatically generate correct programs dey increase everyday.
In addition, as di business world dey look, top companies wey dey do generative AI research and development also dey focus on making generative AI's programming abilities better.
For dis kind situation, di way automatic programming go dey expand for di areas and amount wey dem fit give generative AI to do, e dey expected to quicken.
Plenty times, people wey never develop programs before don set up small development environment based on wetin dem see for internet, then dem allow generative AI handle di programming, and dem finish programs together.
Me sef, as a programmer, I dey use generative AI for programming. Once I sabi di trick, I fit finish software without touching di program at all, just by copying programs into files or cutting and pasting according to wetin generative AI tell me.
Of course, plenty times I dey face difficulties. Dis ones na mostly because my computer or programming development tools get settings wey different small from di normal ones, or free software parts wey dey available na new pass wetin generative AI learn, so e get knowledge gap, or sometimes wetin I ask for dey a bit unusual.
For most cases, if no be dis kind small differences or special circumstances, and I tell am to create a very common software feature, e go generate correct programs.
To Di Era Of Liquidware
As software developer, I fit release di software wey I develop. And di software wey we engineers release, na different different users dey use am.
Di future wey anybody go fit develop software with generative AI na continuation of di tori wey we don talk so far.
But, dis no be just change for di software development side alone. One big change go also happen for di user side.
To tell generative AI with mouth make e automatically add or change things for software no be only for di development time before software release, but e fit also happen while dem dey use am. And di software users sef fit do am.
Software developers just need to define di areas wey dem fit change and di ones wey dem no fit change, then release di software with one generative AI customization feature.
Dis one go allow users to tell generative AI to change small small issues with how e dey use or how di screen design dem want am.
Apart from dat, e go dey possible to add handy features wey dem see for other apps, do many things with just one click, or see screens wey dem dey always access for one single display.
From di software developer side, allowing users to customize like dis get plenty benefits. E go remove di need for dem to add features because users ask for am, and if you consider say e fit make di software popular by avoiding bad feedback and vex say e no dey easy to use, e be big win.
When users fit freely change screens and functions like dis, di idea don really change from wetin we dey call "software" before.
E go good to call am "liquidware" to show say e flow well well and e fit adjust pass software (wey dey flexible compared to hardware), and say e fit di user perfectly.
Before, na only hardware dey do functions, but then replaceable software come out, making am possible for functions to dey done by hardware plus software.
From there, we fit think say liquidware go come out, wey mean parts wey generative AI fit modify. So, overall functions go dey done by hardware + software (wey developers provide) + liquidware (user modifications).
For dis era of liquidware, users' ideas for modification go burst.
One new modification idea wey one user invent fit become popular for social media, make others copy am and modify different different liquidware.
Also, liquidware wey fit combine and handle different types of software must surely come out. Dis one go allow users to see timelines from many different SNS platforms for one app, or combine search results from plenty platforms.
Like dis, for a world where liquidware plenty, different devices, including PCs and smartphones, go provide functions wey fit each person's life and activities perfectly.
Something Wey Dey Happen Now Now
Wetin serious for software engineers like me na say liquidware no be something for future or something wey go take many years to reach.
Dis na because small small liquidware don already fit happen.
For example, make we say I be engineer wey dey develop web application for my company's e-commerce site.
Dis kind web applications normally get databases, sales management systems, and product shipping systems for servers wey di company dey manage or cloud services wey dem don contract. When one user buy something, dis systems go link up to collect money and send products.
Di main systems and databases for dis operations no fit dey changed anyhow.
But, if dem modify di design of di e-commerce website wey users dey see to fit each user's convenience, e normally no dey cause much wahala. Of course, if one user's change affect anoda user's screen, dat na problem, but individual user-specific customizations dey fine.
Different different modifications fit happen: making text bigger, changing di background to dark color, moving buttons wey dem dey always press to positions wey dem fit easily reach with left hand, sorting items by price for a list screen, or showing di details of two products side-by-side.
Technically, dem fit achieve dis modifications by changing di configuration files and programs like HTML, CSS, and JavaScript wey dey show di screen for di browser.
For security matter, dis files originally dey run for di web browser, so engineers wey sabi web applications fit modify dem. So, dem only handle functions and data wey dey safe to be modified.
So, for di e-commerce web app's server side, dem fit store dis files separately for each user wey don log in, add one screen for conversation with a chat AI, and create a way to modify dat user's HTML, CSS, and JavaScript files on di server based on wetin dem ask for.
If you give dis text, along with di configuration information and source code of one existing e-commerce web app, to generative AI, e go likely give you di steps and programs wey you need to add dat kind function.
Like dis, liquidware na already something wey dey happen now now; e no go surprise if e be something wey dey continue to happen.
Omnidirectional Engineer
Even if AI power for automatic programming sabi do more things and di era of liquidware don start already, software development no fit still dey done by generative AI alone.
But, one thing sure na say di importance of programming for software development go reduce well-well.
Apart from dat, to develop software well well, you go need plenty plenty knowledge and engineering skills, no be just general programming, but also cloud infrastructure, networks, security, platforms, development frameworks, and databases—e go cover di whole system from top to bottom.
People wey get dis kind knowledge and skills, dem dey call dem full-stack engineers.
Before now, small number of full-stack engineers dey handle di overall design, while di other engineers go either just focus on programming alone or specialize for specific non-programming areas inside di system stack, dem dey share roles like dat.
But, as generative AI go dey handle di programming part, software development costs go reduce well well, dis one go lead to di planning of different different new software developments.
So, for each development project, dem go need very few engineers wey just sabi write code; instead, dem go need plenty full-stack engineers.
Also, for dis kind situation, just having full-stack knowledge and skills no go be enough. Dis na because different software development projects go demand different types of software, meaning say development no go always dey requested inside di same system stack. Also, di demand for combined systems wey need many system stacks must surely increase.
For example, di system stack for a web application different from di one for business or core systems. So, you no fit give a full-stack web app engineer di core system development project.
Moreover, web apps, smartphone apps, and PC applications get different system stacks. For di world of embedded software, like IoT, di system stack go change completely depending on di device wey dem embed am inside.
But, if programming no dey as important as before and di overall cost of software development go down, di development of combined systems wey join software with different system stacks suppose increase.
While dis one go need gathering many different full-stack engineers for development, engineers wey fit see di whole picture and do basic design go get important position.
Dis mean say engineers with all-round knowledge and skills across plenty system stacks, wey go pass di boundaries of individual system stacks, go dey in demand.
Dem go likely call dis kind engineers omnidirectional engineers.
And just as di demand for engineers wey only sabi program go reduce because of generative AI, time go eventually come when di demand for full-stack engineers wey just dey for one system stack also go reduce.
If you want still dey active as an IT engineer for dat era, you must start to try to become an omnidirectional engineer sharp sharp.
Di Work Of Di Omnidirectional Engineer
Di programming languages, platforms, and frameworks wey dem go develop plenty plenty.
But, dis no mean say person must learn all of dem. Dis na because di omnidirectional engineer fit also get help from generative AI.
If dem give am to generative AI, even programming languages, platforms, or frameworks wey person never use before fit dey generated just by telling am with mouth.
Of course, problem fit dey, like introducing bugs or security holes, or gathering too much technical debt wey fit make future changes hard.
To know and reduce dis risks, you need to sabi di specific language or library. But, you fit also get dat knowledge from generative AI. Di omnidirectional engineer just need to sabi how to properly build di steps and ways to detect and prevent dis issues, or to handle dem after dem don happen.
Dis steps and ways no dey change much with different system stacks. If person fit make di steps and ways to stop bugs and security holes from entering, and to make sure say e fit dey expanded in di future during development, then dem fit leave di rest to generative AI or engineers wey sabi those particular areas.
Di omnidirectional engineer no need to get plenty knowledge or long-time experience with every single system stack.
Furthermore, one of di main works of an omnidirectional engineer na to design how functions go dey shared and how dem go work together inside complex software wey dey operate together across many different system stacks.
Apart from dat, thinking about how di whole software suppose dey developed and managed also become important work for di omnidirectional engineer.
Omnidirectional Software
Make we look at di kind of software development wey go need one omnidirectional engineer.
Before, I give example of developing an e-commerce web application.
Under di order of an executive in charge, wey di company top management don tell to overhaul dis e-commerce web application, di planning team fit come up with di following requirements:
User Community Platform Conversion. Dis mean say no be just e-commerce app or site alone, but to provide one platform where product users fit interact with each other about di products demsefs and how dem dey use dem. Di aim na to keep users, make dem dey talk about di product (word-of-mouth), make content plenty through wetin users contribute, and join feedback for product development (both good and bad) with new product planning and marketing.
Omni-device Compatibility. Dis one go make am possible to access di user community and product information no be only from web apps, but also from smartphone apps, voice assistants, wearable devices, smart home appliances, and all other devices.
Omni-platform Compatibility. Dis include no be only di company's own user community platform, but also, for example, product listings and review sharing on general e-commerce sites, joining with social media, and linking functions and information with different AI tools.
Business System Refresh. While dem go temporarily link with existing sales management and product delivery systems, dem go also refresh dis systems. After di refresh, dem dey plan real-time sales data collection, predicting demand, and joining with inventory management systems. Furthermore, as dem gradually join with regional distributed inventory systems and product shipping services wey delivery companies dey provide, di information systems must also gradually join with dem.
Liquidware Compatibility. Of course, all user interfaces go dey compatible with liquidware. Apart from dat, all internal user interfaces, like di ones for gathering information and feedback for product development and planning, system operation departments, and management reports, dem go also change dem to liquidware.
If dem show one development plan for dis kind complex software, a traditional software development team probably no go accept am sharp-sharp. Or, as dem dey refine system specifications, dem go logically show say e go need plenty development costs and time, and dem go push for big reduction in specifications.
However, wetin if generative AI fit automate most of di programming, and more than half of di system stacks wey dem show, somebody for di team sabi dem, and di team don get experience before wey dem successfully introduce new system stacks, platforms, and frameworks from scratch with di help of generative AI? And wetin if you, as an omnidirectional engineer, don already start dis road and you dey plan to continue for am?
From dat angle, e suppose look like a very sweet project. You go get to work with a planning team wey dey bring out big big proposals under di guidance of planning leadership, and a development team with di potential to grow into an omnidirectional software development team.
One sweet thing too na say existing systems don dey. E also be a project wey allow for agile development processes, where dem fit build features with big impact fast fast, and di system fit grow small small with feedback from early users.
If you consider all dis, di development of dis omnidirectional software suppose look like a sweet project.
For Closing
Because of automatic programming wey generative AI dey do, liquidware and omnidirectional software development don already dey happen for real life.
For dis kind situation, IT engineers go dey need to pass full-stack and aim to become omnidirectional engineers.
Wetin go follow dat one na say their scope go expand to omnidirectional business engineering, wey go comprehensively engineer how organization dey work by connecting customers, internal employees, and AI, go pass wetin IT systems dey cover, and also omnidirectional community engineering.
And even pass dat one, I believe say one field wey dem call omnidirectional social engineering go come out, wey di aim na to improve society completely.