Upgrade to Pro — share decks privately, control downloads, hide ads and more …

What are the requirements for CTO

A76985bd77fecba82109dee506b1fec2?s=47 Shinji Tanaka
December 03, 2014

What are the requirements for CTO

IVS CTO Night and Day
2014/12/03

A76985bd77fecba82109dee506b1fec2?s=128

Shinji Tanaka

December 03, 2014
Tweet

Transcript

  1. CTOʹٻΊΒΕΔ΋ͷ IVS CTO Night and Day Hatena Co., Ltd. @stanaka

    ! 2014/12/03 
  2. Shinji Tanaka / ాத৻࢘ @stanaka / id:stanaka גࣜձࣾ͸ͯͳ ࣥߦ໾һCTO ࠷ۙɺ౦ژʹӽ͖ͯ͠·ͨ͠

    2
  3. 

  4. ޷͖ͳٕज़ • ݴޠɿ Go • ΤσΟλɿ Emacs • AWSɿ S3

    • ࣮ߦ؀ڥɿ Docker • σʔλετΞɿ MySQL 
  5. [PR] Mackerel https://mackerel.io/ 

  6. CTOͱ͸? • Chief Technology Officer • VP Engineering  $50ʹ


    ࣅͨϙδγϣϯ
  7. CTOͷ໾ׂ • Ұ൪ίʔυΛॻ͘ਓ • γεςϜΞʔΩςΫτ • Ϛωδϝϯτ͢Δਓ  71 &OHJOFFSJOH

  8. from CTO of Stripe  IUUQCMPHHSFHCSPDLNBODPNpHVSJOHPVUUIFDUPSPMFBUTUSJQF

  9. CTOͷఆٛ • ͔ͬ͠Γͱͨ͠ఆٛ͸ࠔ೉ • ձࣾͷن໛ɾϑΣʔζ΁ͷґଘ • ࣄۀ಺༰ʹ΋ґΔ 

  10. ந৅తͳ͜ͱΑΓ
 ʮࣗ෼ͷܦݧʯ͔Β 

  11. 1 ͜Ε·Ͱͷ͋Β͢͡ 

  12. in the case of @stanaka • 2000/4 NTTݚڀॴೖࣾ • 2006/4

    ͸ͯͳೖࣾ • 2010/9 CTOഈ໋ • 2014/12  ΠϚίί
  13. 2006ʙ2010 • ΞϓϦέʔγϣϯΤϯδχΞ • ΠϯϑϥΤϯδχΞ → Ϛωʔδϟ • ӡ༻ޮ཰Խ(puppetಋೖ) •

    Ծ૝Խ(Xen)ɾSSDಋೖ • Hatena Inc.։ઃ & ຊࣾژ౎Ҡస 
  14. ࣄ݅฽ CTOҎલ • 2007,2008 DCϒϨʔΧʔஅ • 2007? શһୀձࣄ݅ • 2008/4

    SubversionϦϙδτϦഁଛ
 → git΁Ҡߦ 
  15. 2010ʙ2014 • CTOަ୅ • Πϯϑϥ͔Β࠶ͼαʔϏε։ൃ΁ • GitHub Enterpriseಋೖ • Scala,

    Goಋೖ • ౦ژΦϑΟεʹΤϯδχΞ࠾༻࠶։ • ϦϞʔτϫʔΫ(௅ઓத) 
  16. ࣄ݅฽ CTOҎޙ • 2012/1 SSDͷϑΝʔϜόά౿Έ
 DB࿈ଓμ΢ϯ • 2012/3 ͸ͯͳϒοΫϚʔΫϘλϯԌ্ •

    2014/11 υϝΠϯWHOIS৘ใͷվ᜵ 
  17. SSDͷϑΝʔϜόά౿Έ  ಉ྅ͷ ݁ࠗࣜೋ࣍ձத ʹϝϯς࣮ࢪ

  18. 2 CTOͱͯ͠
 ҙ͖ࣝͯͨ͜͠ͱ 

  19. CTOͱͯ͠Ռ͖ͨͯͨ͜͠ͱ • ΠϯϑϥपΓΞʔΩςΫνϟ • ΞϓϦɾΠϯϑϥٕज़બఆ • ΤϯδχΞϦϯάνʔϜཆ੒ • ࠾༻ɾҭ੒ 

  20. CTOͱͯ͠ҙ͖ࣝͯͨ͜͠ͱ ʮٕज़໘ʯ
 ͱ
 ʮਓࡐ໘ʯ 

  21. 2.a ٕज़໘ͷ͜ͱ 

  22. ٕज़໘ • ߈Ί • ٕज़తڝ૪༏Ґͷ
 ཱ֬ • कΓ • ίετ؅ཧ

    • εέʔϥϏϦςΟ Մ༻ੑ֬อ • ηΩϡϦςΟ୲อ 
  23. ߈Ί: ٕज़తڝ૪༏Ґͷཱ֬ • “Technology Company”Λ
 ඪᒗ͢ΔͷͰ͋Ε͹ɺ
 ੋඇ໨ࢦ͍ͨ͠ߴΈ  ΤϯδχΞͷ ϩϚϯ

  24. ͦ͏؆୯Ͱ͸ͳ͍ • ʮ࣌ػΛݟۃΊΔͷ͸ઐ໳ՈͰ΋೉ ͍͠ɻ͔͠͠উෛΛ͠ͳ͍ͱ෣୆ʹ ্͕Δ͜ͱ͢ΒͰ͖ͳ͍ɻʯ- ٕज़ͱ ࣌ػ IUUQSFTFBSDIQSFGFSSFEKQUJNJOH 

  25. ٕज़ΛҰखஈͱଊ͑Δ • ७ਮͳٕज़తཁૉͰϏδωε༏ҐΛ ࡞Δͷ͸ۃΊͯࠔ೉
 ˠ ੍໿Λٕज़తʹಥഁ/ճආͭͭ͠ɺ Ϗδωε্ͷ༏ҐΛங͘ 

  26. Ϗδωε΁ͷٕज़తߩݙ • Ϗδωε্ͷڝ૪༏ҐΛཱ֬͢Δͨ Ίʹٕज़తʹߩݙ͢Δ • εϐʔυײͷ͋Δ։ൃ • ίϞσΟςΟԽ͍ͯ͠ͳ͍ٕज़ͷ ࠾༻ 

  27. कΓ: ίετ؅ཧ • ٕज़తෛ࠴ΛฦࡁՄೳͳϨϕϧʹ  IUUQNBSUJOGPXMFSDPNCMJLJ5FDIOJDBM%FCUIUNM

  28. ٕज़తͳ൑அ • WAFબఆ • ։ൃݴޠબఆ • ϛυϧ΢ΣΞબఆ • ࣮ߦ؀ڥબఆ •

    ΞʔΩςΫνϟબఆ 
  29. ։ൃݴޠબఆ • ௕Β͘Perl͕ओ࣠ • Ruby͸पลπʔϧͰར༻ • ScalaɾGoͷ࠾༻ (2013຤) 

  30. Scala, GoͷGood ɾ No good • Good • ܕ෇͚ݴޠʹΑΔݎ࿚ͳ։ൃ •

    ΤϯδχΞϞνϕʔγϣϯ޲্ • ࠾༻্ͷޮՌ • No good • ৽͍͠ݴޠΛษڧ͢Δ࣌ؒ(ίετ)͕ඞཁ 
  31. ৽͍ٕ͠ज़ͷ࠾༻ • جຊ͸ϘτϜΞοϓ͕ྑ͍ • ܧଓతʹϝϯς͢Δ͜ͱ͸೦಄ʹ  ٕज़తෛ࠴ʹ ͳΓ͔Ͷͳ͍ Ͱ΋एखΛ εϙΠϧ͠ͳ͍Α͏ʹ

  32. ࣮ߦ؀ڥબఆ • HDD → SSD • 2008Ն Intel X25-MϦϦʔεલ •

    ΦϯϓϨϛε → Ϋϥ΢υ(AWS) • TokyoϦʔδϣϯ։ઃ࣌ 
  33. ΞʔΩςΫνϟબఆ • Microservices or Monolithic  IUUQNBSUJOGPXMFSDPNBSUJDMFTNJDSPTFSWJDFTIUNM

  34. ٕज़બఆ͸FacebookͰ΋ؒҧ͏ HTML5 vs Native  IUUQTXXXGBDFCPPLDPNOPUFTGBDFCPPLFOHJOFFSJOHVOEFSUIF IPPESFCVJMEJOHGBDFCPPLGPSJPT

  35. ٕज़બఆͷํ਑ • ͋Δఔ౓อकతʹ • ॏཁͳͱ͜ΖͰ͸ΞάϨογϒʹ • ൑அϛε࣌ͷఫୀ࿏͸೦಄ʹஔ͘ 

  36. कΓ: εέʔϥϏϦςΟଞ • εέʔϥϏϦςΟɾՄ༻ੑ • ηΩϡϦςΟ  ॗʑͱ
 खൈ͖ͤͣʹ

  37. 2.b ਓࡐ໘ͷ͜ͱ 

  38. ਓࡐ໘ • ΤϯδχΞͱϚωδϝϯτ 

  39. ΤϯδχΞͱϚωδϝϯτ IUUQUFOTIPLVNZOBWJKQJUFOHJOFFSLOPXIPXOBPZB@TVTIJ 

  40. Ϛωδϝϯτͷલʹ.. • ΤϯδχΞͷΩϟϦΞύε • ઐ໳৬(εϖγϟϦετ) • Ϛωʔδϟʔ • ݚڀ৬? 

  41. ઐ໳৬ = ϑϧελοΫΤϯδχΞ?? • ଟ༷Խ͢ΔϨΠϠʔ • ϑϩϯτʙόοΫΤϯυʙΠϯϑϥ • εϚʔτϑΥϯ •

    3DάϥϑΟοΫΤϯδϯ • ػցֶशɾσʔλղੳ 
  42. ϋʔυ΢ΣΞΤϯδχΞ 

  43. શͯΛ໢ཏ͢Δͷ͸ඇݱ࣮త  ͘͢ͳ͘ͱ΋ ଟ͘ͷਓʹ͸

  44. εΩϧηοτͷϙʔτϑΥϦΦ • όοΫΤϯυ + ػցֶश • όοΫΤϯυ + εϚʔτϑΥϯ •

    ʮಘҙͳྖҬ + αʯΛૂ͏ 
  45. ඞཁे෼ͳεΩϧηοτ΁ͷదԠ • Ϗδωε΍֎෦؀ڥͷมԽ
 ˠ ඞཁͳεΩϧηοτ΋มԽ • ֤ΤϯδχΞͷੜ͖࢒Γͱ
 ઌߦ౤ࢿͷόϥϯε  εϚϑΥͷ

    ීٴɾ"84ͷ ོ੝
  46. Ϛωʔδϟʔ • ϓϩμΫτ։ൃΛਪਐ͢Δ • ΤϯδχΞΛϞνϕʔτ͢Δ • ։ൃϓϩηεΛ੔͑Δ 

  47. ΤϯδχΞͷϞνϕʔγϣϯ • ։ൃνʔϜͷੜ࢈ੑʹ௚݁ • ίϛϡχέʔγϣϯͷॏཁੑ 

  48. ΤϯδχΞͷίϛϡχέʔγϣϯ • Ͱ͖Δ͚ͩଟ͘ͷ͜ͱΛ৘ใڞ༗ • ΤϯδχΞϦϯά΁ͷཧղ 

  49. ʮਆ͸ࡉ෦ʹ॓Δʯ • ݱ৔͔Β཭ΕΔͱࡉ෦Λܰࢹ͕ͪ͠ • ͳΜͱͳ͘෼͔ͬͨؾʹͳΒͳ͍ • ؆୯ʹݟ͑Δ͜ͱͰ΋؆୯ʹͰ͖ Δͱ͸ݶΒͳ͍ • ܦݧ͕͋ΔΤϯδχΞͰ΋ؕΓ͕ͪ

    
  50. ։ൃϓϩηεΛ੔͑Δ • εΫϥϜ • πʔϧಋೖ(GitHub, Slack) • ಇ͖ํͷଟ༷ੑ(ϦϞʔτϫʔΫ) 

  51. εΫϥϜ 

  52. πʔϧಋೖ 

  53. ϦϞʔτϫʔΫ  ౦ژຊళ ژ౎ຊࣾ Ѫ஌ ग़ுઌ

  54. ϦϞʔτϫʔΫͷӡ༻ • ίϛϡχέʔγϣϯΛΑΓॏࢹ͢Δ • ҰਓͰ͸·ΔͷΛආ͚Δ • ϊ΢ϋ΢͕ڞ༗͞Εͳ͍ͷΛආ͚Δ • ಓ۩ɾπʔϧʹͩ͜ΘΔ 

  55. ϦϞʔτͰϛʔςΟϯά 

  56. ϦϞʔτϫʔΫࢀߟຊ 

  57. 3 CTOʹ
 ٻΊΒΕΔ΋ͷ 

  58. CTOͱͯ͠ҙ͖ࣝͯͨ͜͠ͱ(࠶ܝ) ٕज़໘
 ͱ
 ਓࡐ໘ 

  59. ৼΓସ͑ͬͯΈΔͱ… • ࣦഊ͸ڪΕΔ΂͖Ͱ͸ͳ͍ • ͨͩ͠ୀ࿏͸֬อ͢Δ • ϘτϜΞοϓͰ࣮ߦ͢Δ • ࣦഊͯ͠΋ܦݧ஋͸࢒Δ 

  60. CTOʹٻΊΒΕΔ΋ͷ ٕज़ͱਓͷ໰୊ʹରͯ͠
 ౴͑Λग़࣮ͯ͠ߦͰ͖Δ 

  61. Q&A