how to get hired by top tech companies

Post on 13-Apr-2017

1.663 Views

Category:

Recruiting & HR

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Thai Programmer Association

CodeEXP.

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

/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)

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.

Top Tech Companies

My goal

Getting into a top tech company in US

- Started applying in Feb 2016

Lesson Learned:Before being called for interview

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

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/

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

Black HoleJust an auto-response email after submitting a resume

No InterviewGot contact back but got declined to be interviewed

Applying through recruiting campaign

Uber Code on the Road : Hacker Challenge

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

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

Lesson 3:Studying in US may be the easiest path

Student F-1 Visa

12 months after graduation for practical training

* Not sure with the future situation

Lesson 4:Referrals put your resume on top of stack

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

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

Google Code Jam / Facebook Hacker Cup

Contributing to open source projects

Attending hackathon / competition events

Networking

Lesson 7:Timing is Crucial

Fiscal Year 2016 H-1B Cap

Regular Cap = 65,000

Master’s Exemption = 20,000

Start accepting petition on "1 April 2016"

Cap reached within 1 week

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

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

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

Prepare for interviews

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

Site Reliability Engineer (SRE)

Coding interview

OS + Networking + Filesystem

Linux commands

Root cause analysis

(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

Behavioral Questions

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

Coding interview(Technical interview)

Ref: careercup.com

Ref: careercup.com

System Design

System Design Questions

Design Gmail

Design Twitter

Design YouTube

Design a distributed logging system

Design an airline reservation system

Engineering Blogs

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

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

Business Interview

Business Interview

Technical depth and experience questions

Business acumen

Communication

Strategic thinking

Required skills?

1) English!!!

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

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

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

3) Communication

Need to explain what you think when solving problems

Need to make interviewers want to work with you!

How I prepare

Books

Books on Data Structures & Algorithms

Books on Interview Questions

Practice

leetcode.com

HackerRank.com

Whiteboard Programming!!!

Sport Programming

Facebook Hacker Cup

Google Code Jam

CodeForces

Mock Interview

Mock with Friends

Mock with Friends

pramp.com

pramp.com

5 Key Takeaways

1) Always aim high

2) No one is too old to learn

3) Passionate about what you do

4) Practice, practice, practice

5) Never Give Up!

Thank you

Q&A

top related