Welcome to software development and engineering in 2023. Sit down. Buckle up. Let’s ride!
We’re midway through the year, and advancements in tech are in the driver’s seat of almost every industry, especially software. (Shocker, I know.)
We’re a booming industry with no signs of slowing down.
- In 2022, IT spending on enterprise software amounted to around $783 billion worldwide, a growth of 7.1% from the previous year.
- The global software development market is expected to expand at a compound annual growth rate (CAGR) of 11.9% from 2023 to 2030.
- The number of software developers in the world is expected to grow to 27.7 million in 2023 and 28.7 million in 2024.
I’ve been on this road for more than 20 years, and it keeps me on my toes at every advancement. I know, at this pace, it’s important to keep your head on straight and not fall for fads or shortcuts.
Here are three software development trends we want to pin to the forefront of your brain. They offer a lot of value when leveraged through the lens of building software right, building it fast, and building it to last.
1. AI Code Generation — Beware of False Gods
Everyone’s looking for that silver bullet, aren’t they? Well, in order to hit your metaphorical target, a human needs to load, determine where to aim, and consider the ethical ramifications of firing.
Between ChatGPT, Bard, and all the other AI tools software developers should be using in 2023, the consideration isn’t necessarily “should,” it’s “how.”
Leveraging artificial intelligence (AI) and machine learning (ML) in software development is a trend that’s evolving every nanosecond. Human intelligence (HI) MUST keep pace to ensure inputs do not output AI hallucinations or unintended and potentially damaging artifacts that may be latent or appear benign, lead to a false sense of confidence, but ultimately add negative value to your efforts.
Engineer Your Software Smarter, Not Harder — From Point A to Point Z
Modularis’ mantra is build it right, build it fast, and build it to last. Using AI code in software development and engineering has its upsides.
Everyone wants to save time, reduce errors, and simply eliminate tedious tasks. That’s exactly why we bang the low-code automation drum ALL. DAY. LONG.
But make no mistake, it’s a tool, not a replacement for your software development team’s innovation and discernment.
Putting too much trust in AI code without critical thinking and human verification can lead to software CEOs, developers, and engineers:
- Getting lazy
- Having false confidence
- Blurring ethical lines
- Losing sight of true goals
- Drowning in useless data points
For example, say your team is developing monitoring software for the fleet shipping industry. Its goal is to ensure drivers are being safe and smart on the road to reduce the risk of accidents and insurance claims and streamline routes to minimize time and fuel consumption.
A worthy and challenging goal. AI engines today are capable of analyzing and identifying all sorts of driver behavior, but as the classic line from Jurassic Park goes, just because they could doesn’t mean they should.
Should a driver be dinged for drinking a soda, having a snack, changing the station on the radio, or answering a call from headquarters on the road?
Doing so is actually counterproductive and loses sight of the original goal: to minimize risk. New capabilities provided by AI result in an INCREASED need for mature leadership in software engineering, not just to get maximum benefit from AI, but also to ensure that organizations can filter out the signal from an ever increasing level of noise.
Before you release the AI hounds, be crystal clear in how you will measure value, and establish your risk tolerance and cost thresholds. Then select, configure, and utilize the right AI components to move the needle for your business, and be aware that in many cases, less is more.
2. Software Security — Be Safe(r) Not Sorry(ier)
Building secure systems is a challenge. The threats keep increasing and getting more sophisticated, and software development teams can never think of the process as “done.”
Code scanning is often considered an easy and effective way to determine gaps or weaknesses in software. However, addressing the gaps found by doing code scanning can provide a false sense of security and waste enormous amounts of time.
I’ve also seen organizations burn huge amounts of time to fix everything that a code scanner found, when ultimately there’s little risk from the types of potential attacks they identify, and there are much more obvious and likely threat factors that should be covered.
Please don’t think you need to do a massive retrofit or immediately fix everything a code scan finds. From a revenue standpoint, going for a “Big Bang” on security is counterproductive and costly. You may be able to quickly put in a workaround that will address immediate issues and buy you time to tighten the bolts further over the next 3-6 months.
Evaluating your internal operations is also obviously vital, and outside organizations and tools can assist you in assessing your company’s current level of such security. That may include setting up things like:
- Two-factor authentication
- Proper encryption
- Network security policies
- Employee security training
Again, remember that no product will ever be fully secure. You should focus instead on making continuous improvements and investments in security of your products, networks, tooling and processes. Budget the time, effort, and dollars to tighten the security bolts a little bit further every quarter.
Once you’ve internalized and committed to this effort, share this commitment with your customers–they’d much rather take comfort in knowing that you’re taking security seriously and on an ongoing basis, rather than tackling the issue piecemeal.
3. Low-Code Platforms — They Are The Champion, My Friends
Our focus at Modularis has always been in the low-code space. We believe that a full 80% of the code that’s written for app development can and should be automated.
Why? Because we like to see our customers write less code and write more invoices.
Only 20% of the code of any commercial software product or platform directly delivers value to customers. The other 80% is the non-sexy infrastructure and plumbing that’s critical to a solution’s stability, scalability, and flexibility, but is also the source of the vast majority of problems in traditional software development. Digging deeper, fully half of this infrastructure/plumbing code (40% of your total) is universal and can be pre-built in advance. The remaining 40% can be generated automatically. This is exactly our approach with the model-driven automation of our generative low-code platform, PlatformPlus®. It enables our customers to focus all their engineering efforts only on the 20% of code that remains to deliver high value to their customers.
It’s all about allowing your developers to spend more time innovating and less time building or fixing plumbing code that can and should be automated. You want to give them the time and headspace to build the features, capabilities, and experiences your customers need, or get your minimum viable product (MVP) launched fast. This will get you to market faster, and ultimately, generate revenue faster so you can keep reinvesting and growing.
Trend Wisely
Don’t get caught on a road to nowhere believing every bit of the hype around the cacophony of new software development trends. Take the good, toss the bad, and get your quality software product to market fast.
Remember:
- AI-generated code supports your software developers and engineers. It does not replace them.
- Software security is an ongoing process. Leverage third-party tools or organizations that help you ward off actual threats.
- Low code lets software developers and engineers add value to your product vs. throwaway code that could be automated.
If the thought of delivering commercially viable product in 90 days sounds attractive, download our free comparison guide today to see how PlatformPlus® will get you there on time.