this_throwaway
On the technical side, try to understand various architecture and how things work together. Do the full stack. Ideally when talking to the clients about a feature, you should be able to figure out what need to be done along the whole pipeline of work.
If you are a software developer and want to go further, I would say get involved in:
- Product management.
- Architecture.
- Go to meetings to talk to clients.
Also consulting for legal technical due diligence.
Avoid excessive startup if possible. I was young and naive. After doing 5 or 6 startups, I realized it's a lossy deal. VC spread their risk by investing in 10 companies and assuming 9 would fail. Founders go in with 90% chance of failing but with enough equity to offset the risk. Early employees are screwed, with 90% chance of failing but with meager equity, while doing huge amount of work.
Join startup for the learning. Join big company for the cash. If you really want startup, join late stage startup that are making money, which drastically cuts down the risk of failure while still give you upside.
Go into consulting is you want the cash. You have to be good and deliver.
Edit: forgot the AMT.
- 125K, startup.
- 110K, cut salary for an early stage startup.
- 150K, with upto 25% bonus, plus options, startup that made boatload of money.
- 210K, consultant
- 280K, consultant
- 300K, consultant