34
Landing A Job: Resume, Interviews & Secrets Ed Keenan DePaul University May 22, 2009

Landing A Job: Resume, Interviews & Secrets Ed Keenan DePaul University May 22, 2009

  • View
    219

  • Download
    0

Embed Size (px)

Citation preview

Landing A Job:

Resume, Interviews & Secrets

Ed KeenanDePaul University

May 22, 2009

Goal:

Types of People

Is programming more of a social or introverted type of work? Social!

Software problems are solved by teams, not individuals Review 1000s of lines of code that you didn’t write

Need to communicate with others to understand it. The geek in the corner solving the problem is a Myth

It died with unicorns and parachute pants in the 1980s Ability to work well in a community is paramount

Dealing with different egos and types of people is critical to success

Technical Candidates

How do you evaluate technical talent? Very Hard to make a accurate evaluation Very subjective

Understand how they think Programmers, engineers and technical people all solve

problems Type of person

What drives them? What type of problems can they solve? What’s their growth potential? Mastery of their domain knowledge

Non-Technical Candidates

Artist, musicians, accountants, lawyers… Easier to evaluate You can evaluate tangible material

Portfolio review Passed the standardized exams

CPA BAR

Evaluating Candidates

What’s a good candidate? 50% Group / Social interactions 50% Potential / Ability

Why? Behavioral / Social abilities

One “Bad” person can negatively affect the group Disrupting the balance Causing internal problems

Projects are social They are done inside a community Recognized this issues and highlight How you fit in.

Skills

Skills Skills are the “How-to’s” of a role

They are capabilities that can be transferred from one person to another. For programmers,

Ability to Program, Debug, Design For Artists

Ability to create Art, Using Tools, Draw

Skills can grow and improve through teaching Not stationary or Static

Knowledge

Knowledge Is simply

“What you are aware of”

2 types of knowledge Factual Knowledge

Things you know Experiential Knowledge

Understandings you have picked up along the way

Remember Knowledge is Power

Talent

Talent Talents are the four-lane highways in your mind

Those that carve your recurring patterns of Thought Feeling Behavior

3 types of Talent

3 Types of Talent Striving Talent

Explain “the why” of a person Explain why he/she gets out of bed every morning Why he/she is motivated to push and push just that little bit harder

Thinking Talent Explain “the how” of a person Explain how he/she thinks How he/she weighs up alternatives How he/she comes to his decisions

Relating Talent Explain “the who” of a person Explain whom he/she trusts Whom he/she builds relationships with Whom he/she confronts Whom he/she ignores

How Important is Talent?

How important is Talent? Everything!!!!

Skills can be trained Knowledge can be learned Talent is inherent

Competencies, Habits, Attitudes, Personal Drive are all talents. We cannot radically change these attributes

through training

Used Car Model

Why interview? Understand what kind of car you are buying

Current state of the car Engine, wheels, interior Does it drive today? Does it pass emission tests?

Potential State Add Turbo, 4-Piston brakes, 500 W speaker system How much work will it take to enhance the car?

Exactly the same with technical candidates Can they do the basic job today? How much training before they are useful? What’s their potential? What do they love or hate in this field?

Résumé

What’s the purpose of a résumé? To get an interview

That’s it. If you get an interview?

Your résumé was good enough

Required Info

Addresses Permanent Address Local Address

Phone number That you can be reached (Not Mom’s) With voice mail

Email College/University info

University Name College Name Major Name Dates attended at each school (Start and End date)

Required Info cont.

Answer this question: Did you Receive a Degree?

Which degree (what it states on diploma) Year the degree was attained

GPAs Overall GPA Major GPA Transferred GPA

If you went to several schools

Company Job’s info Position you are applying Starting Date Visa issues

What not to include

Hobbies Who cares if you sail, play WoW, or snorkel

This is a technical position Class listings We know the classes associated with the degree program,

don’t list them. High School (Anything)

I don’t care if you were 1st in your class You made national honors Played sports or marching band Does not relate to current job

Careful, Careful, Careful

Specialty or area of focus You should really be a master of that knowledge Better than any other candidate in that area. You will get drilled in that area

