Now is the perfect time to become a software developer
Now is the perfect time to become a software developer
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 Velo Lead at Wix Code, told TechNewsWorld why he sees such a rosy outlook for 2023.
“I see the best year yet, but I can’t guarantee there won’t be even better years in the future,” he said. “I think a lot of super exciting things are changing the way we build code in the world.”
To this end, Abrahami attributes certain things happening simultaneously. One is a long-standing trend of moving to major platforms that is still going strong. Another is more innovation that happens by incorporating designers into the developer team. Bridging the gap between designer and developer is important, he noted.
6 developer predictions for 2023
Looking to the future with his software developer 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 large-scale projects.
- Collaboration between developers and designers will be more efficient 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, better managed services.
- AI will clean up code and free up developers for more creative work.
- Development talent will be more decentralized than ever, resulting in greater diversity and higher-reaching end products.
If the predictions force a convincing Why and How? ‘Or’ What on your part, read on for Abrahami’s more in-depth explanation of his vision for the developer community.
DevOps has closed the gap
This history of the developer community is marked by ongoing friction between “system people” and software developers. Often, developers would ship software that didn’t meet expectations, and it was then the system people’s job to make it work, which caused more friction.
“We solved this problem by introducing the idea of DevOps. This shifted the responsibility for failures caused by system changes to the developers to become one team,” Abrahami observed.
Another approach that helps create better opportunities for developers is to have both elements in the same working environment, he suggested. His company adopts this team building method for software development.
Wix’s Solution: Let the designer take responsibility for the design and create a team that includes both designer and developer. All participants receive 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 teams will go for the most modern tools, as has produced with DevOps – and this revolution will happen for developers. It’s happening now, and we’re seeing it just because projects are being shipped at a speed we never imagined. It’s so amazing to see that,” he exclaimed.
Deepen the development environment
My conversation with Yoav Abrahami continued with this Q&A.
TechNewsWorld: What enables developers to tackle more complex projects at scale?
Yoav Abrahami: No one on the team objects 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 towards more managed environments. This means that you are going to be much more efficient in terms of all your software.
What’s changing in the developer community?
Abrahami: You need to remember what managed software really is. It’s still a job. You are trading your freedom to make choices, such as which service works.
Years ago, you worked on your own machines and chose your operating system. Today you don’t even do that. Years ago you were building servers and trying to figure out which framework to use. Today you can use multiple lists and you don’t really care what happens underneath.
Looking at what we have today, we even take another step forward. You don’t even choose your front-end framework. We offer you an out-of-the-box solution where your ID, your development environment, your database, your back-end and your front-end all work together.
What is the diffusion of this innovation? Is Wix in the minority with these approaches?
Abrahami: We are not the only ones doing this. This happens across the industry. You can see more and more solutions with online development environments without any configuration of the necessary platforms.
To give an idea of what I’m talking about, consider how long it would take to build a call center where thousands of volunteers can log on, go through a process of verifying their identity, and then be able to call people to ask if they need help with medical care or food or anything during Covid. It would probably take months or even two years to build in the normal way.
We built one in two weeks. Within a month, we had 700 volunteers using this system. He used Twilio for telephony, an out-of-the-box solution available for the user interface of two different applications. This is where we are heading to be much faster.
I would say that if today you are struggling to create products for months, you are doing something wrong.
What is the impact of 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 build. You don’t need to write all the code and get it on the main platform. You just add a little, a few lines of code here and there – and we have a solution.
But then low code can also become a failure when you want to do something, like compare 600 coding steps, and want to change something. How do you test it? How do you verify this change? How to know the impact? How do you even see the change from version to version?
How does artificial intelligence take into account what is currently happening within the developer community?
Abrahami: To be honest, nobody knows. But we know it will disrupt everything. It’s reality.
Suppose you ask the best AI to write code for you, and that code is software to run your train. Who do you blame when this 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 the AI was trained on?
All of these questions boil down to one big problem: how will it work? We do not know! But we understand that there is potential in AI coding.
Do you have hope for AI as a benevolent tool for developers?
Abrahami: I see huge potential in AI. We look at quality, and there are two things about quality that we don’t know how to measure. We don’t know how to measure usability, and we don’t know how to measure accuracy. Now maybe the AI can give us some answers there, and maybe I can create an AI that gives me that.
Where do you see all this potential heading?
Abrahami: Think of the usability of an application programming interface (API). That’s a lot easier to do than measuring whether it can try to write code that solves your next big problem. Now, that’s just one example. Another example you can think of involves AI.
When should I increase or decrease? When should I do a failover? When should I stop a service because it is causing problems with other services? Etc.
Maybe all of these things can be automated using AI. Automation can prevent faulty software from being shipped through early bug detection. So there are lots of potentials. There are many things we can do today with AI to change the way we as developers work. Things we trust about AI, such as tools to help you with what you do.
Another example is a semantic search. Often you fall into a category, especially in larger organizations. You’re pretty sure someone in the company has done what you’re looking for, but you don’t know how to look it up because you don’t have the exact syntax.