A couple of interesting things - I spend more time reading code now than I used to, less time actually typing out code. I think this is natural with many years of experience.
After this many years you start to see patterns, not design patterns but organizational ones like:
- You really aren't involved with tech decisions. If you are on the IT side it is likely VP's meeting with sales people making decisions. On the product side you are more involved in decision making but if you aren't in a startup, those decisions have likely been made already.
- Tech decisions don't make/break a product. Sure a really bad choice or design of an overall system can have bad impacts but if you want an RDBMS, MySQL vs Postgres? it really won't impact your product enough to make a difference. Picking Oracle might impact your budget a whole lot.
- Learning people's behaviors and personalities and how to interact. This comes with time but can greatly help your career to learn how to communicate and work with people that have diverse ways of working together.
- There are times to craft wonderful code and then there are other times to just get shit done. An example is spending an elapsed 3 months building a solid, extensible way to call an external service, knowing you will have a few of these coming. Then a couple months later, take 2 days to add on a 2nd external service (or Nth). The business goes "its done already? awesome!" Feels good and maintaining that is easy.
After this many years you start to see patterns, not design patterns but organizational ones like:
- You really aren't involved with tech decisions. If you are on the IT side it is likely VP's meeting with sales people making decisions. On the product side you are more involved in decision making but if you aren't in a startup, those decisions have likely been made already.
- Tech decisions don't make/break a product. Sure a really bad choice or design of an overall system can have bad impacts but if you want an RDBMS, MySQL vs Postgres? it really won't impact your product enough to make a difference. Picking Oracle might impact your budget a whole lot.
- Learning people's behaviors and personalities and how to interact. This comes with time but can greatly help your career to learn how to communicate and work with people that have diverse ways of working together.
- There are times to craft wonderful code and then there are other times to just get shit done. An example is spending an elapsed 3 months building a solid, extensible way to call an external service, knowing you will have a few of these coming. Then a couple months later, take 2 days to add on a 2nd external service (or Nth). The business goes "its done already? awesome!" Feels good and maintaining that is easy.