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