aoma blog

エンジニアの日常とか技術とか

デブサミ2018に行ってきた!

今年も行ってきました!
エンジニアの祭典デブサミ

event.shoeisha.jp

皆様お疲れ様でした!
疲れたけど楽しかったしモチベーション上がったのはみなさんのおかげです。おかげでした。

以下はいつものセッションメモです。

それにしても一年早っ!

参加したセッション

  • 【16-C-1】実況パワフルモブプログラミング - Rakuten Super Englishにおけるモブプログラミングという働き方 -
  • 【16-A-2】ヤフーを支える社内システム
  • 【16-D-L】ゼロからのエンジニアが開発マネージャーになるまで 〜 スピードと変化に強い文化と環境 〜
  • 【16-E-3】加速するフロントエンドとPWA
  • 【16-B-5】1 to 100:子どものためのオープンソースコミュニティ「CoderDojo」が全国100ヶ所を超えるまで
  • 【16-C-6】The Amazon Way~Amazonのソフトウェア開発~
  • 【16-E-7】クリエイター仲間3人で商用レベルのVRゲームを個人開発した話(仮)

受講メモ

【16-C-1】実況パワフルモブプログラミング - Rakuten Super Englishにおけるモブプログラミングという働き方 -

30分間モブプロで業務しているところを実況

今日やること

学習実績のグラフを出す

  • やることをみんなで認識合わせ

    • ホワイトボードに描いて、付箋でやること洗い出し。4枚。
  • ひたすらモブプロ

    • サンプルのグラフが出たら
    • ダミーデータで出せたら
    • DBデータで表示できたら
      • やったー

ドライバーのPC

臨機応変にやっている

  • モニター差し替えて各自使いやすいPCでやってる。
  • 体験会とかは一つのPCでやってるのでみんなVimだったりになる。

いい言葉

  • 一緒にやってうまくいかないチームが、分担してうまくいくのかな?
  • 一緒に働くただそれだけ

感想・考察

  • モブプロ生で見れてとても良かった。
  • ドライバーPCどうするか問題気になっていたので、解決して良かった。
  • デブサミ来て良かった(もう帰ってもいいかな)
  • 株式会社の皆様ありがとうございました(会場モブ)

【16-A-2】ヤフーを支える社内システム

情シスとは

コミュニケーションの効果を最大化する仕事

yahooの社内システム

  • 稼働中:1200以上
  • 累計:3500以上

ほぼ全ての社内システムがシングルサインオン (どこかでログインしていれば全てアクセスできる)

  • 社内ポータル1日100000PV1、ユニークユーザー4500人

    • 社内システムの集計してるの面白い
  • Slackぽい自社ツールもある

なぜ自社で作るのか

全体を自社で作ることでどんな事態が起きても自分たちでなんとかできる

自分たちで作ることを大事にしている

社内ポータルで雪を降らせる

  • 社内Slackで反応あり
    • 吹雪いたり、お金が降ってきたら面白い
  • すぐ対応した
  • 遊んでいるわけではない
    • 自分たちで作っている意識を植え付けたかった
  • ユーザーとのコミュニケーションを重ねる経験を多く積むことで、自ら考え改善のサイクルを身につけた人材が育つ

まとめ

  • 内政することはエンジニアの力を底上げすること
  • コストが低く始められる社内システムからはじめよう

感想・考察

  • 社内システム内製化でヒトの成長はアリですね。

【16-D-L】ゼロからのエンジニアが開発マネージャーになるまで 〜 スピードと変化に強い文化と環境 〜

1年目で学んだ3つのこと

  • 信頼関係
  • 開発の基礎
  • レビュー文化

さまざまな経験

サービス開発→スマホ→広告入稿→広告出稿→再びサービス

開発マネージャーへ

  • チーム構成
  • サービスだけでなくヒトの成長も考える

変わらなかった大事なこと

感想・考察

  • いろいろ経験することはやっぱり大事
  • 信頼関係大事

【16-E-3】加速するフロントエンドとPWA

  • なぜ仮想DOMという概念が俺達の魂を震えさせるのか
  • なぜ dev.to がこんなにも速く、こんなにも自分にとって感動的なのか

の人だた。

Service Workerで出来ないこと

  • 常駐プロセス
    • workerの生存時間はリクエスト開始から15〜30秒程度
  • メモリ使用料も制限

「webの常識」の一つの転換点

  • サーバーに直通 => レスポンスを置き換える
  • history.pushState以来の衝撃

dev.toの仕組み

  • 初回リクエストをCDN
  • リンク要素のオンマウスで遷移先を事前にfetch & cache

本当にPWAの時代が来るのか

  • mobile と web
  • push通知問題
    • 現在進行形で大量のヘイトを買っている
      • みんな拒否する
    • safariはオンラインプッシュ未対応になるぽい...

いい言葉

  • 重さ(遅さ)とは今まで作って来た機能の重み
    • そこまで否定するものではない

感想・考察

  • PWAはやっぱ早めに押さえて起きたい

【16-B-5】1 to 100:子どものためのオープンソースコミュニティ「CoderDojo」が全国100ヶ所を超えるまで

