ML Study Jams : Machine Learning トレーニングプログラムをやってみた

ML Study Jams : Machine Learning トレーニングプログラム - Homeをやってみました。初心者向けと中級者向けの合計12ラボです。

AWSは普段利用していますが、GCPはまったく触ったことがなかったのでとても参考になりました。無料でQwiklabsのクーポンコードを配ってくれたGoogleに感謝ですm(_ _)m

レーニングプログラムで学べたこと

全12ラボを通じて経験できることは以下になります。もちろんそれぞれ触りだけですが、ついでにドキュメントを読んだりすることで雰囲気はそこそこつかめたと思います。あと機械学習というよりは機械学習関連サービスのハンズオンでした。

  • 初心者向けコースまで
    • GCPのコンソール
    • BigQuery
    • BigQuery Machine Learning (BQML)
    • Cloud Speech API
    • Cloud Shell
    • API Key
    • Cloud Natural Language API
  • 中級者向けコース以降
    • Cloud AutoML API
    • IAM
    • Cloud Storage
    • Cloud Vision API
    • Service Account
    • Cloud Translation API
    • Kubernetes
    • Cloud Pub/Sub
    • Compute Engine
    • Cloud Machine Learning Engine
    • Cloud Dataflow

Qwiklabsの進め方

一通りやってみて、Qwiklabsの進め方について気がついたことをメモしておきます。

まずは一通りラボの内容を読んでから開始する

ラボの先頭に記載されている通り、まずは一通りラボの内容を読んでから開始したほうがよいです。ラボで利用可能なGCPの利用時間は上限があるので、読みながらやると結構時間ギリギリか、場合によっては足りなくなると思います。実際、私は最初のラボを開始してからこのアドバイスを読んだので、最初のラボは時間ギリギリでした。。そのため、2つ目のラボからは最初に一通り読んで内容を把握した上で開始するようにしました。そのおかげで、実際にGCP上で操作した際の不明点を確認する際も時間に余裕があってよかったです。

GCPコンソールをシークレットウィンドウで開く

Qwiklabsはメインのウィンドウで開くようにして、GCPコンソールをシークレットウィンドウで開くようにした方がよいと考えます。最初にQwiklabsをシークレットウィンドウで開いた状態でGCPコンソールも開いたら、シークレットウィンドウ上にGoogleアカウントが2つログインした状態になってめんどうな感じになりました。そのため、以降はGCPコンソールのみシークレットウィンドウで開くようしました。手順としてはラボで[Open Google Console]で開いたタブのURLをシークレットウィンドウに貼ってログインするようにしていました。

ラボは単体で完結する構成になっている

当たり前なんですが、ラボは単体で完結する構成になっています。そのため、前半の諸注意やGCPアカウント有効化手順などは概ね同じ内容になっています。なので特に初心者向けのラボだと慣れてくると前半は読み飛ばして差分だけサクッと試すみたいな感じになります。

ラボの内容が一部古いことがある

これは仕方ないことなんですが、ラボによっては記述内容と実際に試したGCP側の状況が一致しないケースがありました。GCPサービスの更新にラボの更新が追いついていなかったようです。なので、一致していないケースは更新が追いついていないんだろうなと思って読み飛ばすとよいとかと考えます。とはいえ数箇所でしたし、私がトレーニングプログラムをやっている10日間の間にも(偶然かもしれませんが)修正されていたので、更新頻度は高いのかもしれません。

ラボはクエストという単位でまとめられている

Qwiklabsはクエスト - Qwiklabs ヘルプという単位で複数のラボを1つのまとまりにしています。そしてあるクエストのラボをすべて終了するとバッジがもらえるらしいです。なお、今回の12ラボをすべて終了してもバッチはもらえませんでした。

初心者向けコースのメモ

初心者向けコースは全体的に簡単でした。合計で4時間近くかかりましたが、メモを取りながら気になる点などを調べての時間なので単にハンズオンを試すだけなら3時間もかからないと思います。

中級者向けコースのメモ

中級者向けコースはさすがに中級者向けだけあって、ソースファイルを読み込んだりしてそれなりに時間がかかりました。合計で6.5時間かかりました。あと、中級者向けコースは公式サイトに記載されている順番通りだとちょっと難しそうだったので、以下に記載した順序でやりました。

Classify Images of Clouds in the Cloud with AutoML Vision

  • https://www.qwiklabs.com/focuses/1779?parent=catalog
  • AutoML Visionはアップロードした画像に合わせて学習するとのこと。転移学習ベースなんだろうけど、柔軟だなー。
  • Cloud AutoML APIは個別に有効化が必要。しかも1分ぐらいかかった。
  • Set up AutoML Vision
    • add-iam-policy-binding でそれぞれ Role 追加してるけど、IAMの画面で確認した感じ最初から全部設定済みに見えたw
      • Storage bucket も同じでやはり最初から存在してコマンドを実行しても already exists になった。
      • おそらくCloud AutoMLの Set up Now ボタンで関連リソース作成しているのではないかと予想される。
  • Create a dataset
  • Inspect images
    • 少なくともそれぞれ 100 以上必要とのこと。この辺りの閾値を明示しているのはよいなー。
  • Train your model
    • すでにUIが変わっていたw
  • Generate predictions
    • 簡単にテストできるし、サンプルコードがcurlPythonの両方で出るの便利だなー。

