350 likes | 479 Views
Landing A Job:. Resume, Interviews & Secrets Ed Keenan DePaul 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
E N D
Landing A Job: Resume, Interviews & Secrets Ed Keenan DePaul University May 22, 2009
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 • MuyImportante (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 • ekeenan2@cdm.depaul.edu
Thank You! Questions?