The latest "chain letter" type topic to wend it's way through the blogsphere is "things you now know" and I've been tagged. Here's some things that I now "know" (or opinions I now have) that I wished I'd known earlier in life. I present them without explanation because after all, they're opinions.
In general, software doesn't "evolve". Rather, it goes in cycles which can be equated to fashions, changing slightly each cycle.
Being adament about a particular (currently fashionable) methodology or product (i.e. not listening to others, what's called "output only mode") takes up lots of time in meetings with less payback than it's worth, if its already been decided to adopt a similar but slightly different methodology or product.
It's more difficult to do software maintanance that to do new development. With maintanance, not only your (usually small) change has to work, but all the things and interactions you didn't originally write must continue to work also. With new development, only the things you currently write must work.
Hope this helps someone. MHO.