Detect Labels, Faces, and Landmarks in Images with the Cloud Vision API

Integrating Machine Learning APIs

Classify Text into Categories with the Natural Language API

Awwvision: Cloud Vision API from a Kubernetes Cluster

  • https://www.qwiklabs.com/focuses/1241?parent=catalog
  • Kubernetesを利用するのはちょっとごつい感じだけど、手順自体は結構シンプルだった。
  • Create a Kubernetes Engine cluster
    • 3分ぐらいかかった。
      • コマンド実行後、K8s EngineとCompute Engineのコンソールでも確認できた。
    • gcloud container clusters get-credentials awwvision
      • クレデンシャル情報を取得して .kube/config に記録する。で、その情報を前提に次の kubectl コマンドが利用できる。実際 .kube/config をリネームしたら kubectl コマンドが利用できなかった。
  • Get the Sample
    • cloud-vision/python/awwvision at master · GoogleCloudPlatform/cloud-vision
      • 一通りソースを読んでみた。概ね理解できた。
      • メインとなる Makefile でそれぞれのサブディレクトリ配下の redis / webap / worker の Makefile をキックしていた。
        • それぞれのサブディレクトリ内の構成も似ていて、spec.yaml が存在し、これでそれぞれのアプリケーションをK8s上にデプロイするようにしていた。
        • webapp と worker はPythonのコードが存在しており、まず Dockerfile でDockerイメージをビルドして、GCRに push する構成になっていた。
        • webapp と worker はCloud Pub/Subで連携する構成になっていて、webapp の start_crawler 関数で pubsub を経由して worker 側の scrape_reddit_task 関数を実行する構成にしていた。で、Redisを共有してクローリングしたデータを共有する構成になっていた。
  • Deploy the sample
  • Check the Kubernetes resources on the cluster
    • ブラウザでアクセスしたらちゃんと表示できた。
    • Pub/SubにTopicもできていたけど、メッセージはSubscriberを作成しないと見れない感じだった。
  • ソースさえ読めば概ね把握できる。あとはK8sとCloud Pub/Subをどこまで深掘りするか次第って感じ。それぞれ別のラボをやってもいいかも。

Real Time Machine Learning with Google Cloud ML

最後に

普段はAWSしか使っていないので、GCPを触ってみていろいろと新鮮でした。やはり似たようなサービスは複数触らないと相対化して評価できないので、今後も機会があればGCPを触っていきたいと思いました。

マーケティングの仕事と年収のリアル

マーケティングの仕事と年収のリアル

マーケティングの仕事と年収のリアル

同僚がFacebookで紹介していたのでなんとなく読みました。とてもよかったです。マーケティング業界においてどのようにキャリアプランを考えればよいか、職種と年収を示しつつ解説してくれている本でした。職種の整理の仕方とキャリアプランの考え方はIT業界にも置き換えられる内容だと思うので、他の業界の方も読んでみてもよいのではないかと思いました。

本書の構成としてはまずはマーケティング業界の仕事内容と年収の実態について解説し、次にその仕事内容を6つの成長ステージに分けます。

  1. 見習い
  2. ワーカー
  3. スペシャリスト
  4. ブランドマネジャー
  5. CMO
  6. 経営者

そして以降はステージ毎にどのようにキャリア開発に取り組めばよいか事例も踏まえて解説しています。その際に事業会社と支援会社に分けて解説しています。最後に今までの解説も踏まえた上で、マーケティング業界におけるキャリアの構築事例を紹介しています。

IT業界に置き換えるという観点ではステージ3のスペシャリストのままキャリアを構築するのかステージ4のブランドマネジャーのようにマネジメントのキャリアに移行するかよく聞く話だと思います。また、いわゆるWeb系も含めた事業会社とSIerを中心とする支援会社のどちらに所属するかも同じくよく聞く話だと思います。そのため、IT業界も同じだなーと思いながら読んでいました。

個人的には1章に書かれているマーケティング業界の8つの流派というコラムが特におもしろかったです。流派というのは仕事のスタイルという意味です。例えばアイディア重視とかデータ検証重視などです。この流派は会社によって異なり、自分の流派と会社の流派が異なると評価されにくかったりストレスになるという指摘は、当たり前のことなのですがなるほどなーと思いました。

それなりの年収を得るにはどのステージに進むにしても大変という身も蓋もない現実が書かれていて、自分も現在採用とか評価を行っているので、まぁそうだよなーと思いながら読んでいました。なので、本書でも示されている通りキャリア構築については戦略的に考えると同時に、自分自身の市場価値を高める努力を続けるしかないなーと再認識できてよかったです。

2018年英語学習振り返り

2018年振り返り - n3104のブログにも少し記載していましたが、今年はとにかく英語学習に時間を割きました。ということで、2018年の英語学習について振り返りたいと思います。

前提