CoderDojo

  • オープンソースコミュニティ
  • 子ども×技術×非営利
  • 一緒に学ぶ、一緒に考える
    • 子ども同士で一緒に学ぶ、あるいは一緒に考えていく
    • 大人が教えるという形式ではない
      • 質問されなければ教えることもない
  • 技術を楽しむコミュニティ

やること

  • 島ごとに
    • Scrutch
      • ブロックの組み合わせるやつ
    • html
    • js

単発ではなく定期的な開催

  • 下北沢だけで250回以上開催

どのように増えていったか

  • CoderDojoは教えるというよりは場を用意している
    • 参加者、見学者がそれを見て自分たちでも出来そうだなと感じる
      • 別の場所で開催

DOJOCON JAPAN

  • 運営に関わっている人向けのカンファレンス
    • 運営のコツ、苦労話
    • メンターの話(子どもメンターもいる)

参加する理由(子ども)

  1. おもしろそう
  2. まずググる
  3. dot installで学ぶ
  4. 不明点を相談所(CoderDojo)で聞く(また新しいワードを学ぶ) -> 1に戻る

CoderDojo Charter (憲章)

  • 理念
    • 憲章を中心にしたコミュニティ
      • (地域で国で世界で)合意を積み重ねて前に進む

感想・考察

  • 教えるのではなく子どもたちが考えてコードを書いていくのは素晴らしい
  • 参加してみたい
  • プログラム学ぶなら塾じゃなくてCoderDojoがいいかな

【16-C-6】The Amazon Way~Amazonのソフトウェア開発~

上記4つのサイクルが成長につながる

成長が

  • 低コスト
  • 低価格

につながり、さらなる顧客満足度につながる

イノベーションを生み出す

メカニズム

  • プレスリリースから書き上げる
  • 6pager / 1pager
    • 会議ではプレゼンテーションツールはなく、この形式で行われる

モノリシックなアーキテクチャの問題点

Two-Pizza Teams

  • いろいろなアイデアを速く生み出すには少数精鋭のチームがよい
  • 開発から運用まで全てこのチームで行う(DevOps)
  • Ops専任はいない
    • 24時間チームで対応する
  • 高い水準を維持する
    • チームには権限が与えられ、多くの自由が認められている

マイクロサービス

  • 5000万回のデプロイを実現

Our Leadership Principle

全てのアマゾニアンが心がける信条

  • 各自がリーダーの意識
  • 評価制度にも使われている
  • 日々の会話でも出て来る

感想・考察

  • Amazonでの働き方(カルチャー)説明といった感じ
  • 社員がどのように行動すべきかの指針があるのは大事だと感じた

【16-E-7】クリエイター仲間3人で商用レベルのVRゲームを個人開発した話(仮)

趣味でのものづくり

  • 自分がどうありたいかの道しるべ
  • 成長にもつながる

ハッピーおしゃれタイム

おっさんでも(誰でも)女児になれるVRゲーム

Q&A

  • これだけのものを作るのは大変では?

    • 大変だけど仕事では得られない良さがある
    • 妥協するところは妥協している
  • モチベーション維持方法は?

    • 自分のモチベーションが維持できそうなものをやってる
  • 寝てますか?

    • お金で時間を買ってちゃんと寝ている

VRゴーグルには年齢制限がある

  • 大手が乗り出すのはかなり後
  • 今のVRなら個人でも戦える
    • 施設に置いてもらえた!

リリースの難しさに対する対処

  • 完璧じゃなくてもリリースして大丈夫
  • MVPを知ろう
    • ハッピーおしゃれタイムも音ゲーなのに楽曲選択はない(1曲のみ)
    • タイトル、お着替え、音ゲー、写真撮影のみ作った
      • 楽曲選択以外にガチャや難易度も捨てた
  • 骨組みから作る

時間がないことへの対処

  • 時間の総量は変わらない
  • どこの時間を潰すか(お金で時間を買う)
    • 通勤時間 -> 引越し
    • ご飯 -> 外食
    • 掃除 -> 掃除代行
  • 作業へのハードルを下げる
    • モチベーションは時間と共に下がる
    • 帰ったらすぐ作業できるようにしておく
    • できるなら習慣にしてしまう
  • 時間の密度をあげる
    • 集中力がない1時間より集中力が高い10分のほうが進捗が出る
  • 誘惑になるものへのハードルを下げる
    • SNSログアウト
      • パスワード難しくする
    • ゲームアンインストール
      • 再インストール時間かかる
    • 通知オフ
  • 作業生放送・作業通話の薦め
    • デスクトップを公開生放送
      • 誰かに見られている(やらざるを得ない状況になる)
      • ゼロ人でも誰か来るかもしれない

あなたのモチベーションはどこから?

  • 成長
  • 自己満足
  • 承認欲求
  • お金
  • 憧れ
  • 好奇心
  • 締め切り

それぞれレベルがある

いい言葉

  • モチベーションは時間と共に下がる
  • 集中力がない1時間より集中力が高い10分のほうが進捗が出る

感想・考察

  • ものづくり大事!
  • リリース大事!
  • 作れるスキルがあるって幸せ!
  • 頑張ろう!