Care about your work, THINK! Don't run on autopilot.
We who cut stones must always be envisioning cathedrals.
Own your code
No broken windows
Know when to stop
Maintain, update, and diversify your knowledge portfolio.
Communicate - know your audience
Good design can be boiled down to DRY (Don't Repeat Yourself) and ETC (Easy to Change)
Test Early, Test Often
First rule of debugging (whether it's local code or live in production, such as during an incident) - DON'T PANIC
"That's impossible" - Clearly it is possible. Contradictions don't exist. Check your premises.
RTFEM
SELECT isn't broken.
Perfect doesn't exist.
Small steps
Don't fortune-tell
Tell, don't ask - tell the object what to do. Don't use its data and do the thing yourself.
Avoid global data. If unavoidable, wrap it in an API that you control.
Alternatives to Inheritance:
Config as a service
Don't ignore instincts.
Don't program by coincidence.
If you don't know how it works, you won't understand why it fails.
Refactor Early, Refactor Often
No onw knows what they want. Programmers help clients understand what they want.
Don't think outside the box. Find the box first. It may be larger than you think.
Agile
(Not sure how much I agree with this. Things should not be broken to be fixed later)
Testing - A bug should be found once, and once only. The first time a human finds the bug should be the last time a human finds the bug. Add a test repsonsible for catching it.