ੈքͰઓ͏ΤϯδχΞʹͳΔͨΊʹMay 2019 - Fumihiko Shiroyama
View Slide
ࣗݾհ• നࢁ จ• 35ࡀ, 2ঁͷ• Senior Software Engineer @nikkei• Android, SRE, ML etc...
Android
ΞδΣϯμ• ถࠃϥϘͰͷ׆ಈ• ถࠃʹ͓͚ΔιϑτΣΞΤϯδχΞͷՁ• ถࠃͰιϑτΣΞΤϯδχΞʹͳΔʹ• ੈքͰઓ͏ΤϯδχΞʹͳΔͨΊʹ
ถࠃͷΛฉ্͘Ͱͷҙ
ถࠃͷΛฉ্͘Ͱͷҙ• ʮ୭͕ݴͬͯΔ͔ʯ͕ੌ͘ॏཁ• ཹֶੜɺறࡏһɺ݁ࠗۮऀɺݱब৬• ͋͘·Ͱ͍ͪαϯϓϧʹա͗ͳ͍͜ͱʹཹҙৗʹϙδγϣϯτʔΫͷՄೳੑΛ͓ٙ͏
ถࠃϥϘͰͷ׆ಈ
ถࠃϥϘͰͷ׆ಈ• ݚڀ։ൃ• ৽نࣄۀ• ػցֶश• ϏδωεΞϥΠΞϯε• ৽ٕज़τϨϯυͷ࣋ͪؼΓ
৽نࣄۀ৽نࣄۀʹؔͯ͠ެ։ࢿྉ͔Βআ
ػցֶश
ػցֶश• τϥΠΞϧϢʔβ͕༗ྉձһʹͳΔ͔ʁ• ಡऀ͕ͬͱڵຯΛͭهࣄΛఏҊͰ͖Δ͔ʁ
ถࠃʹ͓͚ΔιϑτΣΞΤϯδχΞͷՁ
ΫΠζɿถࠃͷΤϯδχΞ͕ऩ2000ສΒ͏ͬͯϗϯτʁ
ਖ਼ղɿͻͱʹΑΔ
ਖ਼ղɿͻͱʹΑΔϕΠΤϦΞͰ͋ͳ͕ͪେ͛͞Ͱͳ͍ʂ
ສԁ• https://www.levels.fyi/SE/Google/Facebook/Microsoft• L5(Senior Software Engineer): $363,870• ※ Base Salary + Bonus + RSU
গΑɺେࢤΛ๊͚ʂ˞Ձͷҧ͍ʹཹҙͯ͠Ͷʂ
ถࠃͰιϑτΣΞΤϯδχΞʹͳΔʹ
ΫΠζɿถࠃͰιϑτΣΞΤϯδχΞʹͳΔʹԿ͕ॏཁ͔
ਖ਼ղɿϏβ
ถࠃͰιϑτΣΞΤϯδχΞʹͳΔʹ1.Ϗβ2. ֶҐʢܭࢉػՊֶɺֶɺཧֶ etc...ʣ3. ӳޠ
Ϗβ
Ϗβ• ϏβʂϏβʂϏβʂٕज़ऀͱ͔ͯͣ͘͠͠ͳ͍ͷ͔ʂ• Ϗβͱʹ͔͘ॏཁɻ͍·ٕज़৬ͷՖܗH-1B͕ͱΓʹ͘͘ͳ͍ͬͯΔɻ• ΈΜͳ͋ͷख͜ͷखͰϏβΛೖख͍ͯ͠Δɻ
ถࠃࡏࢿ֨Ұཡ• ถࢢຽݖऀʢΞϝϦΧࠃ੶ʣ• ถӬॅݖอ࣋ऀʢάϦʔϯΧʔυʣ• ֶੜϏβɺब࿑Ϗβ
ถࠃࡏࢿ֨Ұཡ• ถࢢຽݖऀʢΞϝϦΧࠃ੶ʣ• ถӬॅݖอ࣋ऀʢάϦʔϯΧʔυʣ• ֶੜϏβɺब࿑ϏβΞϝϦΧͰ͏·ΕΔ͔͕ΞϝϦΧਓؼԽ͢ΔʢӬॅݖऔಘޙ̑Ҏ্ʣ
ถࠃࡏࢿ֨Ұཡ• ถࢢຽݖऀʢΞϝϦΧࠃ੶ʣ• ถӬॅݖอ࣋ऀʢάϦʔϯΧʔυʣ• ֶੜϏβɺब࿑ϏβΞϝϦΧࢢຽݖऀͱ݁ࠗब࿑Ϗβ͔ΒӬॅݖਃ%JWFSTJUZ1SPHSBNʢ௨শ($͘͡ʣ
ओཁͳϏβҰཡ• H-1Bʢઐ৬Ϗβʣ• L-1A, L-1BʢறࡏһϏβʣ• E2ʢࢿՈϏβʣ• O-1ʢಥग़ͨ͠ೳྗऀʣ• J-1ʢΠϯλʔϯʣ• F-1ʢֶੜϏβɻOPTͰΠϯλʔϯՄೳʣ
H-1B• ઐ৬ͷՖܗ• స৬Մೳ• άϦʔϯΧʔυਃ͍͢͠• 2018ݱࡏɺਃ͠ࠐΈ͕ύϯΫ͓ͯ͠ΓநબͰ3ׂఔ• ৬ʹؔ࿈͢ΔֶҐ·࣮ͨܦݧ͕ඞཁ• 4݄ਃɺ10݄ब࿑ͱ͍͏ͷ͔͞Βܟԕ͞ΕΔ౷ܭ্ɺτϥϯϓݖʢࠓͷॴʣ͋·Γؔͳ͍
L-1A, L-1B• றࡏһϏβ• స৬ෆՄೳ• άϦʔϯΧʔυਃ͍͢͠• ଟࠃ੶اۀͷΦϑΟεؒͷҟಈʹΑ͘ΘΕΔ• Ͳ͔͜ͷࢧࣾʹ1ࡏ੶ඞਢͳͷͰస৬࣌ͷϏβʹར༻͢Δ͜ͱͰ͖ͳ͍ଟࠃ੶اۀͰҟಈ͔Β($αϙʔτ͕͍·࠷࣮֬ͳํ๏ͱൃදऀߟ͍͑ͯΔ
E2• ࢿՈϏβ• స৬ෆՄೳʢE2ಉ࢜Մೳʣ• άϦʔϯΧʔυਃ͠ʹ͍͘ʢඇҠຽϏβʣ• ถͱక݁ࠃͷࢿຊ͕50%Ҏ্ೖ͍ͬͯΔඞཁ͕͋Δ• ਃ͕ૣ͍ɺࡏ੶͠Γ͕ͳ͍ɺߋ৽͕ӬٱతʹͰ͖Δ• ىۀՈɺࢿՈຊਓɺཧ৬ɺͦΕΒΛิࠤ͢Δٕज़৬ͳͲղऍ͕͍ͷͰۙͭͱʹΛूΊ͍ͯΔͨͱ͑ຊຊ͕ࣾ͋Γɺւ֎ࢧࣾʢגࣜͷҎ্Λຊ͕ࣾอ࣋ʣͷҟಈͳͲͰར༻Ͱ͖Δ݅ΛຬͨͤىۀՈຊਓ͕ถࠃʹઃཱͨ͠ձࣾͰಇͨ͘ΊʹਃՄೳ
O-1• Պֶܳज़ɺεϙʔπͳͲͰಥग़ͨ͠࠽ೳΛ࣋ͭͷʹൃߦ͞ΕΔϏβ• ΦϦϯϐοΫબखɺֶΦϦϯϐοΫɺཧΦϦϯϐοΫͳͲ• CGΫϦΤΠλʔϝσΟΞΞʔςΟετ• ஶ໊ͳจPhDอ࣋ऀɺॻ੶ͷग़൛ͳͲͰՄೳੑ͋Γ• H-1B͕ػೳ͍ͯ͠ͳ͍ͷͰPhDอ࣋ऀτϥΠ͢ΔՁ͋ΓҠຽหޢ࢜ͷ࣍ୈ
J-1• ΠϯλʔϯτϨΠχʔൃߦ͞ΕΔϏβ• ͕ͨͬͯ͠ߴઐ৬ऀ͕͜ΕΛར༻ͯ͠ઐ৬ʹब͘͜ͱNG• ऩ্ݶ͕͋ͬͨΓࡏڐՄ͞ΕΔظ͕͔ؒͬͨΓ৭ʑ੍ݶ͕͋Δ• Ϗβຬྃޙ࠷2ؒถࠃ֎Ͱա͝͞ͳ͍ͱ࣍ͷब࿑ϏβӬॅݖΛਃͰ͖ͳ͍(Two-Year Rule)˞ಛผͳ߹Λআ͘
F-1• ֶੜϏβ• ถSTEMֶҐऔಘ͢Δ͜ͱͰOptional PracticalTraining (OPT) ͱͯ͠࠷େ3ؒΠϯλʔϯ͕Մೳ• ถେֶΛଔۀͰ͖Δਓ͜ͷํ๏͕࠷Ұൠత• ݫ͍͠AdmissionɺߴֹͳֶඅɺΕΔ΄Ͳͷ՝ςετΛΓӽ͑ͯଔۀ͠ͳ͍ͱ͍͚ͳ͍ʂ˞ཁ͢Δʹཧܥͱ͍͏͜ͱ
ΫΠζɿελϯϑΥʔυେֶʹ௨͏ʹ͍ؒ͘Β͔͔Δʁ
ਖ਼ղɿ$67000ʢ740ສԁʣhttps://news.stanford.edu/2018/02/14/trustees-set-2018-19-tuition/तۀྉສυϧྈඅͰສυϧ
ຊͷτοϓߍۃΊͯܙ·Ε͍ͯΔͷͩʂຊͷେֶग़ͰϕΠΤϦΞͰ׆༂͍ͯ͠Δઌഐͨ͘͞Μ͍Δͧ
܅ͨͪʹͰ͖Δ͜ͱ• ΞϝϦΧਓͱ݁ࠗ͢ΔʢGCʣ• ถେֶʹਐֶ͢ΔʢOPTͰब৬ʣ• ຊͷେֶʹਐֶ͢ΔʢH-1BͰब৬ʣ• ຊͰਐֶɺଟࠃ੶اۀʹब৬͠ɺถࠃҟಈΛࢦ͢ʢL-1Bʣ• ຊͰਐֶɺब৬ɺͦͷޙถࠃब৬Λࢦ͢ʢH-1BɺJ-1ɺO-1ͳͲʣ
H-1Bνϟʔτ• https://medium.com/@sakamoto.kazuki/2017-12-demystifying-us-visa-f596529701a3
ֶҐ
ΞϝϦΧֶྺࣾձຊͷൺ͡Όͳ͍ͧʂ
େࣄͳ͜ͱ• େֶ໊͡Όͳͯ͘ઐ߈• ֶ࢜ΑΓम࢜ɺम࢜ΑΓത࢜• ઐੑΛຏ͘ɻӳޠग़དྷͯͨΓલ• େֶͷษڧେࣄ͚ͩͲɺब৬ͷͨΊͷτϨʔχϯάผʢ˞ޙड़ʣϏβͰؔ࿈ֶҐॏཁʂ
ืूҰྫ ઓͷʹ͢Βཱͯͳ͍͜ͱ
ιϑτΣΞΤϯδχΞͳΒ• ίϯϐϡʔλɾαΠΤϯεʢܭࢉػՊֶʣ• σʔλɾαΠΤϯεɺ౷ܭֶ• ֶɺཧֶ• ػցֶɺిࢠֶ
ίϯϐϡʔλɾαΠΤϯε
ίϯϐϡʔλɾαΠΤϯε• ΞϧΰϦζϜͱσʔλߏ• ܭࢉෳࡶੑཧ• ΦϖϨʔςΟϯάγεςϜ• ωοτϫʔΫ etc...
ΫΠζɿੈքਓޱશһͷ໊͔Β୭͔ͷ໊લΛ୳͢ͷͲͷ͘Β͍͕͔͔࣌ؒΔʁԯਓͱ͠Α͏ͻͱΓௐΔͷʹඵ͔͔Δͱ͠Α͏
ਖ਼ղɿ୳͠ํʹେ͖͘ґଘ͢ΔώϯτɿΈΜͳࣙॻͲ͏ͬͯҾ͘ʁ
ઢܗ୳ࡧ• NݸͷཁૉΛઌ಄͔Βݟ͔ͭΔ·Ͱ୳͢• 0.01 * 7000000000 / (60 * 60 * 24) / 2≒405• ࠷ѱܭࢉྔ: O(N)ͻͱΓݟ͚ͭΔͷʹҎ্ʂ
ೋ୳ࡧ• ྻࡁΈͷNݸͷཁૉΛͣͭ୳͢• Math.log2(7000000000) * 0.01 / 2≒0.16ඵ• ࠷ѱܭࢉྔ: O(logN)ൺʹͳΒͳ͍ʂʂʂ˞ྻͷίετ֓Ͷ0 /MPH/
ֶ
ֶࡾ֯ؔඞཁͳ͍ʂ
ࡾ֯ؔ• ਤܗͷճసɺԁӡಈ• ճసߦྻʢઢܗʣ• ϕΫτϧͷίαΠϯྨࣅΘͳ͍ͱ͜ΖΛڍ͛Δํ͕Ή͔͍͙ͣ͠Β͍ͩͧʂ
ඍ• Ճ• يಓ༧ଌɺఱؾγϛϡϨʔγϣϯ• ػցֶशͷଛࣦؔͷ࠷খԽ͍·ྲྀߦΓͷػցֶशͰ͍·͘Δͧʂ
ӳޠ
ΫΠζɿੈքͰઓ͏ͨΊʹඞཁͳӳޠྗͬͯͲͷ͘Β͍ͩΖ͏
ਖ਼ղɿx→∞͍͘ΒͰ͖ͯଟ͗͢Δͱ͍͏͜ͱͳ͍ʂ
ӳޠ• ӳޠ͕Ͱ͖Δ͚ͩͰউෛʹͳΒͳ͍• Կ͔֬ͨΔઐΛ্࣋ͬͨͰӳޠ͕Ͱ͖Δ͜ͱڧ͍ثʹͳΔ• TOEIC900ͱ͔Կͷҙຯͳ͍ཹֶ͢ΔͳΒ50&'-ͱ͔ҙຯ͕͋ΔͧʂؤுΕʂൃදऀͷମײͰɺ50&*$Ͱݱͷࡀࣇ͙Β͍ͩͳʂ
ੈքͰઓ͏ΤϯδχΞʹͳΔͨΊʹ
ੈքͰઓ͏ΤϯδχΞʹͳΔͨΊʹ• কདྷʹ͍ͭͯߟ͑Α͏• ເ͔Βٯࢉͯ͠ܭըΛཱͯΑ͏• ಛʹු͔ͳ͍߹ͱʹ͔͘ษڧ͠Α͏ʂֶͱӳޠ͕͓͢͢ΊͩͳʂͦΕΒ͕ෆཁͳ৬ۀͳΜͯͳ͍ʂ
ϓϩάϥϛϯάඞཁ͔• ඞͣͦ͠͏Ͱͳ͍ͱൃදऀߟ͑Δ• खஈΛ֮͑ΔΑΓɺຊ࣭Λཧղ͠Α͏• ڊࢹతͳ؍Ͱޮͷྑ͍ΞϧΰϦζϜσʔλߏ͕બΕɺݴޠͷҧ͍ͳͲ͍͞͞ͳͷͩ
ίʔσΟϯάςετରࡦ• ϕΠΤϦΞͷτοϓاۀͰաࠅͳίʔσΟϯάςετ͕՝͞ΕΔ• େֶͷ༰ʹ४ڌ͢Δ͕ɺແରࡦͰಥഁ͢ΔͷෆՄೳ• AtCoder, LeetCodeͳͲ͕Φεεϝ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ
Thanks• ͍Β͢ͱ• https://www.irasutoya.com/
໔ࣄ߲• ຊεϥΠυͷ༰ൃදऀͷಠࣗௐࠪͰ͢ɻಛʹϏβʹؔͯ͠ඞͣҠຽหޢ࢜ʹ૬ஊ͍ͯͩ͘͠͞ɻ• ຊεϥΠυͷ༰Λ࣮ફͨ͜͠ͱʹΑΔతɺਵతɺ݁Ռతɺؒతɺ͋Δ͍േతͳଛɺܦඅɺଛࣦɺ·ͨ࠴ʹ͍ͭͯɺ͍͔ͳΔෛ͍͔Ͷ·͢ɻ