What is something you wish you knew before embarking on your CS career?

Do things, and tell people about them. That second part is important. If you work on a project, make it a concrete goal to either open-source it or ship it as a product. Blog about it if possible.

Aggressively cut scope on your projects to make the above feasible. The first 90% of the project takes 90% of the time, the last 10% takes another 900% of the time. So think of a fun project, then try to think about how you could make it 10% as complicated as what you'd like to do. You can always iterate.

Big companies like Google hire superstars. They also hire a ton of merely above average programmers who studied for the interviews, and even if you get rejected, actually going on the interview is the best practice. Don't think you're not 'ready'.

Working for a big 4 type company, or working for yourself are the best deals in the industry. Medium sized companies that have raised a few VC rounds are some of the worst because ISOs are broken. Still, probably better than most non-software shop, but only if they don't run the "we're a startup" on you to work you to death.

Programming is not a glamourous career really. A few people become celebrities by chance, luck, and talent but even then, do you really envy them? Don't get too caught up in the field, enjoy it, be good at it, but have other hobbies and interests.

Still, try to find some time for the occasional side project (aggressively descoped as mentioned) and whiteboard interview brush-up.

Don't snub your nose at being a manager. I used to do this. I'm still not in management, but I've realized it's virtually impossible to develop a product singlehandedly. So if you have a passion for building and shipping a product, the only way to accomplish that is to manage other people.

/r/cscareerquestions Thread