Mountain View, CA
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:
- What should a developer know about UI design?
- Pitfalls when outsourcing?
- Why is a data structures course important?
- When should you break away from xxxx to improve performance?
- Why isn't the Referral Removed for HTTPS -> HTTP?
- Meta: in the comments, showing someone how to ask questions