1 of 38

CPSC 436I

Making the Most of Your Career

Jeremy Goh

2 of 38

So how's the job search going?

3 of 38

Agenda

  • Mindset and Approach
  • Getting an interview
  • Passing your interview
  • Making the most of your job

4 of 38

Mindset and Approach

5 of 38

Getting a job is hard work

  • But it's worth investing in
    • You spend most of your life doing it! At least try and make it bearable
    • Co-ops are a unique opportunity to try different things out
  • It's not the same as school
    • Only some companies care about grades
    • I spent 25% of my time on career stuff while at school and 75% during the terms I was actively interviewing
  • It's not the end of the world
    • Success is subjective

6 of 38

Rejections Happen

That's ok

Getting your first job is hard

  • http://rejected.us

7 of 38

It's a process

  • Wicked problems
    • These are ones which you can't sit in a room and figure out
    • You need to get out there and try things
    • Designing Your Life by Burnett & Evans
  • Trial and Error
    • Resumes, time spent on different parts of the funnel

8 of 38

Be Strategic

  • Time your applications
    • Deadlines
    • You want to put your best foot forward
  • Companies have a cooling off period if you fail an interview
  • Internships are one of the best ways to get a full-time job
  • Don't wait for perfect. It's a numbers game and there's variance

9 of 38

Getting an interview

10 of 38

Standing Out

  • Finding the right jobs
  • Who are the decision makers?
  • Referrals and Networking
  • Building a great resume

11 of 38

Finding the right jobs

  • Apply for things even if you're not qualified (but strategize)
    • You don't need to meet all the requirements but be realistic
  • Events
    • Hackathons
    • On-campus
  • Keep up with the industry
    • Hacker News, TechCrunch
  • Talk to people
  • Google hacking

12 of 38

Who are the decision makers?

  • In general, recruiters are the ones selecting who to interview from resumes
    • They are non-technical
    • You need to communicate your ability in high signal and non-complex ways
  • For on-campus events, alumni who work at the company might do the screening

13 of 38

The goal of a resume

  • A clear, concise way of demonstrating your suitability for the job

14 of 38

Common Mistakes

  • Too long - 1 PAGE ONLY
  • Overly complicated and technical
  • Generic
    • Don't call your class project a side project
  • Not selling enough
  • Doesn't call out relevant info
    • Graduation date, immigration status (for international positions)
  • Poorly formatted
    • Needs to be parseable by an ATS

15 of 38

How do you make your resume stand out?

  • Use proactive language
    • Numbers/metrics
    • Draw attention to your achievements
  • Call out relevant professional experience
    • Internships, Open Source contributions, Volunteering
  • Demonstrate your passion
    • You don't need to love coding but people who code more are probably better at it

16 of 38

But what do you do for your first position?

  • Chicken and egg problem
    • Anything extra you do will help you stand out
  • Go to meetups, join clubs, work on open source projects
    • Google Summer of Code
    • Volunteer
  • Hackathons
    • Build something, learn something, network
  • Go to conferences
    • Grace Hopper

17 of 38

What about side projects?

  • Choose a tutorial and riff on it
  • Some examples
    • A reddit bot that follows your around and upvotes your stuff
    • An app that swaps people's faces
    • A social networking app with built in content moderation
    • A clone of <insert latest cool app>
  • Just start somewhere

18 of 38

My resume back in the day

19 of 38

Referrals and Networking

  • Want a job? Don't apply
  • Networking 101

20 of 38

Want a job? Don't apply

  • When you submit an application, your resume goes into a large stack and there's no guarantee someone will ever look at it
  • Referrals are a way to flag your application as something a recruiter should prioritize
    • Friends or friends of friends who are full-time or interning at a company can refer you
  • A referral can get you an interview or tip the scales if you're borderline in your interviews

21 of 38

Networking - Where do I start?

  • You're already halfway there. Your friends!
  • Events
    • Hackathons
    • Recruiting events
    • Conferences
    • Meetups
  • Social networks
    • Blog, Twitter, Piazza Careers, LinkedIn
  • Alumni