2017年末時点での私の英語に関する学習状況は以下のような状態でした。

  • 英語は学生自体に一番苦手かつ嫌いな教科だった。とはいえ、確実に必要なスキルなので社会人になってから少しずつ勉強している感じ。
  • 英語による会話経験無し。
  • AWSのマニュアルのような技術文書は単語について調べつつであれば何となく読める。
    • 30代の前半に多読を試したことがあり、英語を読むこと自体の抵抗感はなくしていた。
  • 文法は2017年に1年掛けてゼロからスタート英文法 CD付を10周ぐらいして、多少分かるようになった。
  • リスニングは同じく2017年に聞き取り・書き取り用CD付 英語は絶対、勉強するな!―学校行かない・お金かけない・だけどペラペラを毎日家事をしたりする際についでに聞いたりしていた。4割ぐらい何となく聞き取れるような感じ?ディクテーションは試したら難しすぎて諦めた。
  • 英作文はまったくできない感じ。
  • 発音は一度本を買って取り組もうとしたが母音で飽きてやめた。

結果

2018年末の状況は以下のようになりました。

やり方

DMM英会話をベースに、瞬間英作文とiKnowを併用しながら学習を進めました。1年で300時間以上やっていて、割当としては以下のような感じでした。月によってiKnowと瞬間英作文は取り組む量を調整してました。

  • DMM英会話 : 150時間*1
  • iKnow : 100時間
  • 瞬間英作文 : 50時間

他には毎月KPT形式でその月の英語学習について振り返りを行い、翌月の学習内容を調整するようにしていました。12ヶ月間の変化としては以下のような感じでした。

  • 1月 : DMM英会話を29回やった。フリートークやデイリーニュースも試したが学習効果を感じられないレベルだったので会話の教材を最初から順番にやることにした。DMM英会話のレッスンの流れは分かったが、英作文ができないのでまったく自分の言いたいことを言えない。ボキャブラリーも足りない。ということで瞬間英作文とiKnowも併用するようになった。
  • 2月 : DMM英会話を21回やった。会話の教材を続けた。会話の教材に必要な範囲のボキャブラリーは多少身についたが、相変わらず英作文が弱いので講師の言っていることは分かっても自分の言いたいことを言えない状態。
  • 3月 : DMM英会話を22回やった。会話の教材を続けた。レッスン前に5分ぐらい予習するようになった。瞬間英作文の効果かある程度文法的な語順を意識して英語を話せるようになった。瞬間英作文を優先してiKnowは一旦止めた。
  • 4月 : DMM英会話を21回やった。会話の教材に慣れて飽きてきたので、ビジネスに変更した。慣れていた会話の教材からビジネスの教材に変えたことで、最初は慣れるまで辛かったがすぐ慣れた。レッスンの予習と復習が定着した。瞬間英作文はやっとPart3になった。そのため、iKnowも再開した。iKnowの100アイテムマスター達成。
  • 5月 : DMM英会話を19回やった。ビジネスの教材を続け、ロールプレイも直前のダイアログを見つつではあるが多少できるようになった。
  • 6月 : DMM英会話を11回やった。5末に引っ越しをした影響で時間を取れなかった。ビジネスの教材に飽きて写真描写に切り替えた。写真描写は単語自体は簡単なので予習なしにしてみた。瞬間英作文はPart3までとりあえず一通りやった。
  • 7月 : DMM英会話を14回やった。写真描写を続けた。自分で考えた英語をチャットボックスに残してくれる講師は多くないので復習がやりずらかった。そろそろ英会話自体は慣れてきて、アウトプットよりもインプットが重要だと感じるので回数を減らすようになった。英会話イメージリンクを読んで、英語を先頭から順番に理解するというのを意識するようになった。また、瞬間英作文をPart1からやり直した。多読の一環としてDragon Slayers' Academyを読み始めた。
  • 8月 : DMM英会話を11回やった。写真描写を続けていて、予習するようにした。英作文なので毎回1時間から1時間半ぐらいかかった。ただ、事前に作成した英文への添削になるのですべてチャットボックスに指摘事項が残り復習の効率もよくなった。瞬間英作文のPart1とPart2は定着した。iKnowの500アイテムマスター達成。
  • 9月 : DMM英会話を9回やった。写真描写を続けた。ただし、予習する時間が取れない時はフリートークを入れるようにしてみた。知らない単語とか言い回しがでると止まってしまうが、とりあえず会話はできるようになった。
  • 10月 : DMM英会話を13回やった。re:Inventに向けてトラベル/文化の教材に切り替えた。内容自体はとても簡単に感じるようになっていて、ロールプレイもアドリブを入れつつできるようになった。なんとなく慣れた感じで発音していたら、早く話すよりも正確に発音するように講師に指摘されて、改めて発音を意識して学習するようになった。
  • 11月 : DMM英会話を13回やった。トラベル/文化を続けた。re:Inventでは買い物したり、道を聞いたりは出来たが、セッションは4割ぐらいしか聞き取れなかった。
  • 12月 : DMM英会話を7回やった。トラベル/文化からデイリーニュースに切り替えた。ある程度会話できるようになったので、あえて予習しないことで講義中に内容についての質疑を行う練習をするようにした。瞬間英作文のPart3も定着した。iKnowの1000アイテムマスター達成。レッスン中に何度か聞き返す中で、ヒアリングが弱いと指摘された。

