To be worth one's salt is to be effective and efficient therefore deserving of one's pay.
The phrase came from before the invention of canning and refrigeration, when the primary method of food preservation was salt. Also, the word salary derives from Latin for salt.
An app is a reflection of its developer. It can help with the valuation of its creator. Some say developers are a dime a dozen, I wonder if they count script kiddies. The script kiddie, after watching The Lion King, thinks lions are cute. Script kiddies not only watch TV, they also see a snippet of code from some site online, blindly use it and then call themselves developers.
There is always a difference though, between script kiddies and newbies. I was a newbie. I still am in some areas. Like Scott Adams says in his book The Dilbert Principle:
Everyone is an idiot, not just the people with low SAT scores.
The only differences among us is that we're idiots about different things at different times.
No matter how smart you are, you spend much of your day being an idiot.
There are some ways to know if your are a newbie or are fast growing out of it. It is by asking the question: Is my app (or product, design, output, whatever) worth its salt?
First answer to the question is the PC test. Everyone now has a personal computer (PC) or easy access to one so it is common place to write something and hit F5 to debug it. This was not always the case. There were times when you wrote some code and had to wait a while to schedule time on some humongous computer to debug it. Now, F5 or a browser refresh will tell you if a bracket has not being closed or a semicolon is missing on a line. This is the PC test: where the computer answers if your app is worth its salt. There is a more advanced step in this test: unit tests. It might be as complex as scheduling time on a computer at first but it gets better.
So, your app passed the first test? Time for the next: The other user test. Give your creation to some other person to test. You will be amazed with The Dolt Surprise:
When Apple's Mac team designed the dialog boxes for the Lisa, it had two buttons: 'Do It' and 'Cancel'. During user trials, the team was baffled by the user behaviour: users would not click the 'Do It' button to perform the action specified by the dialog. Their frustration increased as each new user shunned what was to them an obvious choice until they asked a user. The user answered:
*dolt: a person who is not very bright.
I'm not a dolt*, why should I click that?
The users were reading 'Do It' as 'dolt', a problem that arose from capital I looking like lower case l in the font they used.
So, you see that what your app does may be crystal clear to you (after all, you are its designer and it has NOT been a while since you looked at its innards) but give just 1 other person free rein of it and you will see it through other eyes.
Is your app worth its salt? The third test is this. Unleash several users on it and you will know. The multiuser test will show you how fast things really are, what you have over looked and other stuff you did not forsee. Here, you will know if it was a good idea to use a small int or if 20 characters is long enough for a person's name. You might begin to read about scaling sharding, parallel processes and the cloud. You will lose a lot of sleep here if you did not do things right.
The fourth and final test is the special case test. Everything now works well. Users understand your app as well as you do, a crowd of users does not break it. But can you handle the special cases? It is like being a baby carriage manufacturer. One baby is the norm, twins are not as common but are not rare. The question is, can you handle triplets?
A good example is when your app is so good that you have users all around the world. You then begin to thinl of translation. Every single label in your app you had thought was constant now becomes a regional variable. Then the crisis climbs another notch: you have to include languages with cyrillic characters or those that read from right to left (and also got a bunch of characters your database has to work with). As is that was not enough trouble, you get the Chinese where you handle characters, dialects and they slam you with another: censorship! You now have to manage mainland China and Taiwan differently. At this point, I am sure you will wish the most excruciating death to any one who values your app below $1 billion.