The trouble with being innovative is that people want a faster horse, not a Model T. You have to work hard to convince them otherwise. ---- Paving over a protocol, library, or language leaves a nice, smooth surface in the beginning, but it doesn't take long for cracks to form. ---- When people describe a piece of code as "ugly", "convoluted", or "over engineered", what they are actually saying is the code isn't a natural solution to the problem it is trying to solve. Natural solutions don't fight against the problem; they work *with* the problem. Natural solutions are simultaneously simple and effective, with no wasted motion. This is the definition of elegant code. ---- A wise farmer understands that they can't fight against nature; they may cultivate the richest soil, water regularly, and ensure plenty of sunshine. However, if they don't invest in quality seeds, they know they will still end up with a lousy crop. ---- Software teams often forget that they are made up of people, and that people cannot be defined by their titles. Removing the mental and organizational silos around titles--allowing each person on your team to flow into where their talents and personalities naturally take them--unleashes creativity and dramatically improves the quality of what you are building together.