how can you become a software engineer in prestigious

48
How can You Become a Software Engineer in Prestigious Companies (USA)? Donghoon Kim, PhD Assistant professor, Computer Science Arkansas State University, USA 1

Upload: khangminh22

Post on 05-Feb-2023

0 views

Category:

Documents


0 download

TRANSCRIPT

HowcanYouBecomeaSoftwareEngineerinPrestigiousCompanies(USA)?

DonghoonKim,PhD

Assistantprofessor,ComputerScienceArkansasStateUniversity, USA

1

Contents

• ComputerScience§ Job

• Interviewprocess§ Resume§ Apply§ Phoneinterview§ Onsiteinterview§ Offer

• Interviewquestions§ Applicationsoftware,webbasedsoftware§ Systemsoftware

2

• AssistantProfessoratArkansasStateUniversity

*SoftwareEngineer:3+years

Aboutme

3

Contents

• ComputerScience§ Job

• Interviewprocess§ Resume§ Apply§ Phoneinterview§ Onsiteinterview§ Offer

• Interviewquestions§ Applicationsoftware,webbasedsoftware§ Systemsoftware

4

WorkinginUSAasaSoftwareEngineer

• NocountryboundaryinSiliconValley(USA)§ IndiaoMorethan50%

§ ChinaoGrowing

§ KoreaoPotential

• IsProgrammingKnowledgeRelatedToAge?§ Relationshipbetweenageandprogrammingskills?

5

References

• Crackingthecodinginterview§ https://www.careercup.com§ Interviewquestions,salary,resumetips

• Glassdoor§ Interviewquestions,salary,companyinformation§ https://www.glassdoor.com/index.htm

• LinkedIn§ Careermanagement§ https://www.linkedin.com

• Indeed§ http://www.indeed.com§ Easytoaccessotherresumes

• Monster.com§ https://www.monster.com/

6

ComputerSciencemajor

• Onceyoufinishyourschool(BS,MS)§ Companyasasoftwareengineer§ Government(State,DoD,DoE(Pentagon),etc.)ifyouareUSCitizenorgreencard

§ GoforPhD§ Others(business,etc.)

7

Softwareengineer

• Role§ SoftwareEngineeroDesign,development,testing,maintenance,andevaluation

§ SoftwareDesignEngineerinTestingoWritingtoolsandautomation

§ SoftwareTestEngineer(STE)o Limitedprogrammingexperience

• StartingsalariesinMay2016oUndergrads:averaging$72,419(median$71,250)oMSgraduates:averaging$102,249(median$110,000)

Ref:https://www.csc.ncsu.edu/future-students/

8

Interviewprocess

Searchajob

Submit aresume

HRscreening

PhoneInterview

OnsiteInterview

Offerletter Accept

Work!

9

InterviewprocessSearcha

job

Submit aresume

HRscreening

PhoneInterview

OnsiteInterview

Offerletter Accept

Work!

10

• Totalprocessingtime:2monthsto6months§ Internationalstudentsneed1or2monthsmoreforworkingpermission (e.g.,H-1BVISA)

• Youneedtoapply6monthsbefore§ IfyouplantoworkinDecember2017,youshouldbegintoapplyaroundJune

§ But,companieshavetheirownhiringperiodorurgentneeds• Thismeansthatyouhavetoprepare(complete)yourresumeandinterviewstudybeforeJune

Differentworkingculture:Koreav.s.USA

Korea(E.g.,Samsung) USA(E.g.,IBM,SAS)• Hiringas agroup• EnteringExams• Workasagroup• Assignaprojectfromupperlevel

• GroupactivitypTutoringsystem• Working8amto9pmpWorkatofficepNoweekendguarantee• Almostnolayoff

• Hiring asanindividual• Nospecificexam• Workasateam• Eachteamhasanindividualprojectp Proposeaproject• Individualactivityp Notutoringsystem• Working8amto5pmp Workathomep MondaytoFriday• Layoff

