HACKER Q&A
📣 alltakendamned

How does doing a first class job differ from doing a good job?


How does doing a first class job differ from doing a good job?


  👤 byoung2 Accepted Answer ✓
A first class job is one that anticipates what the user might actually need, not what he asked for, or finding a more efficient way of accomplishing the same result. This is different from gold plating. My elderly mother-in-law is constantly asking me to take her to the post office and the bank. If I just did what she asked, it would be a lot of wasted driving on my part. Instead I ask what she needs to accomplish. If it is to buy stamps or deposit a check, we can accomplish that without leaving the house.

As an example pulled from work, say there is a bug in an app where users input their zip code and get pricing from an API. In the US, zip codes are 5 numeric digits, but it validation is failing for zip codes like 06010 in Connecticut. You realize that the leading zero is being stripped when the zip is interpreted as an integer.

A bad job would be to hard code 06010 in a white list. You'll get another bug report when someone tries 06011.

A good job would be to treat the zip as a string to preserve the leading zero and use regex to check for 5 digits. The downside is that "00000" passes validation but is not a real zip code.

A first class job would be to integrate an actual zip code validation API, like the one from USPS where you feed it a zip and it returns data about it. 00000 would fail, but 00501 would pass. The advantage is that if the US ever updates zip codes to include letters or an additional digit, you don't have to update validation rules on your side.