All very good and important advice for those entering the industry. I'd like to stress the people aspect even more. Treat people the way you want to be treated. If an engineer doesn't understand a certain technology, kindly explain it to them instead of berating them for being "not smart". The jerks will outnumber the saints, but being the latter almost always pay off (being successful, high status, generally liked by everyone else etc.) in the long run.
I'll second this with my anecdata. The thing that has always made me the most money is being able to communicate technical things to non-technical people in a way that doesn't make them feel stupid. There is usually at least one better coder than me on any given team, but they never get advancement because they can only talk to other engineers who they are also usually talking down to.