If you mention, Graphics, Math, OO Get ready to be challenged People in the industry will eat you up.

Never, Never lie That is almost always a ground for termination Falsifying or embellishing your résumé is wrong and evil

Tests

Take Home tests Be aware of the instructions Some have hard time limits Read and follow the instructions Programming Tests

Programming Tests

Please answer the question asked! Many people don’t I don’t know why.

Make sure what you coded – COMPILES Instant score of 0

For code that doesn’t compile Your answers are supposed to impress the

reviewers, If it doesn’t compile, YOU LOSE

Programming Tests Cont.

Watch your style Indentations Comments Variable names Assumptions

Be minimal but precise 5 pages and 1000 lines of code

For a piece of code that should be 15 lines of code Isn’t impressing the reviewer (It scares them)

Clean and elegant always beats fat and sloppy

Talk Guidelines

Muy Importante (very important): Throughout this interview section of the talk Perspective of the people doing the interviews at

Midway. Recommendations based on how we interview

Technical candidates. Point of view

Interviewer’s point of view NOT the candidate. Understanding interviewer goals

Should gives insights on your behavior as a candidate.

Greetings

Introduce yourself Shake his/her hand firmly. Look them in the eyes.

The Interviewer gives a quick summary on what they do Be careful of interviewers who love to talk about themselves

Just want to here about “How great they are” Generally a poor interviewer.

Candidates: Do NOT insult them Make recommendations on their ego They like fan clubs

Do not talk about yourself for a half of an hour. Remember that you have the job and are not trying to sell

this stranger that you are great.

Not a Candidate’s Friend

Do not try to be the candidate’s new best friend Remember:

We are interviewing for a paying job Need to determine if they can or cannot do the

required job

Candidate’s Personality Mostly determined through the lunch interview Also during the course of the interviews

Questions

Ask clear and precise questions Some coaching is good

Be aware when you are supplying him/her with the answer

Do not ask super general questions. “How did you like school?” “What are your interests?”

“Favorite hex number?” Drill down in the topics you are investigating. Get down to specific details quickly.

Questions cont.

Drill down in the topics you are discussing Get down to specific details quickly.

Ask good questions that you know the answer to. Do not ask softball questions. Prepare your questions in advance If you want, try your interview on one of us in the

group

Future Colleagues

Remember the candidate will be working with you and the group. We want to:

See good thought processes See problem solving abilities See they understand fundamental concepts

We do not want: To prove that the candidate knows some esoteric feature of

the language. We want good fundamentals. To re-educate the candidate on programming basics, we’re

not a school To know his high school mile times

Programming / Design Problems:

While the candidate is doing the problem Have them talk out loud Use the marker board Make sure that they understand the question

asked.

Floundering

If they are floundering Try to get them to think the problem out loud. When they’re stuck

say “Assume you have that blah, blah solution, now how would you finish it?”

Don’t give them answers If they hose it up, or take too long, or get

completely frustrated Move on to the next problem My timeout is around 1-2 minutes of them babbling

Finished the Problem?

Ask them if are they finished? I’ve mistakenly thought that they were done, since they had the

correct solution on the board to only find out that they were going to hose it all up on the last step.

This should shed more understanding into the candidate’s ability or lack of ability.

Ask them: “What would you change if you had more time?” Now you’re getting them thinking You can learn a lot from this step

If you can slightly change the problem Can the candidate adapt to the new scenario? Smart people can.

Challenge Them

Ask them an impossible or very hard question I like to see if they are honest They should say:

“I don’t know” “I don’t have enough of experience”

Ask them what would their process be to solve that problem

Test Resolve

Test their mastery of the knowledge If the did something correct

Claim that they did WRONG. A good candidate should fight you back a little

saying that you are wrong

How to improve your Chances

Read these 3 books: Effective C++ Refactoring Pragmatic Programmer

Study every item at Guru Of The Week www.gotw.ca/gotw/

Interview each other Do as many interviews as possible

Contact

Ed Keenan 312.362.6747 [email protected]

Thank You!

Questions?