I wrote a series of posts called “Impress Your CTO”.
The TL;DR running through all of those is:
- Learn your tooling. We have all made the error of selecting all rows of a database table and then counting them when we should just done <code>select count(*) from table</code>. There are plenty of other instances where something can be very simply and robustly done in your datastore, or even at operating system level, rather than at the application level.
- Be aware that the requirements you get from users only scratch the surface of what they really want to be able to do. Great developers are those who have a sufficient understanding of the users and so intuitively understand what makes sense or not, and what has been left unsaid by the product owner.
The whole series, for your reading pleasure, is re-capped here:
- Learn your database
- Enforce sane limits
- Think about unspecified requirements
- Define your own non-functional requirements
- Beware boring complaints/excuses
- Track everything