Slide 1 - UIC - Computer Science - University of Illinois at Chicago

advertisement
A Primer on Jobs in Industry
Nitin Jindal
Department of Computer Science
University of Illinois at Chicago
Overview
• My Experience
• Different Types of Jobs in Industry
• Interview Process and Application
requirements
• Post Interview
• About me
– 5th Year PhD in Computer Science
– Data Mining, Web Mining, Machine Learning and
Natural Language Processing
– Wanted job in Industry
My Job search experience
• Started looking for a job in January
• The process took 3 months
– From applying for a job to getting one
• Applied for both research and software
engineering positions
• Interviewed for two research and three
software engineering positions
Research Related Job
Research Scientist
Research Engineer
– Similar to academic
research
– Easy to switch back to
Academia
– Team dependent
– Publishing papers
– team dependent
– Your role in the team
–
Ex: Research Scientist at Google
Research, Yahoo Research and
Microsoft Research
Post Doc Researcher
–
Ex: IBM, Microsoft Research, etc
– Ex:
– Research Software Design Engineer
(RSDE) at Microsoft
– Scientist at Yahoo Labs,
– Research Engineer in a Google
Researchh Team
Job Application depends on (in that order):
1) direct contacts (person you know before, internships, conferences)
2) advisor’s connections, 3) referral, 4) university, 5) direct application
Software Engineering
• Different Roles
– Software Engineer
• Two roles: Development and Testing
• MS and BS software engineers mostly do coding
• PhD software engineers are do design
– Software Engineer in Test
– Program Manager
• Least coding, more management, interacting with clients,
drawing user specifications and other non-technical parts of
software development cycle
• Apply directly, via advisor or via UIC recruiting
website
How and Where to look for Jobs
• Advisor, Friends and other Contacts
• Message Boards
– Kdnuggets, dbworld, indeed.com, etc
• Websites of
– Research Labs (ex: PARC, NEC, ANL)
– Companies (ex: Google, Microsoft, HP, IBM, Apple, etc)
• Recruiters
– Useful for non CS jobs (like hedge funds), startups, etc
– Companies/People who recruit for other companies
– How to find them?
• People who work in silicon valley generally know one or two such
recruiters
Interview Process
• Initial Phone Screen
– One, two and up to three phone interviews
• Full Time Interview
• Research position
– Resume is different from academic one
– Presentation on your research
– 6-7 technical interviews
• Algorithm and design questions, questions on research
• Software Engineering position
– 5-6 technical rounds
• One round is a discussion on your research and CV
– Some interviews are a lot more tougher than the others
• Depends on the team and the position you are applying
Interview Questions
• Research
– open ended questions
– A lot of Qs on your research area
– Some algorithm design and programming language specific Qs
• Software Engineer
– A lot of Algorithm design questions
– Some programming language specific Qs
– Expect tough Qs based on fundamental concepts like probability,
combinatorics, sorting, etc
• Some Qs depend on your background
– If background in theoretical research, expect more coding questions
like “reverse a string in C”
– If background in applied research, expect theoretical questions like on
probability theory
Preparing for an Interview
• Different Strategies work for different people
• Based on my personal experience
– practice the interview questions available online
• You will be surprised with how many Qs you have seen
before
– brush up concepts in your research area
– Most Algorithm design Qs are based on simple
fundamental concepts
• Not much need to study complex algorithms like string
matching, graphs, etc
Things to Remember During an
Interview
• When asked a question
– Take few seconds to do back of the envelope calculations
• What if you get stuck in a question
– Never have dead air for more than few seconds. That is not useful
– Ask the interviewer for a hint
– Try to solve a sub-problem first
• Take a break between interviews
– Recharges your batteries, helps you shed of mistakes in the previous
interview
• Questions for Interviewers
– Only opportunity to know more about the company/job
• Examples: Difference b/w MS and PhD engineers, flexibility, type of projects
you will do, flexibility in switching b/w research and product teams, first 6-12
months of a new hire, etc
Picking a Right Team
• The team that you join in a company is very important
• Case Study: Microsoft
– Bing Search or SQL Server Team
Property
Learning Opportunities
Career Growth
Financial Reward
(bonuses, salary)
Job Security
Future Upside
Bing Search
SQL Server
Picking a right team (contd.)
• Case Study: Google
– Google gives highest bonuses in industry
• Which Google teams would get the best bonus?
– The one which makes most money
– ADSENSE, ADWORDS
Salary
• Glassdoor.com has very accurate estimates of
average salary
– Also good source for reviews and interview questions
• Three components of a salary
–
–
–
–
Base salary
Signing bonus
Relocation package/bonus
Equity
• Stocks Units, Restricted Stock Units, Stock Options
Negotiating for a salary
• Depends on how well you did in your interview
• Base salary is the most important component
– Bonus and pay increase depends on the base salary
– Base salary rarely changes, but you will get more stocks,
bonus, etc
– Recruiters are most reluctant to negotiate base salary
• Cash in hand is the least important component
– Signing bonus, relocation, etc
– Comes with up to 40% taxes
• Ideal scenario: Ask for best possible base salary even if
it comes at expense of equity and signing bonus
Negotiating for a Salary (contd.)
• Can negotiate only ONCE
– Best to negotiate when you also have an offer
from at least one more company
• You need Leverage
– Offer from a rival company
– Perform well in the interviews
• Google usually does not negotiate, Microsoft
and Yahoo do
Misc.
• Websites I used to study for interviews
– Glassdoor.com interviews
– Topcoder tutorial
• http://www.topcoder.com/tc?d1=tutorials&d2=alg_ind
ex&module=Static
– Wikipedia for sorting, probability, etc
– Slides of the data mining course for my research
– http://blog.seattleinterviewcoach.com/2009/02/1
40-google-interview-questions.html
Thank You
Download