I spent fifteen years as a full-time software engineer, for companies in and outside of the software industry. I slid over to being a technical program manager in 2014; I solve problems with teams, make sure we're building the right things efficiently, and try to keep engineers happy. I live in Silicon Valley.
I've taught software interviewing skills to a few hundred people, published with the ACM, and lately written a surprising number of patents, for better and worse. I've lived in Silicon Valley, Pittsburgh, and Washington, DC.
I've also worked as a bartender, cab driver, rave promoter, medic, Walmart employee, dishwasher, movie theater attendant, and waiter at a chain diner. I like technology quite a bit, but certainly miss a bunch of those previous jobs as well.
If there was a course that computer science degrees lack that was designed to make you a much better professional engineer early-career, even odds that The Pragmatic Programmer and Code Complete would be the reference texts. As the less-technical guide to working in the software industry, Team Geek is worth a read.
Meanwhile, some of my responses on stackoverflow:
Q&A for professional and enthusiast programmers
Q&A for professional programmers interested in conceptual questions about software development
Q&A for people who want to be financially literate
Q&A for meta-discussion of the Stack Exchange family of Q&A websites
Q&A for contractors and serious DIYers
Q&A for computer enthusiasts and power users
Q&A for people who build and repair bicycles, people who train cycling, or commute on bicycles
Q&A for system and network administrators
Q&A for theoretical computer scientists and researchers in related fields
Q&A for pro webmasters
Q&A for Data science professionals, Machine Learning specialists, and those interested in learning more about the field