Bug-Free Is a Lie—Don't Fall for It!
Are you looking for someone to develop your app? Don’t let a scam artist scam you out of thousands.
One thing that annoys me to no end is seeing someone take advantage of the vulnerable or uninformed, especially when it is someone in my field.
So if you’re looking to spend $10,000 to $100,000+ on a mobile app, please be on the lookout for anyone saying they write bug-free code. Promising bug-free software is a common practice that takes advantage of individuals unfamiliar with software development. (I have seen clients demand bug-free software, but I give them a pass as they are usually unfamiliar with software development)
You probably have heard this saying once before: “if it sounds too good to be true, it must be.” I take it a step further; you should be increasingly skeptical when someone proclaims to have the perfect answer or solution to a problem.
Software development is no different.
Why won’t you get bug-free?
Suppose bug-free was possible. Then why do large tech giants like Facebook, Apple, Amazon, and Google still have many issues or have bug bounties?
Because most software today does not operate in isolation and is far more complex, testing every situation the software may encounter is impossible.
Software today has to:
- run on multiple operating systems and operating system versions.
- support an increasing number of browsers and browser versions.
- talk to third-party servers such as payment processors.
- use third-party libraries.
There are many moving parts for something to go wrong. If one of those parts, even if the developer uses it, has a bug, then your users will associate that bug with your app.
For example, here is a small list of all the publicly available bug/issues tickets for some of the libraries that a developer might use for your app.
Open ticket counts will change after the time of writing this article.
Google Owned Libraries
- Android OS: ~1.2K open tickets
- Angular: ~1.2K open tickets
Facebook Owned Libraries
- React: ~900 open tickets
- React-Native: ~2K open tickets
Open Source Languages
- PHP: ~300 open tickets
- Ruby: ~300 open tickets
Other Libraries & Software
- WordPress: ~200 open tickets
- Hugo: ~600 open tickets
- Ruby on Rails: ~300 open tickets
Seeing these numbers can make you wonder why the developers promising “bug-free” code are not working for a tech giant where they could be making a killing doing the impossible.
As someone that has hired software engineers, if someone said they write bug-free code, I would end the interview and move on to the next candidate.
So what should you be looking for instead?
The first thing you should be asking is how they approach testing the app. Since bug-free is impossible, what are they doing to minimize the app’s errors?
In the Software Development world, we have many approaches to minimize errors, each covering different layers of the app. From the raw code to how a user interacts with the app. However, you will still only catch some bugs or issues even with these. With good testing, you can minimize the number of problems a user may encounter.
Testing, unfortunately, comes at a cost and will eat into how much can be delivered on your budget. The more tests, the more stable the app will likely be, more manageable for a developer to modify, and easier to maintain. The fewer the tests, the more likely the app will be unstable, harder to change, and harder to maintain. No testing is a receipt for disaster and deserves a separate blog post.
For tight budgets or apps that need to get out as soon as possible, I like to balance out the needs of the business and testing by focusing on critical systems or areas where the user would be annoyed to encounter an error.
Conclusion
Bug-free is a lie, and they are selling you snake oil rather than telling you that you need to allocate some of the cost of the app to testing. If someone promises you a bug-free app, find another software firm or developer that will not lie to you.
Your app deserves the best chance to succeed and your money not wasted.