あとは、個人的にやってよかったと思うことは以下になります。参考まで。

  • 英会話のレッスンが終わったら次のレッスンを予約する。
  • レッスンの予習をする。ただし、ある程度慣れたらあえて予習しないほうがレッスン中のやり取りが増えていいかも。
  • レッスンの復習をする。知らなかった単語はiKnowのカスタムコースに登録する。
  • 講師の記録をつける。相性もあるし、教材による向き/不向きもあるので。
  • 毎月振り返りを行う。成長を実感できるし、学習内容の見直しもできる。
  • iKnowと瞬間英作文で例文を音読する。文法構造とか発音も意識しながら行う。知らない文法構造があれば確認して理解した上で行う。
  • まずは最低限の文法知識を身につけておく。そうしないと、学習効果が低い。
  • 瞬間英作文。読めるのと会話のなかで作文できるのはまったく別のスキルだと思う。瞬間英作文の定着度合いに比例してレッスン中に会話できる範囲が広がったと思う。
  • iKnowというかボキャブラリーを増やす。会話中に言いたい単語が出てこなくて会話が止まる。。
  • 英作文する際はまずは自作した英文をGoogle翻訳にかけて違和感のない日本語になるか確認する。次にGingerなどを使ってチェックする。
  • 似たような単語はとにかくググって違いを調べたり、画像の検索結果を見てイメージを掴む。

一番気をつけているのは無理をしないというところでしょうか。疲れている時は適度にサボるというか。無理をして燃え尽きても仕方がないので、学習を継続できるように気をつけています。あとは学習自体が負担にならないように習慣化するというところも気をつけています。

来年

来年はまずはリスニングの強化に取り組むつもりです。現状、一番弱いのがリスニングのようなので。今年1年も弱い部分から強化するという方法で会話できるようになっていった実感があるので、来年もその方法を継続してみるつもりです。リスニングが落ち着いたら、発音と文法を強化しようと思っています。

リスニングについてはポッドキャストがいいらしいのでVOA - Voice of America English Newsを試してみることにしました。Beginning LevelのLevel 1を最初からディクテーションしています。すでに6回やりましたが、内容自体は簡単なのでちょうどいい感じです。AWSポッドキャストを聞けるぐらいになるといいかなと思ってますが、内容も長いですし、トランスクリプトもありませんし、再来年ぐらいにチャレンジとなりそうな気がします。。

英会話自体は継続しますが、回数は週1、2回で十分だと思うので学研のオンライン英会話|Kimini英会話のライトプランを試してみるつもりです。iKnowと瞬間英作文も継続します。瞬間英作文についてはスラスラ話すための瞬間英作文シャッフルトレーニングをやるつもりです。

*1:予習・復習の時間も含まれます。

2018年振り返り

2018年について振り返ってみたいと思います。ちなみに、去年は2017年振り返り - n3104のブログでした。

マネージャー職になって2年経った

昨年から引き続きマネージャー職を1年続けて2年経過しました。このブログを書きながら1年間の出来事を振り返ったのですが、メンバーのおかげで色々と進んだなーと思います。昨年の時点でチームとしての練度は高まっていたので、その結果を確認できた1年だったと思います。今年の1月時点で6名のチームだったのですが、6月末に2名抜けて一旦4名まで減って、10月に1名、11月に2名増えて現在7名になりました。要は約半分がいなくなり、それよりも多いメンバーが新たに加わったのですが、チームとしての練度が高まっていたので、新規メンバーの受入も既存メンバーに問題なく対応してもらえました。むしろ1年前よりもよりチームとしての練度も上がっていると思いますし、チームの文化というかアイデンティティーのようなものもより明確になった気がします。

私自身としては、マネジメントスタイル自体は昨年から特に変えていませんし、1年マネージャー職を経験したこともあり、振り返ってみると、今年1年は昨年よりも余裕を持ってマネージャー職に取り組めていたと思います。そのため、チームマネジメントスキルについては大幅に伸びたというよりは、引き出しが増えたという感じでした。あとは、チームの練度が上がり、取り組む課題のステージを1段上げられるようになったので、昨年だと取り組めなかったテーマにいくつか取り組むことが出来、いろいろと学ばせてもらったと思います。何より、昨年仕込んだものが着実に成果をあげるという結果を確認できたことが一番の収穫かもしれません。

1点確実に伸びたと言えるとしたら、採用スキルでしょうか。6月に4名に減ることは4月ぐらいから分かっていたため、4月末ぐらいから9月末ぐらいまでの約半年ほどはとにかく採用活動に時間を割きました。毎日採用エージェントのサイトで候補者を確認したり、書類審査や1次面接をひたすらやる中で、合格しそうな方かどうか*1を見極めるスキルはそれなりに付いたと思います。何より、1次面接において候補者を口説くため、私が担当するグループの事業環境や業務内容、魅力などについて整理できたのはよかったと思っています。

会社ブログ

この1年、仕事が忙しすぎて全く書けていませんでした。ですが最後にre:Invent 2018関連で会社ブログを10本書き、久しぶりに技術ブログを書いていたら楽しかったので、来年はもう少し定期的に書きたいと思っています。

英語

プログラマは毎年1つ新しい言語を勉強するというのがあると思いますが、私としては今年学んだ言語は英語でした。それぐらい英語に時間を割いたと思います。集計したら300時間以上やってました(゚д゚)!

1年間の成果としては英会話未経験の状態から最低限の英会話ぐらいならできるようになりましたし、英作文をする際に文法構造を意識して作文できるようになりました。

英語についての振り返りは2018年英語学習振り返り - n3104のブログに記載しています。英語学習もある程度まで進んだと思うので、来年はもう少し割当を減らして、他のことにもバランスよく取り組めればと考えています。

読書

