Software developers should be thrilled with this year’s potential. The introduction of modern tools, innovations, and frameworks will provide more opportunities for greater efficiency and much more fun as a programmer in 2023.
Yoav Abrahami, chief architect and head of Velo at Wix Code discussed with TechNewsWorld why he sees such a rosy prospect for 2023.
“I see the best year yet but cannot guarantee there will not be even better years going forward,” he said. “I think a lot of super exciting things are changing the way we build code in the world.”
To that end, Abrahami credits some things happening simultaneously. One is a long-running trend of moving to major platforms that continues in full force. Another is more innovation occurring by incorporating designers as part of the developer team. Bridging the gap between the designer and the developer is significant, he noted.
6 Developer Predictions for 2023
Looking ahead with his software developer’s eye, Abrahami sees a fantastic year to be a developer. Here are his six predictions for what to expect:
- Developers will be able to tackle more complex projects at scale.
- Collaboration between developers and designers will be more effective and inspiring.
- Cloud platforms and low-code tools will consolidate, offering a range of new products, including websites, web apps, and mobile apps.
- The trend of moving to more managed environments will continue, offering new and better-managed services.
- AI will clean up code and free up developers for more creative work.
- Dev talent will be more decentralized than ever before, which translates to more diversity and wider-reaching final products.
If predictions force a compelling why and how from you, read on for Abrahami’s deeper explanations of his vision for the developer community.
DevOps Narrowed the Gap
This history of the developer community is marked by ongoing friction between “system people” and software developers. Often developers shipped software that failed to perform to expectations, and it then was the system people’s job to make it work, which caused more friction.
“We solved that friction by introducing the idea of DevOps. It moved the responsibility of failure caused by systems changes back to the developers to become one team,” observed Abrahami.
Another approach that is helping to spur better opportunities for developers is to have both elements in the same working environment, he suggested. His company takes this method of team building for software development.
Wix’s solution: Let the designer take responsibility for the design and create one team that includes both the designer and developer. All involved get the same tools.
“In the same environment, the designer designs the UI, and the developers write code to work with the UI. The reality is that 99.9% of the teams will opt for the more modern tools, as happened with DevOps — and this revolution will happen for developers. It is happening now, and we see that simply because projects are being shipped at a velocity we never imagined. It is so amazing to see that,” he exclaimed.
Digging Deeper Into the Developer Environment
My conversation with Yoav Abrahami continued with this Q&A.
TechNewsWorld: What is making it possible for devs to tackle more complex projects at scale?
Yoav Abrahami: No one brought into the team is opposed to developers and designers working together. This means you can work much faster and be much more productive. But on top of that, we will continue to move to more managed environments. That means that you are going to be much more effective in terms of all your software.
What is changing in the developer community?
Abrahami: You must remember what managed software really is. It is always a trade. You are trading your freedom to make choices, such as which service just works.
Years ago, you would be working on your own machines, and you would choose your OS. Today, you do not even do that. Years ago, you would build servers and try to figure out which framework to use. Today, you might use several lists, and you do not really care what is going on underneath them.
Looking at what we have today, we are even going another step forward. You do not even choose your front-end framework. We give you an out-of-the-box solution where your ID, development environment, database, back end, and front end all work together.
How widespread is this innovation? Is Wix in the minority with these approaches?
Abrahami: We are not the only ones doing that. It is happening all across the industry. You can see more and more solutions with online development environments with zero configuration of the platforms needed.
To give a sense of what I am talking about, consider how long it would take to build a call center where thousands of volunteers can sign in, go through a process of verifying who they are, and then be able to call people to ask if they need help with medicals or food or anything during Covid. It would probably take months, even two years, to build in a normal way.
We have built one in two weeks. Within a month, we had 700 volunteers using that system. It used Twilio for the telephony, a ready-made solution available for the UI to two different applications. That is that’s where we are moving to be much faster.
I would say that if today you have been struggling to build products for months, you are doing something wrong.
How much impact is made by using cloud platforms and low-code/no-code tools?
Abrahami: The idea of low-code is to make you much faster in terms of what you are building. You do not need to write all the code and get it on the main platform. You just add a little bit, a few lines of code here and there — and we have a solution.
But then, low code also can become a failure when you want to do something, such as comparing 600 steps of coding, and you want to change something. How do you test it? How do you check that change? How do you know the impact? How do you even see the change between one version and another?
How does artificial intelligence factor into what is happening within the dev community now?
Abrahami: To be honest, no one knows. But we do know it is going to disrupt everything. That is the reality.
Let’s assume you ask the best AI to write code for you, and that code is a piece of software to run your train. Whom do you blame when that train crashes because of a bug? Is it the AI’s fault? Is it the AI vendor’s fault? Is it the fault of the person who wrote the code with the bug on which AI was trained?
All of those questions sum up to one big issue: How will that work? We do not know! But we do understand that there is potential in AI coding.
Do you have hope for AI as a benevolent tool for developers?
Abrahami: I do see huge potential in AI. We look at quality, and there are two things in the quality we do not know how to measure. We do not know how to measure usability, and we do not know how to measure correctness. Now, AI might be able to give us answers there, and I might be able to create an AI that will give me that.
Where do you see all of this potential heading?
Abrahami: Think about usability for an application programming interface (API). That is much easier to do than to measure if it can try to write code that solves your next big problem. Now, this is just one example. Another example you can think about involves AI.
When should I scale up, or should I scale down? When should I do a failover? When should I stop one service because it causes problems with other services? And so on.
Maybe all of those things can be automated using AI. Automating might prevent shipping faulty software through early bug detection. So lots of potentials exist. There are lots of things that we can do today with AI to change the way that we, as developers, are working. Things that we do trust about AI, such as tools to aid you in your what you’re doing.
Another example is a semantic search. A lot of times, you go into a category, especially in large organizations. You are pretty sure someone in the company has done what you are looking for, but you do not know how to look for it because you lack the exact syntax.