- Other people in other lands that are more passionate and hungrier than you are going to eat your lunch. If you're not passionate, you're going to be out of a job or paid to be a fungible code monkey.
- If you're not passionate already at this point, you probably won't be, or it'll be an uphill battle.
- It's not glamorous. Unless you work with Windows exclusively, it's slogging through a lot of text. No flashing lights, no hauwght hacker chix in spandex.
- Long hours, especially when something goes wrong, your business head overpromises, or you get bullied by your project manager to cut your estimate.
- Maths. Gotta have the maths, especially if you're going to do algorithms.
- If you're going to strike out on your own, you're going to have to have an entrepreneur streak and/or business acumen. If you don't strike out on your own, your path to riches are going to be confined to being at the right place at the right time at the right startup with the right people that aren't going to screw you out of your fortune.
- Along with the business acumen, network always so that the pump is primed for when the well goes dry (or whatever your favorite metaphor is).
- If you work for a big company or the government, be ready to work on antiquated hardware and old versions of software because they don't want to upgrade. It's cheaper in their eyes to have you work longer, since you're exempt, than to pay for a new machine or new software.
- Beware working for a small company that will never go public or doesn't give you equity. They'll overwork you, underpay you, and dangle big promotions for when they get bigger. Which they won't; or they'll give the good stuff to the outsider buddy of the C*O they just hired.
No, I'm not bitter.