去年と比べるとビジネス書は読めなかった気がします。あと、読み終わった本のブログを書けなかったです。

WEB+DB PRESS

去年から購読を再開ましたが、購読を続けてよかったです。自分の興味に関係なく最近の技術に関する情報をインプットできるので、全記事を読むようにしています。結果的に仕事でも役立つこともありましたし、今後も継続するつもりです。

SICP

無事?その後も社内読書会が1年続きまして、3.3.5から4.1.3まで進みました。基本隔週1時間でやっていて、今年は19回(通算62回)やりました。このペースだとあと1年半近くかかりそうです(^_^;)

ついに4章に入り、evalの実装まで来ました。こんなにサクッと作れるのは衝撃です。最近はSICPの範囲ではありますがLISPのコードを読むのも、机上デバッグするのも普通にできるようになった気がします。ちょっとした単体テストまで書くようになりました。

いやー、しかし、みなさんLISPデバッグってどうやってるんでしょうね。うまく組めた時はいいんですが、期待通りに動作しないときのデバッグは基本的に机上デバッグになっちゃうものなんでしょうか。。手続き型言語デバッグプリントを入れるのがほんと簡単だなーと思います。

Mastering Bitcoin

有志でやっている読書会で読みました。まったくビットコインブロックチェーンについて知識がなかったので、ある程度概要がつかめてよかったです。

この読書会はもう6年続けているんですが、直接業務とは関係ない本を読めるのがいいと思っています。中心メンバーとの付き合いも長いですし、この読書会でいろいろな方とお会いできたりもしていて、今後も続けたいと思ってます。

Site Reliability Engineering

社内で読書会が結成されたので参加しました。普段は自社サービスの運用をしていることもあり、非常に参考になっています。まだまだ適用できない手法も多いのですが、今後適用できる部分は適用していこうと考えています。

読書会の進め方としてScrapboxを利用しており、毎回各自がScrapboxに気になったことを記載し、その内容にお互いにコメントするという形です。この形式は初めてだったのですが、各自が同時に書き込むことでバイアスのない状態のコメントを見れるのがいいと思っています。あとは読書会当日に参加しなくてもScrapboxの内容を見ることで後追いで参加できるというメリットがあることも分かりました。

Dragon Slayers' Academy

英語学習の一環で多読用に読み始めました。完全に理解できているかというと細かなニュアンスが分からなかったりするのですが、おもしろいと思えるレベルでは内容を理解できていると思います。さくさく読めるので、ファンタジー寄りの児童文学が好きな方にはおすすめかもです。

アニメとか

今年もプライムビデオは結構観てて、dアニメストアも契約しちゃいました(^_^;)

特に印象深かったのは以下辺りでしょうか。

ささみさん@がんばらないはおもしろかったので、原作を読んだら完結していなくて涙しました。でも、ほんとおもしろかったです。同じく最近原作を読んでいるのが終末なにしてますか?忙しいですか?救ってもらっていいですか?です。原作という意味では狼と香辛料は原作を読んだ上での視聴で、非常にクオリティはよかったですけども、ストーリー展開を知っているため二期は途中で観るのを止めてしましました。ソードアート・オンラインⅡはずっとプライムの対象にならなくて、dアニメストアが始まったので契約して観ました。いやー、ほんとよかったです。ちょうどソードアート・オンライン アリシゼーションも始まり、現在視聴中です。プリズマ☆イリヤFateシリーズということで何となく観始めて、最初はテンションとか作風についていけなくなりそうだったんですが、シリーズを重ねる毎にストーリーに深みが出て完全にハマりました。

後は10月ぐらいにFate/Grand Orderを始めてしまい、地味に時間を取られてます(^_^;)

その他

Hadoop周りは今年も去年に引き続き、特に何かやったりはしなかったので、そろそろプロフィールから「Hadoop好き」は取り下げようと思います。。機械学習関連も少しだけTensorFlowとKaggleのチュートリアルを触ったりしたぐらいで、そこまで時間は割きませんでした。

個人ブログも今年はあまり書けませんでした。ネタがなかったというより、書く時間を取れませんでした。
2018-01-01から1年間の記事一覧 - n3104のブログ

購読している各種ニュースメールとかRSSフィード日経ビジネスなど消化できなかったものも大量にあるので、来年はもう少しバランスよくいろいろ取り組めればと考えています。

まとめ

振り返ってみると、2018年も密度の高い1年だったと思います。幸いなことに?未だに毎週のように金曜になると月曜が1ヶ月前のように感じる日々を過ごしています(単に変化が多いだけであって、密度が高いわけではないのかもですが(^_^;))。ただ、やはりマネジャー職を継続した分、プレイヤーとしての成長はあまり感じられなかったので、来年こそは改善していきたいと考えています。

*1:二次面接はチームのメンバー全員が合格を出す必要があるので、私だけがよいと思った方でも合格しないためこのような表現になっています。

re:Invent 2018に行ってきた

AWS re:Invent 2018 | Amazon Web Servicesに行ってきました。現在所属しているクラスメソッド株式会社では毎年のように参加者を募っていて、5年前に入社してから毎年のように参加を見送っていたのですが、今年はいろいろ条件が重なったこともあり思い切って参加してみました。