11

Searchajob(1/4)

• Visitallcompanywebsitesyouwanttowork§ Submit(complete)yourresumeforeachposition§ Eachcompanyhasdifferentformatandrequirements

12

Whichcompany?

• https://www.careercup.com/categories

• Location(majorcities):§ WA(Seattle),CA(SiliconValley,SanDiego),OR,TX(Austin,Dallas),NC(RTP,Raleigh),MA(Boston),NY(NYC,NewJersey),FL

13

CompanyIapplied

14

• Morethan30companiesand300positions§ Ipreferredsystemcompany

• Ihadphoneinterviewsinthesecompanies

Searchajob(2/4)

• Readjobdescriptions

15

Searchajob(3/4)

• Readjobdescriptions:Google§ ResponsibilitiesoWriteserver-sidecodeforweb-based…

§ QualificationsoBSdegreeinComputerScienceo Experienceworkingwithtwoormore:– Webapplicationdevelopment,UNIX/Linuxenvironments

§ PreferredqualificationsoMaster’s,PhDdegree,futureeducation

16

Jobdescription:Qualcomm

17

Jobdescription:Qualcomm

18

Searchajob:maincomponents(4/4)

• Readjobdescriptions.Example,forgoogle§ ResponsibilitiesoWriteserver-sidecodeforweb-based…

§ QualificationsoBSdegreeinComputerScienceo Experienceworkingwithtwoormore:– Webapplicationdevelopment,UNIX/Linuxenvironments

§ PreferredqualificationsoMaster’s,PhDdegree,furthereducationo Java,C/C++,C#,Python

19

Submityourresume(1/4)

• Comparethejobdescriptionwithyourresume• Update(modify)yourresumebasedon

§ Jobdescription§ Keyword§Minimumrequirement§ Preferredqualification

20

Submityourresume(2/4)

• Whatisagoodresume?1. Onepageresumeortwo2. NoObjective3. UseaResumeTemplatewith

columns4. UseTables5. ShortBullets6. Accomplishmentoriented7. Qualify8. GPAifit’satleast3.0orhigher9. Projects10. Additionalexperiences11. LanguagesandSkills12. Whatdidyounotinclude?

21

Reference:https://www.careercup.com/resume

Submityourresume(3/4)

• Youdonotneedtoaddallrequirements• Eachpersonmayhavedifferentstrongpoints

• Howdoyouknowifyourresumeisgood?§ IfyouarecontactedbyHRyouapplied§ ItmaynotbeeasytomakeagoodresumeoAlthoughyourresumelooksgood,youmaynotknowuntilyouapply

oAlthoughyouhavegoodskills,HRmaynotrecognizehowgoodyouare

§ Yourresumeshouldcontainyourstrongpoints

22

Submityourresume(4/4)

• Youshouldupdateyourresumewheneveryouhavesomethingtoupdate§ Jobdescription§ Keyword§ Personalinformation§ Projectachievement§ Award§ etc.

23

HRscreening

• HRscreensresume§ Thecompetitionrateisreallyhigho SelectONE outofseveralhundred(morethan300to1)

• OnceHRselectsyourresume,HRsendsyourresumetoahiringmanager

• Ifthehiringmanagerlikesyourresume,thehiringmanagerrequestaphoneinterview

• HighchancetopassyourresumefromHR§Matchkeywordsbasedonjobdescription§ ImpressivepointsoGoodschooloGoodGPA(above3.7)oProjectexperience,Workexperienceinknowncompanyo InternalReferral

24

PhoneInterview(1/3)

• EmailfromHR(examplefromMicrosoft)§ Scheduleyourphoneinterviewschedule§Willreceiveaconfirmationemail

25

Phoneinterview(2/3)

26

Phoneinterview(3/3)

• Overthephoneorskype• 30minsto1hour• Interviewquestions

§ Algorithm,OS,Network§ Codingquestionviaonlinetexteditor

