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.

For interviews specifically, Steve Yegge made a post that got me my job, and I wrote a later article talking about technical interviews aimed at undergrads.

Meanwhile, some of my responses on stackoverflow:

Top Answers
1 2