イベントの様子は毎年社内チャットや参加者の話を聞いて概ね理解してはいたつもりだったのですが、やはり実際に行くといろいろと感じるものや考えることがあったので記録しておきたいと思います。以下5点について記録しておきます。

  • 成果
  • 想像以上に規模が大きい
  • 予想していた形とは違う刺激を受けた
  • とても疲れたw
  • 英語について

成果

まずは、単純に記録として参加した成果をメモしておきます。

セッションを選んでみて、サーバーレス関連というかLambdaとかDynamoDB辺りに興味が強いことが分かりました。あとはデータレイクとか機械学習関連も少し選んでいて、この辺りは順当な感じだったと思います。

想像以上に規模が大きい

想像以上に規模が大きいというのはラスベガスという街であったり、イベント会場であるホテルの規模であったり、やはりアメリカ、ほんとスケールが大きくてすごいなと思いました。一方で個々のセッション自体はもちろん会場は広かったり劇場をセッション会場にしてたりいろいろ豪華だったりはするのですが、セッション自体を聞いている最中は日本で参加するAWS Summitと差がなかったです。概ね最前列付近に座るようにしていたこともあり、セッション中は写真を撮りつつ話を聞くことに集中してると、会場の広さとかは特に意識しませんでした。

予想していた形とは違う刺激を受けた

予想していた形とは違う刺激を受けたというのは、re:Inventもそうですがすぐにセッションの動画とスライドが公開されるこの時代に、わざわざ海外まで行ってイベント参加する一番の理由は現地で何らかの刺激を受けてモチベーションを上げるためだと思ってました。で、実際参加して刺激を受けたことは受けたのですが、それが現地にいる人達の熱気にあてられたとかではなく、一緒に参加しているたくさんの同僚がいるという事実から刺激を受けたのが予想外でした。

具体的には今回のre:Inventでも大量の新サービス紹介やサービスの機能追加が発表されたわけですが、そのブログを書こうと思ったら、他の同僚たちもすごい勢いでブログを書こうとするわけです。そこまではお互い現地に行っているので当然といえば当然のことなんですが、その際に数年前なら自分しか手を挙げないようなブログでも他の同僚達が手を上げまくっていたことが衝撃でした。私が入社した5年前は40名ぐらいしかいなかった会社も今ではグループ全体で270名近くいるらしく*1AWSのサービスに合わせて専門の部署も出来ています。例えばビッグデータ関連ならデータインテグレーション部がありますし、サーバーレス関連ならサーバーレス開発部があるわけです。そして当然ながらそれらの部門からもre:Inventには参加者がいるのでそちらよりのブログなら彼らが手を挙げて書いちゃうわけですね。

そういう状況の中で、自分はもう社内において技術的には希少性が下がっているという現実を目の当たりにしたわけです。いやー、これは衝撃でした。ほんと会社が大きくなったんだなと。社員としてAWS事業本部のサービスグループのマネージャーとして、会社の成長に合わせてすごい方がどんどん入社してくれているのは嬉しく思う半面、相対的に自分の技術者としての価値が下がっていることに薄々は気づいていたんですが、まさかこういう形でその事実と対面するとは思っていませんでした。

もちろん2年前からサービスグループのマネージャーを担当する中で身につけたスキルは色々とありますし、プレイヤーとしての時間が取れない中でもいろいろ技術についても勉強する時間をある程度は確保するようにしていたつもりはあります。そして、単体の技術ではなく仕事を進めるという総合力では他の人に遅れを取るつもりはないのですが、それでも技術的に特化した希少性が自分にはなくなりつつあるという事実は、いやー、悔しいですし、恐怖でもあります。

ということで、長文になってしまいましたが、改めて技術を学ぶということに時間を割いていこうという気持ちになりました。そろそろ40代になりますし、何らかの形で自分の希少性を作り直していきたいと考えています。マネージャーとしてのキャリアパスもあるのでは?と思う方もいらっしゃるかもしれませんが、一度マネージャーという立場を経験させていただいた結果として、これ以上マネージャーというキャリアパスを伸ばしたいという気持ちがなくなっています。やはり自分自身で直接問題を解決したいという気持ちが強いことがよく分かりましたので。なのでマネージャー経験もあるという意味で視野の広さももちつつ、プレイヤーとして技術的にも希少性をもったキャリアパスを築いていくつもりです。具体的な部分は現状ノーアイディアですけどもw

とても疲れたw

10年ぶりの海外旅行なこともありますし、re:Inventはセッション参加とブログ書きまくっててほとんど寝れないという話は聞いていたのですが、ほんと大変でした。しかも2日目に風邪を発症してしまい、薬で症状を押さえつつセッション参加してブログ書くという状況だったので、ほんと疲れました。出発前に子どもが風邪を引いていて、目の前で一日中咳き込んでいたので睡眠時間を長めに取るとかマスクをするとかなるべく気をつけてはいたんですが、それでもだめでしたorz

ただ、仮に風邪を発症しなかったとしても、re:Invent期間中はずっと24時間臨戦態勢みたいな状況だったので、どちらにしてもとても疲れたと思います。一緒に行った同僚たちもみな疲れたと言っていたので。それぐらい、とにかくイベントに参加してブログを書くということにみんな集中していて、これはこれでイベントっぽくて楽しかったです。疲れますけどw

英語について