27

OnsiteInterview(1/2)

• Onceyoupassaphoneinterview,HRsendsanemailforon-siteinterview

• Example:

28

OnsiteInterview(2/2)• 4hourstofulldays(6hours)• OnetooneoronetoMany(rarely)• Meetmorethan4people

§ HRo Introductionaboutinterview

§ Hiringmanagero Culturefit,Priorexperienceo Characteristics,Personality– Doyoulikeworkaloneortogether?

– Whatisyourcareerplan?» 1yeargoaland5yearsgoal

§ Softwareengineers(2to3)o Codingskills,analyticalabilityo Mainly,technicalquestions

29

Offerletter

• Onceyoupasson-siteinterview,youshouldreceiveanofferletter

30

TheofferandBeyond

• Offerdeadlinesandextensions§ Deadlineareonetofourweeks

• DeclininganOffer§ Declininganoffermatters§ Thisisasmallworld;wemaymeetagain.

• FinancialPackage§ Negotiatesalary§ Signingbonus,relocation,Stockoptions§ Costoflivingdifference

• CareerDevelopment§ Howgooddoesthecompany’snameonmyresume?§ HowmuchcanIlearn?§Whatisthepromotionplan?§ etc.

31

Ifnooffer

• Somecompanieshavearuleforthosewhoarerejected§ Cannotapplyin6months§ Applyafter6monthlater(e.g.,Google,Microsoft)

• Askwhenyoucanre-apply• DoNOTgiveuphope!

• Forme,§ Ihaveappliedmorethan300positions§ Spentaboutfull8monthsonlyforinterview

32

Phoneandonsiteinterview

PhoneInterview OnsiteInterview• 30 minsto1hour

• OnetoOneinterview§ Overthephoneorskype

• Interviewquestions§ Fundamentalquestions§ Codingquestionsviatext

editor

• Halfdays(4hours)tofulldays(6hours)

• One toOneorOnetoMany§ Morethan4people

• Interviewquestions§ Fundamentalquestions§ Discussion§ Codingonthewhite

board

33

Note:BothInterviewquestionsarealmost same,butdetails

Howtoprepareinterviewquestions

• Non-technicalquestions§WithHRandHiringmanageroCulturefit,personalityoPriorworkingorprojectexperiences– Theyareaskingquestionsbasedonyourresume

• Technicalquestions§Withsoftwareengineers(technicallead)o Theyareverysmartandexpertsintheirdomain.oHowever,wemayhavethesamelevel(fundamental)knowledgeintermsoftechnicalquestions

34

Beprepared!How?

Non-technicalquestions• HR

§ Whencanyoubegintowork?§ Whendoyougraduate?§ Canyourelocate?§ Ifyouareaninternationalstudent,theyaskaboutyourvisastatus

• Hiringmanager§ Whatismydreamjobafterfinishingyourschool?§ Whatisyourplanfornext5yearsand10years?§ Whatdoyouknowaboutmycompany?o NetAppo WhydoyouwanttoworkatNetApp?

§ Whatdidyoudoatschool?o Projectexperienceorresearchexperienceo Mostofthequestionsarebasedonyourresume

35

Technicalquestions

• Types§ Datastructures(Linkedlist,Tree,Array, String)§ Algorithmandconcepts(bitmanipulation,sorting,searching,OOP)

§ OS(criticalsection,deadlock,semaphore,mutex)§ Network(TCPvs.UDP)§ Programminglanguages(C++,Java,etc)o virtualfunction,synchronized

§ Others(difficult)oDesignpattern,Dynamic programming,etc

36

Technicalquestions

Remember:EvenMIT studentsstudythesequestionstogetajob!

37

Technicalquestions

Remember:EvenMIT studentsstudythesequestionstogetajob!

38

Technicalquestions

• Technicalquestions typesarealittledifferent:§ Dedicatedsoftwarecompany(Microsoft,Google,Facebook,BloombergLP,etc)oAlgorithm,designpattern

