79
Thai Programmer Association CodeEXP. How to Get Hired By Top Tech Companies Supasate Choochaisri 26 Jan 17 @ National Innovation Agency

How to Get Hired by Top Tech Companies

Embed Size (px)

Citation preview

Page 1: How to Get Hired by Top Tech Companies

Thai Programmer Association

CodeEXP.

How to Get Hired By Top Tech CompaniesSupasate Choochaisri26 Jan 17 @ National Innovation Agency

Page 2: How to Get Hired by Top Tech Companies

/me

Supasate Choochaisri (Ping)

- Co-founder @ LarnGear Technology Co., Ltd. (2006 - 2017)

- Co-founder @ Streaming Co., Ltd. (2012 - 2017)

- President @ Thai Programmer Association (2016 - Current)

- Solutions Engineer @ Facebook (Since Apr 2017)

Page 3: How to Get Hired by Top Tech Companies

Disclaimer

Opinions are my own and not the views of my current and future employers.

Everything in this presentation is just a general guideline. Some information might not be applicable for some companies or some roles.

Page 4: How to Get Hired by Top Tech Companies

Top Tech Companies

Page 5: How to Get Hired by Top Tech Companies

My goal

Getting into a top tech company in US

- Started applying in Feb 2016

Page 6: How to Get Hired by Top Tech Companies

Lesson Learned:Before being called for interview

Page 7: How to Get Hired by Top Tech Companies

Lesson 1:Getting into US from Thailand is super hard!

Page 8: How to Get Hired by Top Tech Companies

To work for companies in US

Need Visa

- H-1B (Specialty Occupation) -- Need company sponsor + luck

- L-1 (Intracompany Transfer) -- Need time to work at branch

- E-1/E-2 (Treaty Trader/ Treaty Investor) -- Need money++

- F-1 (Student) 1 year after graduation -- Need time to study

Reference: http://www.internationalstudent.com/study_usa/graduation/visa-options/

Page 9: How to Get Hired by Top Tech Companies

Lesson 2:Applying through web sites is 'almost' useless

Page 10: How to Get Hired by Top Tech Companies

Black HoleJust an auto-response email after submitting a resume

Page 11: How to Get Hired by Top Tech Companies
Page 12: How to Get Hired by Top Tech Companies

No InterviewGot contact back but got declined to be interviewed

Page 13: How to Get Hired by Top Tech Companies
Page 14: How to Get Hired by Top Tech Companies
Page 15: How to Get Hired by Top Tech Companies
Page 16: How to Get Hired by Top Tech Companies

Applying through recruiting campaign

Page 17: How to Get Hired by Top Tech Companies

Uber Code on the Road : Hacker Challenge

Page 18: How to Get Hired by Top Tech Companies
Page 19: How to Get Hired by Top Tech Companies

Black Hole

Staff Engineer - Distributed systems software @ VMWare => Black Hole

Software Engineer @ Autodesk => Black Hole

Senior Software Developer @ IBM- StrongLoop => Black Hole

Software Engineer, Palo Alto @ HackerRank => Black Hole

Software Engineer - Evolved Network OS @ Cisco => Black Hole

2 Software Engineer positions @ Uber => Black Hole

Software Engineer @ Arista => Black Hole

Software Engineer, Product @ Twitter => Black Hole

Page 20: How to Get Hired by Top Tech Companies

No Interview

Software Engineer, Tools & Infrastructure @ Google, Zurich => No InterviewSoftware Engineer @ Google, Japan => No InterviewSoftware Engineer, Front End @ Google, NY => No InterviewStrategic Customer Engineer, Google Cloud Platform @ Google, SG => No InterviewSoftware Engineer @ Google, NY => No Interview3 Software Engineer positions @ Coursera => No Interview3 Engineering positions @ Slack => No InterviewFull Stack Engineer @ Udacity => No InterviewFull Stack Software Engineer - iTunes U @ Apple => No InterviewSoftware Engineer @ Quora => No InterviewSoftware Developer @ Khan Academy => No Interview

Page 21: How to Get Hired by Top Tech Companies

Lesson 3:Studying in US may be the easiest path

Page 22: How to Get Hired by Top Tech Companies

Student F-1 Visa

12 months after graduation for practical training

* Not sure with the future situation

Page 23: How to Get Hired by Top Tech Companies

Lesson 4:Referrals put your resume on top of stack

Page 24: How to Get Hired by Top Tech Companies
Page 25: How to Get Hired by Top Tech Companies

Lesson 5:Referrals do not guaranteeyour resume will be picked up

Page 26: How to Get Hired by Top Tech Companies
Page 27: How to Get Hired by Top Tech Companies

Lesson 6:Several ways to get chances(but not so easy)

Page 28: How to Get Hired by Top Tech Companies

Google Code Jam / Facebook Hacker Cup

Page 29: How to Get Hired by Top Tech Companies

Contributing to open source projects

Attending hackathon / competition events

Networking

Page 30: How to Get Hired by Top Tech Companies

Lesson 7:Timing is Crucial

Page 31: How to Get Hired by Top Tech Companies

Fiscal Year 2016 H-1B Cap

Regular Cap = 65,000

Master’s Exemption = 20,000

Start accepting petition on "1 April 2016"

Page 32: How to Get Hired by Top Tech Companies

Cap reached within 1 week

https://www.uscis.gov/news/news-releases/uscis-reaches-fy-2016-h-1b-cap

Page 33: How to Get Hired by Top Tech Companies

Timing

2 - 3 months interview period

Feb - March Sponsoring company prepare documents

1 Apr Sponsoring company issues H-1B petition

-------------------- Wait lottery result ---------------------------------

1 Oct Eligible start working date