今年の1月からDMM英会話を始めて最近はレッスン中であればあまりストレスなく会話できるようになっていたので、実際に海外のカンファレンスに参加してどの程度使い物になるのか確認してきました。結論としては、期待していたレベルまで英語力はついていませんでした。

  • 買い物とか道を尋ねるような会話は困らなかった
  • セッションはスピーカーの言っている内容が3割ぐらいしかわからなかった
  • セッション後のQAはある程度聞き取れた
  • ワークショップで隣りに座った人との会話は一応出来た。一方で他の参加者同士の会話はあまり聞き取れなかった

とりあえず、英語による会話自体への抵抗感はなくなっていたので、買い物とかも流れが分からなくて最初はビビりましたが、途中からは特に気にならなくなりました。人にもよりますが、ほんと向こうのレジの人は一言話しかけてきますね。一言の雑談よりもメニューの注文の方が普段使わない英語なのでよっぽど苦労しました(^_^;)

肝心のセッションですが、風邪で集中力が下がっていることもあったのかもしれませんが、あまり聞き取れませんでした。単語自体は概ね聞き取れるんですが、理解が追いつかない感じです。これは単純に普段の英会話で出てこない単語や言い回しが多くて処理が追いつかなくなっていたんだと思います。なので意識的にセッションの動画とかポッドキャストを聞いて、慣らす必要があると思いました。あとは訛りですね。こればかりは英語の基礎体力を長期的に伸ばすしかないのかどうなのかよく分かりませんでした。

セッション後のQAは1対1の会話であるためか、逆に聞き取りやすかったです。内容にもよるんですけども。同じくワークショップで隣りに座った人との会話やスピーカーに質問をしたりもしたのですが、こちらは1対1なので、多少聞き直したりはするにしても意思疎通できました。一方で他の参加者同士の会話はあまり聞き取れませんでした。要はこちらのレベルに合わせて向こうがある程度聞き取りやすい話し方をしてくれれば意思疎通できるレベルになっていて、そういう配慮がない状態だとまだまだ聞き取れないレベルであることが分かりました。

実際に参加してみて自分の状況は把握できたと思うので、今後も気長に英語には取り組んでいこうと思っています。1年前だったら全く会話できなかったと思うので、十分成長したかなと思ってます。ただ、セッションは普通に聞き取れるぐらいにはなりたいので、もうちょっと英語には優先的に時間を割こうと思っています。

最後に

まずはこのようなイベントに参加させてくれた会社に感謝です。一緒にイベントを乗り切ったという意味でも刺激をもらったという意味でも一緒に参加した同僚にも感謝です。また、日本で日常業務を支えてくれた同僚にも感謝です。あとは長期出張中に家で子どもたちの面倒をみてくれていた妻に感謝です。いやー、ほんとみなさんお疲れ様です&ありがとうございましたm(_ _)m

*1:https://classmethod.jp/company/overview/ で確認したらそんなにいるらしいです(゚д゚)!

1on1を1年ほど続けてみての振り返り

最近ブログを書けていないのですが、来週からre:Inventに行って会社ブログを10本書く予定があるので、ブログを書く練習も兼ねて気軽に書ける個人ブログで1on1について振り返ってみたいと思います。

ここ2年ほどグループマネージャーなる仕事をやっていたりするのですが、昨年の7月頃にメンバーから1on1なるものをやりませんかという提案を受けて、それ以来1年ほど1on1をやってました。

n3104.hatenablog.com

1on1はマネージャーとしては継続したい制度

はじめはメンバーともやったことがないので、試してみて微妙だったらすぐやめようと話していました。で、1年やった結論としてはマネージャーの立場としては継続したい制度になりました。理由はマネージャーとしてメンバーと定期的に1対1で話して、気になっていることや困りごとがないか確認し、あれば解決するようにアクションしたいと考えているためです。マネージャーの仕事はメンバーのアウトプットを最大化することであり、具体的にはメンバーに対して何らかの働きかけを行うわけですが、1on1はその手段の1つと捉えています。余談ですが、この辺りの考え方はHIGH OUTPUT MANAGEMENTに書かれており、ほんとその通りだと思っています。

n3104.hatenablog.com

1on1の運用ルールの変化

1on1を始める前と現在の運用ルールの差分から、もう少し具体的な話を書いておければと思います。実際に1on1をやる方の参考になるかもしれませし。

開始時は以下のようなルールで始めました。

1年やってどうなったかというと、以下のように変わりました。変更点は開催間隔、1回あたりの実施時間、参考書籍の3点です。

開催間隔と1回あたりの時間について

当初は隔週で1回あたり30分前後で始めてみました。で、実際にやると30分で終わることはなくて毎回60分話してました。これは話の途中で打ち切るのも微妙かと思って打ち合わせのスケジュールを60分押さえていたことが原因だと思います。枠を押さえてるのでついつい話しちゃうんですよね。私自身もw

一方で開催間隔は当初隔週としていましたが、こちらは1回が60分あることも原因かもしれませんがメンバーから特にアジェンダがないということで、2回に1回は1on1をスキップにすることがデフォルトになったため途中で月次開催に変更しました。2回連続スキップにならなかったのはさすがに月に1回はやろうということで2回連続スキップを禁止にしたためです。つまり、メンバーとしてはそもそも月次開催でなくてもよいと思っていたのかもしれません。一方で、マネージャーとしては最低でも月次開催としたいので月次で実施させてもらう状態になっていました。

