DEV Community

RockAndNull
RockAndNull

Posted on • Originally published at rockandnull.com on

Is quality software a luxury?

Is quality software a luxury?

That's a bit of a puzzle, and I'll do my best to give you my perspective as both a software engineer and a business owner.

If you had asked me this a few years ago, I would have confidently said that quality software is not just a nice-to-have; it's absolutely necessary. But that's the software engineer in me talking – always aiming for the best performance and efficiency. Back then, I'd put time into refining and maintaining projects without focusing on other business aspects.

But if you were to ask me today, my response would have a different twist: yes, quality software is a luxury, but it really shouldn't be. Why? Well, software is woven into every part of our lives, and if it's done poorly, it can end up costing you a pretty penny – in terms of money, time, and sometimes even your own life.

Take the example of Boeing and their MCAS system: they decided to go with a cheaper software team ($9 per hour), and the result was two catastrophic crashes of the 737 MAX, resulting in the loss of all 346 passengers and crew members on both flights.

Now, think about it this way: would you trust a cheaper software team to create the software for a life-saving device like a pacemaker? Probably not.

In the world of software, going the cheap route can lead to a host of problems:

  1. Initial costs might be lower, but down the line, expenses can spiral out of control.
  2. Scalability becomes an issue because the foundation isn't solid.
  3. Security vulnerabilities and bugs become more likely.

At Pale Blue, we live by our principles, and delivering a top-notch solution to our clients is our utmost priority. However, sometimes our clients are startups working with tight budgets or established companies looking to dip their toes into the market before diving in headfirst.

So, how do we handle this challenge? We focus on building a strong foundation for the project that can be expanded upon later without needing to redo everything:

  1. We write testable code (which can be time-consuming) but we leave more detailed testing for a later phase.
  2. We use software modularity to avoid repeating the same setup steps for each project.
  3. We explore solutions like KMP that allow us to share features across platforms without sacrificing quality.
  4. We break the project into smaller phases, enabling us to quickly identify and correct any issues.
  5. We embrace cutting-edge technologies like Jetpack Compose and SwiftUI to speed up development.

Even if a project is small, we treat it like a skyscraper with a few initial floors. We lay down a solid foundation and design it to scale as needed.

In a nutshell, having top-notch software quality isn't just a fancy extra—it's a must-have. Just like strict rules and standards are crucial when building skyscrapers, the same idea applies to software engineering. This isn't only important in fields like healthcare and aerospace; it's something all industries should prioritize. Why? Because it's a smart way to save money and be efficient in any type of business.

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

Top comments (0)

The Most Contextual AI Development Assistant

Pieces.app image

Our centralized storage agent works on-device, unifying various developer tools to proactively capture and enrich useful materials, streamline collaboration, and solve complex problems through a contextual understanding of your unique workflow.

👥 Ideal for solo developers, teams, and cross-company projects

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay