You might not think that programmers are artists, but programming is an extremely creative profession. It's logic-based creativity.
The key to efficient development is to make interesting new mistakes
Functions should do one thing. They should do it well. They should do it only.
It should be noted that no ethically-trained engineer would ever consent to write a DestroyBaghdad procedure. Basic professional ethics would instead require him to write a DestroyCity procedure, to which Baghdad could be given as a parameter.
If you think you are worth what you know, you are very wrong. Your knowledge today does not have much value beyond a couple of years. Your value is what you can learn and how easily you can adapt to the changes this profession brings so often.
Programs must be written for people to read, and only incidentally for machines to execute.
Commenting your code is like cleaning your bathroom - you never want to do it, but it really does create a more pleasant experience for you and your guests.
We have to stop optimizing for programmers and start optimizing for users.
Low-level programming is good for the programmer's soul.
It's OK to figure out murder mysteries, but you shouldn't need to figure out code. You should be able to read it.
If we wish to count lines of code, we should not regard them as "lines produced" but as "lines spent."
Before software should be reusable, it should be usable.
If you automate a mess, you get an automated mess.
Looking at code you wrote more than two weeks ago is like looking at code you are seeing for the first time.
It's easier to change the specification to fit the program than vice versa.
Less than 10% of the code has to do with the ostensible purpose of the system; the rest deals with input-output, data validation, data structure maintenance, and other housekeeping.
If you have a procedure with ten parameters, you probably missed some.
Code generation, like drinking alcohol, is good in moderation.