You don’t choose software. You choose software developers.
I’ve done lots of internal and external software project audits. The clue to a good audit, is that you are judging the building and the builder, because the former determines the present state of the code and the latter determines how things will be built going forward.
Here’s what to look for in a good developer:
- curious : eager to learn from others
- humble : seems slightly embarrassed, when you report an issue, and tries to reproduce and fix the problem
- responsive : they try to get back to you within 24 hours, or they arrange a sub or post a notice, when they’ll be away for a while. They feel bad, if they leave someone waiting, so they’ll send updates, even if it’s just to ask them to be patient.
- diligent : they don’t leave websites rotting, abandoned. They either maintain it or pull it down. They check their repos regularly and actively manage the PRs and issues.
- egalitarian : they care about all of their users, whether they are rich or poor, famous or unknown, premium or freewarers
- agile : they don’t let the system go stale, for months, and then dump a gigantic commit
- honest : they don’t lie, ever. Never ever. They’re not sneaky or evasive. If something they promised won’t work out, they announce it. They readily admit to things that make them look bad.
- calm : they are not histrionic, hyperventilatory or prone to needing a Wellness Break, to recover from the stress of dealing with humans and code
- centered : they have a plan, for their software, that they regularly refine, but they don’t flit from one Next Big Thing, to another. They resist hype and examine concepts soberly and analytically.
- concerned : they test their software before giving it to other people because they want them to have a positive experience, while using it. If something is just a prototype, they make that clear, when announcing it.