The Simplest Option Is Usually the Best Faster and cheaper to implement. Easier (for other developers) to understand, inherit, maintain, debug. Less likely to fail or break. Lessens the amount of cognitive overhead when working at scale.
Reduce the Amount of Moving Parts Get rid of as much as you can. Every moving part is a potential point of failure. You’re inviting the chance for something to go wrong. Reduce both features and code.
Understand the Business Code itself is unimportant: it’s a means to an end. Understand the business cost and value of your work. Don’t waste other peoples’ money.
Care Less, Care Appropriately No one cares about your code more than you do. Pick the right battles. Remain objective. Balance the needs of everyone. Be less selfish. There is a much bigger picture to look at.
Think at Product Level Your job isn’t just to reproduce designs anymore. Do not put yourself in a bubble. Get involved with everyone else’s issues. Do what’s right for the product.
Do Not Design Systems around Edge-cases Don’t let the minority lead the majority. Build for the most common scenario first. Solve edge-cases separately.
Don’t Build It until You’ve Been Asked for It You’ve caused yourself work, and cost the business money. No spec, so how do we know it’s right? How do we test it? Could end up influencing the rest of the project. Now you have to maintain something that no one even wanted. Solve each problem as you encounter it.
Ten Principles for Effective Front-end Development The Simplest Option Is Usually the Best Reduce the Amount of Moving Parts Understand the Business Care Less, Care Appropriately Pragmatism Trumps Perfection Think at Product Level Do Not Design Systems around Edge-cases Do Not Make Decisions Based on Anecdotal Evidence Don’t Build It until You’ve Been Asked for It Expect and Accommodate Change