22 of 38

My approach to networking

  • It's more of a mindset and being open to meeting new people
  • Help others without expecting anything in return
    • Things will work themselves out
  • Everyone has their own style, figure out which forum work for you
    • I liked hackathons
  • It gets easier the more you do it

23 of 38

Networking - TO DOs

  • Read How to Win Friends and Influence People by Dale Carnegie
  • Get LinkedIn and Piazza Careers and build out a profile
  • Use LinkedIn to connect with people
  • Pick one thing to get involved in
    • Sign up to tri-mentoring
    • Go up to a recruiter after a talk and ask a question
    • Write a blog and share it with others
    • Go to a meetup and learn a new skill while connecting with new people
    • Answer question on Reddit/Facebook student groups

24 of 38

Passing your interview

25 of 38

Interview Success

  • Types and Purpose
  • The grind
  • Whiteboarding

26 of 38

Types of Interviews

  • HR Screen
    • Work Auth, Communication, Trivia
  • Technical
    • Probably where most people get rejected
  • Take home project (optional)
  • Behavioral

27 of 38

What do you need to show in a technical interview?

  • Coding ability
  • Computer Science fundamentals - Algorithms and Data Structures
  • That you can break down a hard problem
  • You can communicate and work with others

28 of 38

The grind

  • It takes a LOT of prep
  • Resources
    • Programming Interviews Exposed
    • Leetcode (premium + company)
    • Cracking the Coding Interview

29 of 38

Leetcoding - My Approach

  • Start with easier questions for your target companies/often asked
  • Try and solve within 15 minutes
  • Read discussion forum and find optimal answer
  • Repeat
  • Come back later and repeat
  • Understand the fundamental approach rather than memorizing
  • Number of problems I've done

30 of 38

Whiteboarding

  • Understand
    • Ask clarifying questions. Constraints
    • Sample cases
  • Pattern match
  • Think out loud
  • Outline approach
  • Consider complexities
  • Code
  • Test

31 of 38

Example

  • Find the most common element in an array
    • Understand
      • Does the array fit in emory
      • What types of elements
      • What if there's a tie
      • What if it's an empty array
    • Initial approach
      • We have to check every element. No matter what it's O(n) runtime
      • How could we do better?
      • How much space will we use?

32 of 38

What if you don't know where to start?

  • It's ok to ask for a second to think about it
  • Try and think about what makes the problem so hard
  • Consider easier variants of the problem and see if they can help you build up a more general solution
  • Consider other similar problems you've solved before
  • Think out loud
  • Make use of your interviewer's hints, guidance and body language
    • Hmm I'm not sure I understand where you're going with that, can you explain more?
      • i.e. you're probably on the wrong track

33 of 38

Interviews are a two way street

  • Don't forget you're also interviewing them
  • Have questions prepared!
    • How do you typically determine what to work on?
    • Why did you decide to join this company?
    • I heard your team works on technology X, why did you decide to build it in-house?
    • For people you've worked with who have succeeded in this position, what were the things they did day to day that made them stand out?

34 of 38

Common interview mistakes

  • Being late
  • Not being polite or humble
    • We're asking hard questions because we want to get a sense of your ability
    • It's not because we don't like you!
  • Not preparing/regurgitating an answer you don't understand
  • Not testing your code
  • Not demonstrating your interest
  • Giving up
  • Not taking an interviewer's hints or guidance
  • Asking how you did

35 of 38

Making the most of your job

36 of 38

Making the most of your job

  • Communicate
    • Expectations
    • Keep people up to date
    • Ask the right number of questions
  • Skills to pick up
    • Navigate a large codebase
    • When to ask questions
    • When to escalate
  • Watch how other people do it
  • Take notes

37 of 38

Final Thoughts

  • Learn by doing
  • It'll take hard work
  • Time is your most valuable asset
  • I'm putting together a career guide. Sign up here https://forms.gle/igzgRjFAiy9sYg2Z9

38 of 38

Questions?