The Pragmatic Programmer (Part 2)

Tip 4: Provide Options, Don't Make Lame Excuses

Instead of excuses, provide options. Don't say it can't be done, explain what can be done.

You can't just say "no" to your boss, but you can say "I can't do that, but here's what I can do instead."

Tip 5: Don't live with Broken Windows

Fix bad designs, wrong decisions, and poor code when you see them.

It is too easy for bad code to become a permanent part of a codebase. Fix issues when you find them. The next time you find yourself writing code that isn't up to par, at least add a comment to fix it later, or even better, fix it right then and there.

Tip 6: Be a Catalyst for Change

You can't force change on people. Instead, show them how the future might be and help them participate in creating it.

Be the change you wish to see in the world. This goes for software as well as the actual world.

Tip 7: Remember the Big Picture

Don't get so engrossed in details that you forget to check what's happening around you

It can be easy to get distracted by things that don't matter, so take the time to set your priorities straight.

Tip 8: Make Quality a Requirements Issue

Involve your users in determining the project's real quality requirements

This is something you need to explore with users when you're doing things. No software is perfect, real world software is too complex to be. Discuss with your clients what they need, and what imperfections they can live with.