ですので、マネージャーの立場からすると1on1はメンバーのアウトプットを最大化するため必ず実施したいけれども、メンバーからすると実施は任意でよいという点で非対称な制度という認識です。そのため、1on1を実施する際はメンバーからみて参加することにメリットがあると考えてもらえるよう気をつける必要があると考えています。
(そもそも、どんな打ち合わせであれお互いにメリットがあるように意識するのは当然のことではあるのですが)

なお、月次開催としていますが、これはお互いに関係性を構築できているというか私が管轄する部門に慣れた場合が前提であり、新入社員についてはまずは週次開催とし、慣れてきたら隔週、最終的に月次開催という形で開催する間隔を調整するようにしています。

今後試してみてもいいかなと考えているのは1回を30分とする代わりに隔週開催とするという方法です。ただ、幸いなことにメンバーに恵まれており、隔週にしなければ大きな問題があってそれに気づけないというようなこともない認識なので、月次60分のままでいいかなとも考えています。60分ぐらいある方がいろいろ話せますしw
(そもそも、今まで1on1でしか出てこない大きな問題のようなものはありませんでしたし、何らかの問題がある場合は日々のチャットや週次の部門の定例で検知できている認識です)

参考書籍について

ヤフーの1on1―――部下を成長させるコミュニケーションの技法は20代のメンバーを対象とするにはよい書籍だと考えています。理由としては育成の観点が強く書かれていると考えるためです。一方で、私が管轄する部門のメンバーは若くとも30歳以上で、上には私よりも経験豊富な40代の方もいます(ちなみに私自身は30代後半です)。また、皆さんセルフマネジメントできる方ばかりなので特に私自身が育成する必要もなかったりします。むしろ、相談させてもらうこともしばしばありますm(_ _)m

一方、HIGH OUTPUT MANAGEMENTはそもそもミドルマネジメントについて書かれている書籍であり、1on1については10ページ程度書かれているだけです。ですが、内容はマネージャーからみてなぜ1on1が必要であり、具体的にどのように進めればよいか記載されており、非常に明瞭かつ簡潔に書かれている認識です。内容も育成ではなくアウトプットを最大化するという観点で書かれているため、メンバーのレベルに関係なく参考になると考えています。

まぁ、結論としてはもちろん両方読んだほうがいいとは思います。そもそも、同じテーマについて相対化して考えるには2つ以上の事例が必要になりますし。

実際にどんな話をしているのか

やってみてわかったのは、ほんとメンバーによって話す内容が異なる点です。また、その人毎に毎回だいたい同じようなテーマで話すことが多いです。テーマが同じようなものになるのはアジェンダの用意をメンバー側にやってもらっていることが原因かもしれません。用意する側からすると前回のアジェンダを流用するほうが楽でしょうしw

具体的な内容としては基本的には雑談ですw担当している業務について話すこともあれば、趣味やプライベートの話をすることもありますし、思いっきり脱線することもしばしばあります。マネージャーとしてその方のことを把握しておくのは重要ですし、一個人としてもその方のことを知ることは楽しいので、個人的には楽しくやってます。

一方で、マネージャーとして必ず確認しているのが気になっていることや困っていることがないかについてです。メンバーのアウトプットを最大化するために1on1をやっているので、もし困りごとがあれば解決する必要があると考えています。後は4半期や1年単位で振り返りとか今後やりたいことがないかは質問するようにしています。

まとめ

最初は1on1という聞き慣れない名前で戸惑いましたが、やってみて昔からやっている上司や先輩、同僚などに1対1でやってもらった雑談とか相談と同じものだと気づきました。とはいえ、上司に関しては評価面談を除いてはこちらから依頼しなければ実施されなかったと思うので、制度化していることはよいことだと考えています。また、制度化することでどのメンバーとも一定の頻度で雑談できることも重要だと考えています。

Twitterブックマークレットを更新した(2018-09-16)

Twitterのブックマークレットを更新した - n3104のブログで更新していたブックマークレットを使ってリンクをシェアしようとしたら何か違和感があったので、よく見たらリンクしようとしたいページのURLが含まれてませんでした。。

f:id:n-3104:20180916130327p:plain

改めて前回更新したブックマークレットを見たらGuides — Twitter Developersに含まれているurlパラメーターが含まれていません。

javascript:(function(){var w=550,h=420;window.open("https://twitter.com/share?text="+encodeURIComponent(document.title),"_blank","width="+w+",height="+h+",left="+(window.innerWidth-w)/2+",top="+(window.innerHeight-h)/2+",scrollbars=yes,resizable=yes,toolbar=no,location=yes")})()

とはいえ、動作確認もしていましたし、実際に何度か使っていたんですが。。自分のTwitterを調べると今年の3月末ぐらいまでは動作していたっぽいです。

ということで、どう修正しようかと思って検索したら[JavaScript][ブックマークレット] 現在のページをTwitterにシェアする用のブックマークレットを作成が見つかり、中身もよさげだったのでそのまま使わせてもらうことにしましたm(_ _)m

javascript: (function () {window.open("https://twitter.com/intent/tweet?url="+encodeURIComponent(location.href)+"&text="+encodeURIComponent(document.title),"_blank", "width=600,height=300");})();

あと、リンクできていなかったツイートが2件あり削除しました。今更シェアし直すのも微妙ですし、ツイートは修正もできないので(´・ω・`)