Here are a few things that I have learned:
# Requirements - List out clear requirements, get an agreement with your co-decision makers, and the necessary people. Make sure you address for at least 2-3 yrs of requirements. It is likely, that new requirements would pop up and your system should be adaptive to this - if you think that your system is not going to address a specific thing, think twice, you may get buy-off & assurance from product, directors. However be prepared mentally that six months down the line, this will change.
# My Dos and Don't (always subject to change :))
- Do keep things simple
- Don't make a career out of a single project.
- Do list tradeoffs in your design
- Do document and perform deep dives.
- Don't ship prototypes.
- Don't be afraid to get critical feedback. If someone gives critical feedback, spend a few days to clearly understand the feedback
- Don't be defensive
- Don't be attached to what you build, it does not represent you.
- Do use new tech in baby steps
- Do experiment - The more you experiment, the more you learn, the more you will fail. Is this something that you have the mindset for? You can also ask how much do you have the time/energy for?