The demand for Software development experts is still growing all over the world. Some people keep saying we live in a bubble, albeit salaries increased circa 10% Year-over-year during the last five years. Atop, there are two counterintuitive facts. On the one hand, people graduating from Computer Science schools or boot camps are higher than ever. On the other hand, as Software is eating the world, one would expect these technology gains would translate into less and less need for writing custom software.
Economies of scale are the main driver for these salaries to skyrocket. By leveraging Software, a company from Caminha can compete worldwide. At least in theory. That means they have access to a vast market and, eventually, they can make several hundreds of thousands of dollars of revenue per employee. For companies at a loss, the quest for becoming a global, profitable player makes venture capitalists pour an absurd amount of money on these businesses. So, there's a desire for global winner-takes-all companies. As almost every industry in the world needs a digital presence, we can see why there's fierce competition for experts that know how to build and operate Software.
Small firms can't — and won't — afford to pay for custom-built Software. If we go one step further, I believe that market forces will pressure SaaS companies to reduce the number of in-house-built parts.
Are you saying that Software Engineers (SWE) will be out of a job? That's madness.
My reasoning goes beyond that. Nowadays, organizations are still figuring out new processes and automating things. Every company is a snowflake. As new competitors will come, they will realize they're not so different. Processes will get streamlined everywhere. Niche SaaS will substitute entire departments. For example, every double-sided transactional marketplace — from Uber to Vinted — has big teams dedicated to payments. I'm not talking about the payment processing itself, as Adyen, Stripe, and others won that battle a while ago. I'm talking about setting up and maintaining double-entry bookkeeping systems, billing, fraud detection, payouts, etc. It's massive. It's so big that Stripe and others entered this market. Eventually, all these departments will vanish in favor of integrating APIs of a third-party vendor.
Another case where I see this happening is internal tooling. We all know this internal website that customer support uses to block sellers/buyers or show dashboards with real-time business data. Most of them are custom-built by a few engineering teams, using React and other fancy technologies. The cost of running these tools goes through the roof quite fast. Retool and others are capturing this market, making it easier to build cost-efficient, beautiful internal tools.
Simon Wardley wrote about how markets evolve from the genesis towards a commodity. Twenty years ago, we were going to data centers, setting up racks, and so on. Then, cloud products were a reality. In the future, they will become more and more commodities, like electricity. Do we care about electricity beyond switching the plug? Only a few care about power plants. We're going through the same process Wardley described in SaaS products.
Low and no-code
Software Engineers tend to diminish low and no-code tools. They're usually great for building low-complexity, ordinary things. If you get out of the happy path, you start wrestling with them, defeating their initial purpose. However, the landscape is changing. Low and no-code platforms are getting more powerful and learning from past mistakes. Rows, a low-code company based in Portugal, leverage simple, worldwide-used, old spreadsheets to lower the barriers and provide a user interface for free. They're not the only ones. Last January, Microsoft announced Lambda, a way to define custom functions in Excel.
There's much more. Webflow, Outsystems, Bubble, and others will revolutionize the world. Companies will soon realize that instead of very expensive engineers who build custom software, they will need people capable of putting APIs and some generic user interfaces together. Internal tools are the first prominent candidate, but there are more. WorkOS homepage was built using Webflow. Did you notice? I didn't. It looks like any other handmade SaaS product homepage in the world.
I believe this will create two effects in the industry:
- New generation companies that leverage low-code will compete better and, eventually, disrupt incumbents. They will operate on less engineering power and fewer people, in general.
- The Software Engineering craft will become rarer for B2B and B2C SaaS. Only big-enough companies will need custom-made services. I think that we will see a change in the kind of industries that will employ us.
Machine Learning (ML) and Artificial Intelligence (AI)
What about AI? That isn't commoditized, and it won't be anytime soon, right? We can derive Software Engineers to work on ML/AI gigs and accelerate the adoption!
I guess that depends on where you're looking. If we consider that there will be fewer and fewer snowflake companies needing custom-made Software, why would AI be different?
While there's a difference in the maturity of AI versus SaaS, I also see a trend. Machine Learning companies are very capital-intensive, and they don't scale as well as SaaS ones. As we get more models trained, these will cover 80% of the use-cases — object detection, plate scanning, document validation, etc. —, hence driving down the need for training custom ones. I believe that, in the future, these will be accessible through pay-per-use in ML marketplaces. Amazon Web Services is actually on that track. The demand for people in the ML/AI space won't stop, though. I'd argue that most SWEs will become ML/AI engineers at some point.
Preparing for the future
As the SaaS businesses start commoditizing, the SWE industry will suffer a shift towards producing value closer to the customer base. Other sectors — healthcare, pharma, space, blockchain, the Internet of Things, etc. — will benefit from this, and they will have more engineering power available to revolutionize their space.
How can we make ourselves competitive in this new landscape? I guess that in 2021, more than having a job, it's crucial to be employable. High-performers and high-demanded professionals need to be more than SWE experts. We need to understand how companies compete, make money and build up our knowledge base beyond the software craft.
Another critical part is to embrace low and no-code platforms. They are not our enemies. They will allow us to create more value, as we can dedicate more quality time to think about the business and solving customers' problems instead of plumbing. Finally, we need to understand how ML/AI, blockchain, and others will revolutionize the world. We need to sharpen our toolset, preparing ourselves for when they get momentum beyond novelty. That doesn't mean you should suggest your team should use a blockchain in your new project, but rather keep an eye on their evolution.
I was too young when the dot com bubble happened. From what I've been reading, I feel we're witnessing another revolution. Some things will take time to settle. Do you remember Broadcast.com? It was more than ten years before streaming platforms took off. Sometimes the vision is there; our current technology makes it possible to build, but it's not enough to achieve pervasiveness. I think we're in the same place with many other technologies. That's exciting! The next ten years will be fun. Are you ready?