Interviewing. Interview Scenario You’re working as a software engineer – Several open tickets...

21
Interviewing

Transcript of Interviewing. Interview Scenario You’re working as a software engineer – Several open tickets...

Page 1: Interviewing. Interview Scenario You’re working as a software engineer – Several open tickets – Bug Reports – Sprint deadline approaching You need another.

Interviewing

Page 2: Interviewing. Interview Scenario You’re working as a software engineer – Several open tickets – Bug Reports – Sprint deadline approaching You need another.

Interview Scenario

• You’re working as a software engineer– Several open tickets– Bug Reports– Sprint deadline approaching

• You need another competent hacker on your team• You have to interview the new candidates

– How do you interview them?

• This is how it typically happens– Interviewed by a software engineer

• Some large companies standardize the process– Most small to mid-sized don’t

Page 3: Interviewing. Interview Scenario You’re working as a software engineer – Several open tickets – Bug Reports – Sprint deadline approaching You need another.

Disclaimer

• These are my opinions!– Educated guesses

• The nature of interviews– Ask n people– Get n different answers

Page 4: Interviewing. Interview Scenario You’re working as a software engineer – Several open tickets – Bug Reports – Sprint deadline approaching You need another.

What the Interviewer Needs to Know

• Three primary questions:

Can you solve technical problems?

Can you communicate effectively?

Do you fit in their company’s culture?

Page 5: Interviewing. Interview Scenario You’re working as a software engineer – Several open tickets – Bug Reports – Sprint deadline approaching You need another.

Communication

• When a team has poor communication– Poor software

• Variety of problems occur from poor communication• *Potentially controversial opinions

– Days of the closet coder are all but over– Hacker writes the best code in the world that no one can

read and the coder can’t explain• Useless code• Difficult to maintain and update• Team becomes dependent on that hacker• Usually dump the code and start over

• Prevent this in the interview

Page 6: Interviewing. Interview Scenario You’re working as a software engineer – Several open tickets – Bug Reports – Sprint deadline approaching You need another.

Styles of Interviewing

• Coding interview• Conversational• Critical thinking• Technical grilling

Page 7: Interviewing. Interview Scenario You’re working as a software engineer – Several open tickets – Bug Reports – Sprint deadline approaching You need another.

Coding Interview

• Get a prep book and study!– Tons of resources online

• Combine CSE250 and CSE331• Difficult, but you know what to expect– Be prepared

Page 8: Interviewing. Interview Scenario You’re working as a software engineer – Several open tickets – Bug Reports – Sprint deadline approaching You need another.

Coding Interview Scenario (Google)

• No IDE’s– Phone Interview and a Google Doc– In-person interview and a whiteboard

• Choose your language (Java, C++, Python)• Given a problem and code a solution• *They want to know your thought process– Ask clarifying questions

• “what behavior should this have on the empty string?”

– Verbalize your thoughts– They will talk you through things and help you out– Important to communicate technically

Page 9: Interviewing. Interview Scenario You’re working as a software engineer – Several open tickets – Bug Reports – Sprint deadline approaching You need another.

Coding Interview Scenario (Google)

• Once you have a solution– What the big-O runtime?– Could it be better?– Can you code the optimal solution?– What if I change the requirements?

• Typical to have 2 questions per interview

Page 10: Interviewing. Interview Scenario You’re working as a software engineer – Several open tickets – Bug Reports – Sprint deadline approaching You need another.

Conversational Interview

• Surprisingly common• Just talk about things

– Usually technical• “I see you’ve worked on project X. Tell me about it.”• “You worked on a team on this project, what role did you

play?”• “We use tools X, Y, and Z here. What’s your experience with

them?”– It’s fine to say that you haven’t used them– Better have a good answer for anything listed on the posting

• An experienced interviewer can learn all they need from a short conversation

Page 11: Interviewing. Interview Scenario You’re working as a software engineer – Several open tickets – Bug Reports – Sprint deadline approaching You need another.

Critical Thinking Interview

• How many windows in NYC?• How far is the sun from the Earth?• Designed to see how you think through a

difficult/impossible problem• Uncommon in CS– Why not just ask a coding/technical question?

Page 12: Interviewing. Interview Scenario You’re working as a software engineer – Several open tickets – Bug Reports – Sprint deadline approaching You need another.

Technical Grilling

• Thankfully rare in CS– Depending on your definition of grilling

• There is no right answer• If you give a correct answer– The requirements change

• Fast pace, high stress, high pressure• Why?– How do you think under pressure?– Can you handle failure?

Page 13: Interviewing. Interview Scenario You’re working as a software engineer – Several open tickets – Bug Reports – Sprint deadline approaching You need another.

Random Topic: Dress Nice

• Exact dress depends on the position• Business casual as a lower bound– Dress pants/skirt– Dress shoes– Dress shirt• Long sleeve• Tucked in• Open-collar (If you have a collar)• No tie

• *Doesn’t apply to phone interviews

Page 14: Interviewing. Interview Scenario You’re working as a software engineer – Several open tickets – Bug Reports – Sprint deadline approaching You need another.

Random Topic: Cash Money

• You Don’t Have a Job Yet• Don’t talk about– Salary– Benefits– Vacation time

• If they ask, give a non-specific answer– “I’m looking for a competitive salary”

• Once you have an offer– Negotiation time– Get your money

Page 15: Interviewing. Interview Scenario You’re working as a software engineer – Several open tickets – Bug Reports – Sprint deadline approaching You need another.

Networking

Page 16: Interviewing. Interview Scenario You’re working as a software engineer – Several open tickets – Bug Reports – Sprint deadline approaching You need another.

Networking

• How to make the interview easy– Already know your interviewer!– Or someone else in the company

Page 17: Interviewing. Interview Scenario You’re working as a software engineer – Several open tickets – Bug Reports – Sprint deadline approaching You need another.

“It’s who you know”

• Some truth to this• How does this happen?• Scenario:– You’re a Software Engineer

• Busy

– Hundreds of applicants– Someone you trust says, “Hire Ms. Awesome”– Hiring task just got a lot simpler!

• One resume, one interview, and you can get back to work

– Even better if you know Ms. Awesome directly

Page 18: Interviewing. Interview Scenario You’re working as a software engineer – Several open tickets – Bug Reports – Sprint deadline approaching You need another.

Networking

• Always be networking– If you like talking tech, this can be natural– In-person networking can be stressful

• All hackers love seeing cool projects– From high school students to CTO’s– Interesting projects is why we write code

Page 19: Interviewing. Interview Scenario You’re working as a software engineer – Several open tickets – Bug Reports – Sprint deadline approaching You need another.

Software Engineering Mentorship Program

• Networking in CSE442• Software engineers from industry have been

invited to participate in this class– You can see them on Piazza

• Mentors will give high level advice to groups– They don’t write code or attempt to lead the

team• *Let us know if your group wants to opt-out

Page 20: Interviewing. Interview Scenario You’re working as a software engineer – Several open tickets – Bug Reports – Sprint deadline approaching You need another.

Software Engineering Mentorship Program

• Project pitches due Friday• Starting Saturday:– Mentors choose projects they are interested in– Mentors are matched to projects based on

interests– Jesse uses project pitches to recruit more

mentors