Page 34: How to Get Hired by Top Tech Companies

Timing

2 - 3 months interview period => Oct - Jan is good timing to apply

Feb - March Sponsoring company prepare documents

1 Apr Sponsoring company issues H-1B petition

-------------------- Wait lottery result ---------------------------------

1 Oct Eligible start working date

Page 35: How to Get Hired by Top Tech Companies

Prepare for interviews

Page 36: How to Get Hired by Top Tech Companies

Typical interview rounds for top tech companies

Software Engineer role (SWE)

Round 1 Pre-screening interview with a recruiter

Round 2 On-line coding interview with an engineer

Round 2.5 (optional) On-line coding interview with an engineer

Round 3 - 7 (vary) On-site coding interviews + system design interviews

Page 37: How to Get Hired by Top Tech Companies

Site Reliability Engineer (SRE)

Coding interview

OS + Networking + Filesystem

Linux commands

Root cause analysis

Page 38: How to Get Hired by Top Tech Companies

(Technical) Solutions Engineer (Special case)

Round 1 Pre-screening interview with a recruiter

Round 2 On-line coding interview with a recruiter

Round 3 On-line coding interview with engineers

Round 4 On-line OS/Networking + coding + business interview with an engineer

Round 5 On-line Business + Communication interview

Round 6 On-line App Review interview

Page 39: How to Get Hired by Top Tech Companies

Behavioral Questions

Page 40: How to Get Hired by Top Tech Companies

Behavioral Questions

What is the hardest thing you've ever done?

What project are you most proud of?

What would you do if you weren't afraid?

Talking about your past experience

Test Culture fit / Googleyness

Page 41: How to Get Hired by Top Tech Companies

Coding interview(Technical interview)

Page 42: How to Get Hired by Top Tech Companies
Page 43: How to Get Hired by Top Tech Companies
Page 44: How to Get Hired by Top Tech Companies

Ref: careercup.com

Page 45: How to Get Hired by Top Tech Companies

Ref: careercup.com

Page 46: How to Get Hired by Top Tech Companies

System Design

Page 47: How to Get Hired by Top Tech Companies

System Design Questions

Design Gmail

Design Twitter

Design YouTube

Design a distributed logging system

Design an airline reservation system

Page 48: How to Get Hired by Top Tech Companies

Engineering Blogs

Page 49: How to Get Hired by Top Tech Companies

CS75 (Summer 2012) Lecture 9 Scalability Harvard Web Development David Malan

https://www.youtube.com/watch?v=-W9F__D3oY4

Page 50: How to Get Hired by Top Tech Companies

Business Interview

Page 51: How to Get Hired by Top Tech Companies

Business Interview

Technical depth and experience questions

Business acumen

Communication

Strategic thinking

Page 52: How to Get Hired by Top Tech Companies

Required skills?

Page 53: How to Get Hired by Top Tech Companies

1) English!!!

Need to speak with real people (recruiters, interviewers, etc.)

Need to listen to questions carefully with noisy microphone/unfamiliar accent

Page 54: How to Get Hired by Top Tech Companies

2) Basic Data Structures & AlgorithmsTime/Space Complexity (Big-O)*** Bit Manipulation Recursion*** String***

Array*** Linked List (Singly, Doubly, Circular)*** Hash Map***

Stack*** Queue*** Priority Queue Heap Tree Binary Tree Binary Search Tree

Tries AVL/Red-Black Tree Tree Traversal (Pre-order, in-order, post-order) DFS*** BFS***

Graph Shortest-path Connected Component Union-Find

Sorting Insertion Sort Merge Sort Quick Sort

Searching Binary Search*** Quick Select

Dynamic Programming*** Memoization***

*** = often found in leetcode.com

Page 55: How to Get Hired by Top Tech Companies

3) Communication

Need to explain what you think when solving problems

Need to make interviewers want to work with you!

Page 56: How to Get Hired by Top Tech Companies

How I prepare

Page 57: How to Get Hired by Top Tech Companies

Books

Page 58: How to Get Hired by Top Tech Companies

Books on Data Structures & Algorithms

Page 59: How to Get Hired by Top Tech Companies

Books on Interview Questions

Page 60: How to Get Hired by Top Tech Companies

Practice

Page 61: How to Get Hired by Top Tech Companies

leetcode.com

Page 62: How to Get Hired by Top Tech Companies

HackerRank.com

Page 63: How to Get Hired by Top Tech Companies

Whiteboard Programming!!!

Page 64: How to Get Hired by Top Tech Companies

Sport Programming

Page 65: How to Get Hired by Top Tech Companies

Facebook Hacker Cup

Page 66: How to Get Hired by Top Tech Companies

Google Code Jam

Page 67: How to Get Hired by Top Tech Companies

CodeForces

Page 68: How to Get Hired by Top Tech Companies

Mock Interview

Page 69: How to Get Hired by Top Tech Companies

Mock with Friends

Page 70: How to Get Hired by Top Tech Companies

Mock with Friends

Page 71: How to Get Hired by Top Tech Companies

pramp.com

Page 72: How to Get Hired by Top Tech Companies

pramp.com

Page 73: How to Get Hired by Top Tech Companies

5 Key Takeaways

Page 74: How to Get Hired by Top Tech Companies

1) Always aim high

Page 75: How to Get Hired by Top Tech Companies

2) No one is too old to learn

Page 76: How to Get Hired by Top Tech Companies

3) Passionate about what you do

Page 77: How to Get Hired by Top Tech Companies

4) Practice, practice, practice

Page 78: How to Get Hired by Top Tech Companies

5) Never Give Up!

Page 79: How to Get Hired by Top Tech Companies

Thank you

Q&A