§ Dedicatedsystemsoftwarecompany(Amazon,Qualcomm,Intel,NetApp,EMC,etc)oOS,Network

39

Technicalquestions

• Alarm.com§ Java:whatisthedifferencebetweeninterfaceandabstract?§Whatisthesingletonpattern?§WhatisthedifferenceofC++,C#,andJava?

• Intel(parallelteam)§ Intelarchitecture§WhatdoyouknowaboutCachecoherence?§Whatisvirtualfunctionandtemplate?

• Amazon§Whatistheobject-orientedprogramminglanguage?§Whatisinterfaceandabstract?

• NetApp§Whatisthedifferencethreadandprocess?

40

Technicalquestions

• Microsoft§ Singletonpattern§ Howdoyoufindacircularinalinkedlist?§Whatisvolatilevariable?

• NetApp§ HowdoescacheworkinCPU?§Whatisset,map,array,linkedlist?§Whatislockandmutex lock,read/writelock?§Whatisthroughputandlatency?

• EMC§ staticvariable§ OS:mutex,semaphore,lock,unlock§WhatisMemoryleakandfunctionpointer?§ Pointerquestions

41

Programmingquestions

• [Amazon]Pleasewriteafunctionthattakesinputfromaparagraphoftextandoutputsthenumberofoccurrencesofeachwordintheparagraph.

• [NetApp]find“aps”inagiveninput§ stringS=“netappnetappnetapp...................”

• [Datami]§ Givensandtarenullterminatedcharacterarrays,whatdoesthefollowingdo?

while((*s++=*t++)!='\0');§ Implementafunctionthattakesintwointegersandoutputsthenumberofbitsthatarethesameintheirbinaryrepresentations.Usebitoperatorswheneverpossible.

42

Programmingquestions

• [JuniperNetworks]WriteaprogramtocheckifthesystemusesBigendianorlittleEndian

• [Amazon]WriteafunctiontogenerateFibonaccinumber

43

Howtoresolveprogrammingquestions

• Understandquestions§ asktoyourinterviewerifyoudonotfullyunderstand§ Discusswithyourinterviewer§ Addcomments(e.g.,startwith//comparetwonumbers)

• Programmingbody:§ Input(whatisinputparameters?)§ Errorcheckingroutineforinvalidinputs§ Body(mainalgorithm)§ Return(output)

• Create“testcases”§ Invalidinput§ Extremecase§ Validinput

44

Technicalquestions:usefullinks

• RecentInterviewquestions§ https://www.careercup.com/page

• Codingpractice§ https://codility.com§ https://leetcode.com

45

Planyourcareer

• Graduationisnotanend.But,itisanewstart• Maintain yourGOODGPA• Focus onclassesyouaretakingnow• Setupyourtimelineuntilgraduation;

§ Youmayneedyourdailyandweeklyscheduleaswell§ 7habitsofhighlyeffectivepeople1. Beproactive2. BeginwiththeEndinMind3. PutFirstThingsFirst4. ThinkWin-Win5. SeekFirsttoUnderstand,

thentobeUnderstood6. Synergize7. SharpentheSaw

46

Whatshouldwedonow?

• Focusonclassesyouaretakingnow§ Please,donottrytolearnatop-notchtechnique§ Fundamentalknowledgeismoreimportantthantop-notchtechnique

• MaintainagoodGPA§ E.g.,Undergraduate:>3.5,Graduate:>3.7

• Improveyourprogrammingskills§ Pickoneprogramminglanguageandgointodeep§ Spendalotoftimeonwritingcode

• Donottakemanyclassesifyouareclosetograduate(lastsemester)§ Buildyourgoodresume§ Startagroupstudyo Studytogetherwithlessthan3students

§ Yourfriendsarenotyourcompetitors,butcolleaguesinthefuture

47

Q&A

48

Hope does not disappoint us –Romans 5:5