背筋を伸ばしてスタートアップするブログ

株式会社ペライチでCTOをやっています。

人見知りのための懇親会テクニック

勉強会やカンファレンスの懇親会が昔からあまり得意じゃないんですが、回数をこなすうちにそれなりに有意義な過ごし方ができるようになってきた気がしてます。

今週末もJuly Tech FestaというITイベントに参加するのですが、参加するにあたって自分なりに心がけていること結構あるなと思ったので、まとめてみようと思います。

事前準備

目的とKPIを決める

懇親会の何が苦手かって、中身のない会話を延々と続けることになったり、逆に誰とも話す機会を得られず孤独感を感じながらスマホをいじる羽目になったりすることなんですよね。

で、それを避けるには自分から話しかけることが大事で、目的を事前に設定し意識することで少なくとも漫然と過ごすことは防げるかなと思っています。

目的というのは例えば以下のようなものです。

  • 勉強会の技術テーマをディスカッションを通して深掘りする
  • 採用候補者を見つける。
  • 会社やサービスの説明をしたりビジョンを話す練習をする。

で、KPIは上記目的を達成するために「5人以上に話しかける」とか「2人以上とランチの約束をする」とか定量的なものを設定します。

学生時代ティッシュ配りのアルバイトしたことありますが、目的があると不思議と人に話しかけるのって苦じゃなくなるんですよね。

自分がギブできるネタを用意しておく

こう書くと敷居が高い感じがしますが、要は自分の話せるネタを用意しておけばいいのです。

懇親会で初対面の人と話すときにやってしまいいがちな失敗が質問攻めです。これはシンプルに自分から喋れることがないから起こることだと思っています。

話し好きの相手であればそれでもいいのかもしれませんが、質問ばかりだと相手に得るものがないため辟易されてしまう可能性が高いです。

そうならないためにも自分が喋る内容を事前に準備しておくのがおすすめです。

  • 名刺交換するときの自己紹介
  • 仕事で取り組んでいること
  • なぜこの勉強会に参加したのか
  • 最近興味のある技術テーマ

などです。

これらを自分から先に話した上で相手にも問うのです。互いに興味のある話題につなげることができれば自然と盛り上がります。

ここで、話題としておすすめなのがその日の勉強会のテーマです。

事前に勉強会で扱われるテーマについて技術調査をし、知見を深めておきます。そのテーマに興味がある人ばかりが参加しているはずなので、こちらからギブできる話題としては絶好のネタとなり話も弾みます。

当日の動き

登壇者に話しかける

勉強会に参加するメリットとして、登壇者の生のスピーチを聞けたり質問できたりすることが挙げられると思いますが、懇親会はそのメリットを享受する絶好のチャンスです。

勉強会中登壇者の話でわからなかった箇所や詳しく聞きたいと思った箇所をメモしておき、懇親会のときに質問するのです。

登壇する立場からすれば、興味を持って話を聞きにきてくれる人には親切にしたくなりますし、スライドではオープンにしづらい裏話やスライドに盛り込めなかった内容とかも話したくなります。

またここで事前準備で調査しておいた勉強会テーマが生きてきます。質問するだけでなく登壇者と議論を深めることができれば間違いなく有意義なものになったと言えるでしょう。

食事に負けないようにする

これは半分精神的な話です。懇親会では大抵の場合軽食が出されますが、ここに罠が潜んでいます。

仕事終わりで登壇者の話をひととおり聞ききった後ということもあり、懇親会が始まる頃にはだいたいかなり空腹状態です。そしてそんな状態で目の前にピザがでてきたら本来の目的を忘れて食べることに意識が向いてしまいます。

さらに、料理を食べて満腹中枢が刺激されると今度は逆に落ち着いてしまいダラダラ過ごしてしまいがちになります。

なので、できれば食事はダラダラしないようサクッと済ませるか、食べないくらいのスタンスでいましょう。

コツとしては、あらかじめ空腹にならないような工夫をしておきます。勉強会に参加する前に自分で軽食をとっておくのです。サンドイッチとかカロリーメイトとかなんでもいいです。

話をうまく切り上げる

話を自然な感じでうまく切り上げるのって結構コツがいるなと思っています。特に相手に会話のペースが握られる事が多い人見知りとしては終わり時を自分から作ることが難しくなります。

話を切り上げる時は、話のキリがいいタイミングで以下のような文句を言ってからさっとその場を離れるのがおすすめです。

  • 「ちょっとお手洗い失礼します」
  • 「他の方にも挨拶してきますね」
  • 「飲み物とりにいってきます」
  • 「よかったらまたお話しましょう。Facebook申請してもいいですか?」

さっさと帰る

気分が乗らないときや、逆に今日はもう目的が達成できたと思ったときなど、これ以上得られるものがないと思ったらその時点でさっさと帰るのも大事なことだと思います。

別に最後までいなければいけないルールなんてないですし、早退したからといって主催者はほとんど気にしてないです。

ダラダラ過ごすことになるなら、その時間で家でコード書いたり技術書読んでた方がずっと有意義な時間になります。

まとめ

ということで、普段意識してることをまとめてみました。使ってみていただけると幸いです。

プルリクエストを出す際に意識してほしいこと

最近コードレビューをする機会が多いのですが、プルリクエストの中でもレビューしやすいものとそうでないものがある事を実感しています。

というわけで、レビュアーとしての観点からどんなプルリクエストだと助かるのかについてまとめてみました。上から重要だと思う順に書いています。

1. 何を実現したいのかを書く

そのプルリクエストで何を実現したいのかのインプット情報が多いほどレビューしやすくなります。例えば以下のような項目です。

概要、目的、要件、設計、テストケースetc...

また、併せてどのような観点でのフィードバックを求めているかも伝えられると親切です。

レビュアーに対してだけでなく、あとからチームに加わったメンバーが読んだときにも理解しやすくなります。

リポジトリ直下に PULL_REQUEST_TEMPLATE.md という名前のファイルを配置することでプルリクエストをつくるときのフォーマットを設定できるので、運用の際はそれを活用するといいと思います。

2. プルリクエストの粒度はなるべく小さくする

変更の差分が数十ファイル以上もあるようなプルリクエストはレビュアーの精神をとてもすり減らします。

f:id:katsuki1207:20180720012017p:plain

逆に粒度が小さいほどレビューする方も気持ち的に楽なのですばやく取り組むことができます。

感覚的には10ファイル以内に収めてもらえると助かります。

なぜプルリクエストが巨大になるのか?

設計が完了する前にコードを書き始めることがだいたいの原因かなと思っています。どこで分割していいかわからないまま結局一つのプルリクエストにすべてが収まってしまうのではないかと。

設計が完了してイシューが分割できていればプルリクエストも細かくできるはず。いやほんと、差分ファイルが多すぎるのは見るだけで疲弊します(切実)。

3. 自らコメントをつけておく

実装者がプルリクエストのレビュー依頼を出す前にあらかじめ補足事項や相談をコメントしておきます。例えば以下のようなコメントです。

f:id:katsuki1207:20180720012909p:plain

  • 「ここは◯◯の意図でこのような実装になっています。」
  • 「ここはこうしたけど◯◯の点で問題はないでしょうか。」

このようなコメントはレビュアーの理解を助け、設計における建設的な議論にもつながるため積極的に行うべきだと考えます。

4. 綺麗なコミットログをつくる

プルリクエストの粒度を小さくしたほうがいいと書きましたが、やむを得ず差分の量が多くなってしまう場合もあると思います。

そういったときにコミットログが綺麗だとストーリーに沿って順を追ってレビューできるためとてもやりやすいです。逆に複数の変更内容を1コミットにまとめられるととてもレビューしづらいです。

コミットメッセージの内容

コミットログに書くコミットメッセージは以下のような感じでサブジェクトに「変更内容(What)」を、メッセージに「変更理由(Why)」書きましょう。変更理由があることで、ソースコードから書き手の意図を頑張って読み取るコストが省けます。

1行目:変更内容の要約(タイトル、概要)
2行目 :空行
3行目以降:変更した理由(内容、詳細)

参考: Gitのコミットメッセージの書き方

まあこれら関しては正直毎回いちいち綺麗にするの大変なので、大量の差分が出たときだけはせめてやってほしいという感じです。

Status checkはクリアしとこう。

あれ、大丈夫?ってなるので。 f:id:katsuki1207:20180720013616p:plain

クリアしてなくてもいいけど、その場合は理由を書いておいてもらえると助かります。

View変更のスクショを貼る

Viewを変更している場合はBefore, Afterのスクショを貼ってもらえると動作確認する手間が省けて助かります。

まとめ

少しの工夫を加えるだけで何倍もレビューしやすさが変わるので、ぜひ参考にしていただけると幸いです!

勉強を1日30分習慣化する方法

「1日30分を続けなさい!」という本を読みました。いかに勉強を習慣化し成果を上げるかについての方法論が書いてあり、勉強時間の確保に課題を感じる忙しいエンジニアにとっては特に参考になる本だと思いました。

勉強の成果において一番重要なのは「勉強時間」

本書では長期的に勉強で成果を上げるために必要な要素は以下であるとし、特に勉強時間の確保が大事だとしています。

勉強の成果 = (教材の質) × (集中力) × (勉強時間の2乗) + (過去の勉強の蓄積)

教材の質よりも勉強時間の方が重要という点は言われてみればなるほどと思いました。

勉強の成果はしばらくすると累積効果が効いてくるので、ある一定の時期を過ぎると急激に勉強の成果が表れます。それは半年かもしれませんし、1年かもしれません。大切なことは、「勉強の成果はすぐには出ない」ということを知りつつ、日々勉強を続けることです。

脳科学の観点からも、知識が増えるほど脳が無意識にパターン認識できるようになるため勉強の成果は累積効果により勉強時間に応じて指数関数的に上がっていきます。そのため、最初はちんぷんかんぷんの内容も積み重ねることによってわからないことがある日突然わかるようになったりします。

習慣化するためには痛みを避ける

長期的に勉強時間を最大化するには習慣化することが不可欠です。本書ではそのための方法の一つとして不快な状態での勉強を避けることが大事だと述べられています。

脳の行動パターンは非常に単純です。

  1. 痛みを避ける
  2. 快楽を得ようとする

イヤイヤ勉強するということは、脳にとっては痛みになるわけです。すると、脳は痛みを避けようと、勉強をしないように指示を出し、勉強が長続きしなくなります。

これは非常に大事で、不快に感じることって無意識に脳が拒否するため習慣化できません。特に脳は変化を嫌うため新しい事をはじめようとするときはどうしても負荷を感じます。一度習慣化してしまえばなんということはないですが、新しく習慣を作ろうと取り組みはじめるときこそ気をつけなければと思いました。

また、本書ではこうも言っています。

長期間勉強を続けていると、どうしても「最近は勉強する気にならない」とか「気分が乗らない」という時期が必ず来ます。(中略)このような場合は、思い切って2~3日全く勉強に手を付けないことをおすすめします。そうすると、3~4日目には「最近勉強していないので、中期目標が達成できないぞ。まずい」という焦りの感情が起こりますから、そうしたらまた勉強を再開します。

まとめ

上記以外にも勉強を通して高い成果を上げるための具体的な方法論として、動機づけから時間の捻出方法、食事、睡眠のコントロールまでさまざまな内容が記載されておりとても参考になりました。

ちなみに本書では通勤時間にオーディオブックを聞くという勉強法がありましたが、過去に書いたKindleの読み上げ機能がとても役立つと思ったのでリンクしておきます。 katsuki.hatenablog.com

ということで、総じていい本でした。特に資格試験を受ける人や勉強を習慣化したい人にはご一読をおすすめします!

「1日30分」を続けなさい!Kindle版: 人生勝利の勉強法55

感謝を込めてKobitoのデータを移行した

KobitoというMarkdownエディタをスニペットツールとして愛用しているのですが、2017年の12月にサポート終了し新たなダウンロードもできなくなったのですね。

f:id:katsuki1207:20180705192134p:plain

まあそれ以降も気にせず使っていたのですが、新しいPCを購入したため中のデータを別のツールに移行せざるをえなくなりました。

どうしたものかと思いとりあえず検索してみたところ、同じ課題を自作スクリプトで解決している方を発見。 https://qiita.com/jnchito/items/3a6861c179e2ab4a28a2

QuiverというMarkdown形式対応のメモアプリに移行するというものです。

早速スクリプトをCloneし、動かしてみました。

手順

1 ) 手元にソースコードをCloneする。

git clone git@github.com:JunichiIto/kobito-to-quiver.git 

2 ) リポジトリのルートに移動し、Kobitoのバックアップデータを所定ディレクトリにコピー

cd ~/kobito-to-quiver
cp ~/Library/Containers/com.qiita.Kobito/Data/Library/Kobito/Kobito.db ./db 

3 ) gemをインストールし、バックアップデータをもとにoutputディレクトリにMarkdownファイルを生成

bundle 
bundle exec rake export 

4 ) Quiverを起動 > File > Import > Markdown で、上で生成したMarkdownファイルをすべてインポートする。

5 ) 上記によりQuiverデータとして生成されたqvnotebookディレクトリの名前を確認(6E2E7794-D4B5-48F6-AB34-B8DBB09DB2EB.qvnotebookのような名前のものがそれ)

ls -lt ~/Library/Containers/com.happenapps.Quiver/Data/Library/Application\ Support/Quiver/Quiver.qvlibrary/ | grep .qvnotebook 

6 ) 所定のqvnotebookディレクトリ配下に、上記ディレクトリをコピー

cp -r ~/Library/Containers/com.happenapps.Quiver/Data/Library/Application\ Support/Quiver/Quiver.qvlibrary/6E2E7794-D4B5-48F6-AB34-B8DBB09DB2EB.qvnotebook ./qvnotebook 

7 ) 記事タイトルとタグを更新する処理を走らせ、Quiverデータにコピー

bundle exec rake update_qvnotebook 
cp -rf ./qvnotebook/6E2E7794-D4B5-48F6-AB34-B8DBB09DB2EB.qvnotebook ~/Library/Containers/com.happenapps.Quiver/Data/Library/Application\ Support/Quiver/Quiver.qvlibrary/ 

無事、Quiverに移行完了しました!ちなみにruby2.4以上と書いてましたが、ruby2.3.3でも動きました。

Kobitoのおかげで得られたもの

Kobitoはスニペットツールとしてとても重宝していましたが、それだけでなくQiitaに投稿するきっかけを作ってくれました。

記録したメモをワンクリックでQiitaに投稿する機能があるため、メモった内容をカジュアルに公開することができるのです。気づいたらKobitoにメモった技術調査の内容やスニペットをQiitaに公開するのが習慣になっていました。

おかげで過去たくさんのリアクションをもらう事ができました。中には感謝のコメントをくれる人や間違った内容を指摘してくれる人もいて自らのアウトプットを世の中に公開する意義を大いに感じることができました。

Qiita

人から反応をもらえるのは励みになります。 些細な内容だとしても、世の中に1ミリでも還元できているという実感が得られるからです。

KobitoとQiitaがあったから、些細な内容でも恥ずかしがらず公開してみよう!というメンタリティを得られたように思います。

サービスとしては終了してしまったKobitoですが、得られた教訓を胸に今後もアウトプットを続けたいと思います。

開発チーム勉強会はじめました

先月から新しい取り組みとして隔週に1度の開発チーム勉強会をはじめました。輪読会形式で進めているのですが、なかなかいい感じに進んでいるのでどんな風にやってるか紹介します。

やり方

各回テーマに応じた内容について書籍を使って学習します。

1. 勉強会の日時、テーマを決める

  • 業務時間内でみんなが集まれる日時を決めます
  • 学びたいテーマをメンバーからヒアリングして決めます

2. 参加者に本を配る

  • テーマについての書籍を会社で人数分購入し、参加者に配ります

3. 当日までに読んできてもらう

  • 業務時間内に読んでもらっても構いません

4. 当日、学びになった箇所についてディスカッション

  • 読んできた内容で印象に残った箇所や学びを自由に発表し合います。
  • 最後に次回のテーマと日時を決めて終わります。

どんなテーマにするか

以下にのような内容がいいんじゃないかと思っています。

  • 直近の仕事で取り組むべき課題に関するもの
  • チーム全体で伸ばしたいと思っている技術
  • その他一般的にエンジニアとして身につけておくべきスキル etc....

なぜ輪読会か

一番の理由は準備が比較的楽だからです。参加者は最低限渡された本を読んでくればいいので準備が大変で続かないという事が生じにくいのではないかと思っています。

また、以下のような効果も感じています。

発表を通して学習効果が高まり新たな視点が得られる

輪読会のいいところはただ書籍を読むよりもインプットした知識の理解が深まることです。人に説明する行為を通して情報が頭の中で整理され、より深く記憶に定着します。また、自分とは異なる視点からの意見を聞いたりディスカッションしたりすることで知識が強化され、多様な考え方を身につけることにもつながります。

チームのコミュニケーションの質向上

さらに、実際にやってみて気づいたはチームの共通言語ができることです。コミュニケーションがより円滑になる効果もあると思いました。

例えば先日輪読した書籍に登場した「ウィルパワー」という言葉。これは意思決定をするたびに消耗するエネルギー的な意味を持つ言葉なのですがこれが共通言語化することで「そこにウィルパワー割く必要ある?」とか「その設計は読む人のウィルパワー消費するからよくない」などの使い方が通じるようになります。

チームの言葉が増える → コミュニケーションの質&スピード向上

となりとてもいいなと思いました。

成長に寄与しよう

このようにまだ始めたばかりですが、いまのところ楽しくやっています。

ペライチには大切にしているカルチャーの一つに「成長に寄与しよう」というのがあります。今後もメンバー一人ひとりがエンジニアとして成長できる環境を整えていくためにこういう取り組みをどんどんやっていきたいと思います!

エンジニアインターンの研修用教材としてProgateがめちゃくちゃ使えそう!

久しぶりに会社にエンジニアインターンが入社することになったので研修教材を探したところProgate がよさそうだったので使ってみることに。試しに自分でも触ってみましたが、特に初学者向けの教材としてとても使えそうだと思いました。

Progateの特徴

f:id:katsuki1207:20180620234801p:plain

環境構築が不要

自前で開発環境構築などが必要なく、PCとインターネット環境さえあればブラウザ上で利用できます。

UIはこんな感じ。 f:id:katsuki1207:20180621000047p:plain

イラストでわかりやすい

解説がイラストつきでとっつきやすいです。ふしぶしにゆるいキャラクターが登場し、とにかくプログラミングに対してハードルを下げようという姿勢を感じます。 f:id:katsuki1207:20180620235128p:plain

フィードバックをくれる

何が間違っているのか具体的にフィードバックをくれるため、何がわからないのかわからなくてハマることがほぼありません。

f:id:katsuki1207:20180621000202p:plain

安い

法人プランは一人当たり1480円/月です。安い。

いままで使ってた教材の難点

以前はドットインストールを使っていましたが、以下の問題がよく発生していました。

  • 序盤の環境構築でハマって進めなくなる
  • 問題の原因がわからないので自力で調べることが困難
  • そのためリモートで進められない

特に初学者は何がわからないのかもわからない事が多いのでトレーナーがそばについてナビゲートしないといけない事が多いです。正直トレーナーにとってもそれなりの負担がかかります。

それに対してProgateの場合は上述の特徴があるため細かいところは一旦おいといてサクサク進められます。人に聞かなくていいから心理的に楽だしモチベーションが継続しやすいと感じました。

まず全体感を知ってもらうというやり方

全体を把握できない中で学習の本筋ではない部分でハマり、暗中模索する作業はとても辛いものがあります。

それを解消するためにも細かい事は置いておいてまず一周してもらい全体感を把握してもらう。そんな使い方に最適だと思いました。

場合によって使い分けられるといいかも

上述でドットインストールを下げた感じになってしまいましたが、要は以下のように場合によって使い分けができればいいのかなと思っています。

  • 全くの初学者: Progate
  • 開発経験あり: ドットインストール, Udemy etc

書籍や動画などの情報が一方向的な教材でも、ある程度わからないことを調べるスキルがあれば有効に使いこなせるはずです。

ということで、さっそく試してみます。ほかにいい教材知ってる方教えて下さい!

7日間断食して得られたもの

断食といっても正確にはファスティングという水と酵素ドリンクだけで過ごすやつを7日間行いました。

2月に受けた人間ドックで脂肪肝と診断されたのでよくいく鍼灸の先生にその話をしたところ、ファスティングやれば?といわれて興味を持ったのがきっかけです。

結論からいうと当初の目的だった脂肪肝とかどうでもよくなるくらいいろんな変化がありました。

やったこと

まずトレーナーを探した

ファスティングは素人が単独でやると危険なこともあるので、まず適切な指導をしてくれる専門家の人を見つけなければいけません。僕はネットで見つけた断食メガネさんという専門家の方に教えてもらいながらやりました。後から知ったのですがメガネさんはペライチのユーザーさんでした。

スケジュール調整

ファスティングはざっくりいうと 準備食(2日間) → ファスティング(7日間) → 回復食(3日間) という流れで行います。

期間中は外食ができないので、飲み会やランチが入れられずいろいろ調整する必要がありました。振り返ると断食よりここの調整が一番大変だった気がします。

いよいよ断食開始

準備食(2日間)

ファスティング中は肝臓が忙しいため、前段階で肝臓に負担がかからない食事をとって極力肝臓を休ませます。具体的には添加物の多いお菓子スイーツ、お酒、カフェイン、肉、魚、卵、動物性たんぱく質、揚げ物などを避けます。必然的に病院食みたいな感じの食事になります。

ファスティング(7日間)

準備食期間を終えたら本格的にファスティング開始です。期間中に摂取するのは以下だけ。

  • 酵素ドリンク

酵素ドリンクというのは、なんか乳酸菌とかが入ってて腸内環境良くしてくれる&最低限のブドウ糖が摂取できるようになってる飲み物です。

ファスティング期間は人によっては3日間や5日間で行うみたいですが、メガネさんによると3日目から本格的に脂肪が燃焼しはじめるという話だったので、僕は思い切って長めの7日間とりました。

回復食(3日間)

ファスティング後に直後にいきなり体への負担が大きいものを食べると倒れたりするそうなので、準備食同様やさしいものを食べます。

どんな変化があったか

さて、結論まで長くなってしまいましたが、断食することでどんな変化があったか書きます。

  • 体重: 79.5kg73.4kg
  • 体脂肪率: 18.2%12.8%

結論、めちゃくちゃ痩せました。

それも筋肉はあまり減らず脂肪が減るという嬉しい結果に。ビジュアルの変化としてはお腹まわりの脂肪がすっきりなくなり、シックスパックが出てきました。

f:id:katsuki1207:20180425090816p:plain

ジムでの計測ですが、当初の目的である内臓脂肪が減少し、ウエストも引き締まっていました!

体型以外に起こったさまざまな変化

上記の変化以外にも、ファスティング中は思いもよらない変化が沢山ありました。

  • 日中の集中力が高まった
  • 慢性疲労や慢性咽頭炎がなくなった
  • 睡眠時間が減り、寝覚めがよくなった
  • メンタルが安定し、ぶれることがなくなった

一番驚いたのは、数ヶ月悩まされていた慢性的な疲労感がなくなったことです。むしろ体力が有り余りすぎてファスティング中は毎朝欠かさず5km〜8km走ってから出社してました。消化にエネルギーを使わない分睡眠の質が高くなり、短時間睡眠でもすっきり目が覚め、まるでスーパーマリオ状態でした。

ケトン体質になるおかげでいいことが起こる

ファスティング中は体内のブドウ糖が枯渇するため、代わりに脂肪酸から作り出されるケトン体をエネルギーとします。ケトン体が脳に入るとα波の分泌が高まり高い集中力が保てることがわかっています。

さらにケトン体は脂肪酸から作り出されるため、期間中はボーナスステージのようにカロリーを消費すればするほど脂肪を燃焼する体質になります。これが運動すればするほど驚くほど脂肪が落ちるしくみです。

そして、胃腸が休まることで腸内環境が整うため、幸福ホルモンであるセロトニンや快楽ホルモンのドーパミンが分泌され、自律神経が整いメンタルが安定しさまざまな不調が改善されます。

ファスティングはダイエットの文脈で語られることが多いですが、本来は健康法の一種です。胃腸を休め、ホルモンバランスを整え、免疫細胞の生まれ変わりを促進することで体に蓄積された毒素を排出します。

今回とてもよかったので1〜2年に一回くらいは体の大掃除のつもりでやってもいいかなと思いました。

20代の若手エンジニア向けにキャリアについて話してきました

明日が見えない若手エンジニアナイト

というイベントで20代のエンジニア向けにお話してきました。

「会社員 → フリーランス → スタートアップ起業」というキャリアを通じて学んだことや自分が若手エンジニアだったらどのように過ごすかという軸でお話してきました。 短い時間だったので多くの内容は話せませんでしたが、参考にしてもらえたらうれしいです。

発表資料

キャリアについて考えるということ

自分が若い頃は正直それほどキャリアについて細かく考えていませんでした。ただ新卒で会社員になる前から20代のうちに起業するという方向性は胸に抱いていたため、それに向けて何が必要かを考えながらいろんな選択をしてきた気がします。

遠い未来に自分がどうなっていたいか具体的にイメージするのは難しいかもしれませんが、エンジニアとしてどういう方向性を目指すかというざっくりした指針くらいは考えておくといいのかもと思います。

iPhoneの読み上げ機能で読書量が2倍になった

f:id:katsuki1207:20180206192918j:plain

昨年末から友人に教えてもらって使いはじめたんですが、iPhoneの機能に「スピーチ」というのがあります。

文章を読み上げてくれる機能なんですがこれが素晴らしく便利で、まるでオーディオブックのようにKindleの内容を読み上げてくれるんですね。

知ってから使わない日はないくらい便利なので、記事にしてみました。

何がいいのか

一言でいうと「とにかくスキマ時間を活用してインプットできるようになった」ということに尽きます。

例えば家から駅までの徒歩移動中や家事をしてるときって、考え事とか音楽聴くとかしかできなくて結構ストレス感じてたんですね。そういう時間を有効に使えるようになったのは大きいです。

また、体感として活字を読むよりも聴く方が圧倒的に楽なので、疲れて気分的に本読むのがおっくうなときとかもインプットできるというのは助かってます。

どんな時に使うか

以下のタイミングで使っています。スキマ時間はだいたいKindleを聴くようになりました。

  • 徒歩での移動中
  • ジムでのトレーニング、ランニング中
  • 朝の支度中や食事中、入浴時
  • 疲れてて本をよむ気分にはならないけど手持ち無沙汰なとき

使い方

  1. 設定アプリを開く
  2. [一般] > [アクセシビリティ] > [スピーチ]へ移動
  3. [画面の読み上げ] をONにする

f:id:katsuki1207:20180206182617p:plain

これで設定完了。あとはKindleで読みたい本を開いて2本指で上から下にスワイプすれば読み上げ開始してくれます。読み上げスピードも自由に調整できて便利。

どんな本に向いているか

スピーチ機能で読み上げる本には向き不向きがあります。

頻繁に立ち止まって精読する必要のある難解な本や、技術書などは向いていません。またマーカーを沢山引いて勉強するぞ!みたいな場合も向いてないと思います。

向いてるのは活字でも読みやすい本です。僕の場合ビジネス書やライトめの自己啓発書が多いです。例えば今年に入ってからは以下を聴きました。

全部積読してた本です。嬉しい!

ちなみに、Kindleだけじゃなくてブラウザで開いた記事の読み上げとかにも使えます。

読み上げの弱点

スピーチ機能にはいくつか弱点があります。

まず、読み上げスピード自体は活字で読むよりも遅いです。読書できる状況のときは普通に読んだほうが効率的です。

あと、音声が若干カタコトというか機械的な感じがあるので、人によっては気になるかもしれません。



という事で、個人的には上記を差し引いてもスピーチ機能は超おすすめです。iPhone使ってる人は一度試してみてください。

「健康で文化的な最低限度のSPA」というテーマでSPAについて話してきました!

SPAサービスサミットというイベントで登壇し、ペライチの取り組みについてお話してきました!

ペライチはいわゆるSPA(= Single Page Application)サービスですが、それに耐えうるフロントエンドをどのように構築してきたかという内容です。

うちもまだまだ試行錯誤中ですが、これまで開発を行ってきた中で突き当たった課題とその対処法についてできる限りシェアしました。

SPAに興味がある方はとても多いようで、80人の会場は満席で、参加者の皆さん前のめりで非常に盛り上がったように思います。

写真力が低い

イベントの詳細なレポートは会場提供していただいたGoodpatchさんがまとめてくれてますので、こちらからどうぞ!

パフォーマンスチューニング開発合宿

先日会社のメンバーで開発合宿に行ってきました!

弊社では恒例行事として、3ヶ月に一度1泊2日の開発合宿を行っています。これまでの合宿では特に開発テーマは決めずに各々が各自のタスクを消化しているだけだったのですが、今回初の試みとして、全員で「プロダクトのパフォーマンスを向上する」事にチャレンジするという取り組みを行いました。

合宿の準備

今回、準備した事が2つあります。

まず、現在のプロダクトの課題がどこにあるのか探す事。どこがボトルネックで何を改善すればいいかの目処を立て、リストアップしていきました。

2つ目はパフォーマンス・チューニングのマニュアルを作ること。エンジニア、デザイナー、総務兼エンジニアインターンなど、役職もスキルレベルもバラバラなメンバーが集まっているので、基礎的な部分をオリエンテーションできるように資料を作りました。

f:id:katsuki1207:20160627092504j:plain

合宿当日

各メンバーにそれぞれチューニングしてほしい場所を割当てた上でコードを改善していきます。僕の役割はというと、ひたすらメンバーが上げてくるプルリクエストのレビュー&各々の処理の効果測定。

他にもいろいろやったよ

余談ですが、合宿中はメンバー同士の親交を深める事を目的に開発だけでなく他にもいろんな事をやります。

f:id:katsuki1207:20160627092516j:plain f:id:katsuki1207:20160627092513j:plain

スタートアップ的な映画を見たり、公園でチームビルディングアクティビティをやったり、寮母の手料理を食べたりムーディーな風呂に入ったりしました!

結果

1泊2日7人で合計14個のプルリクエストをマージしました。結果、サービ全体で2秒以上、平均約45%の速度向上に成功しました。

良かったこと

今回は定量的に成果を測定できるテーマだったため、限られた時間の中で表示速度を何秒縮められるかといったタイムアタック的な緊張感があり、とても集中力高く取り組めました。またそれと同時にただタスクをこなすだけよりも大きな達成感が得られたという実感がありました。

そして、メンバー全員で同一の目標ににチャレンジした事でチームの一体感が高まったように思います。

まとめ

「パフォーマンス向上」というテーマは、日常的な機能開発と切り離してトライできる上に終わりがないので、開発合宿にとても向いてるいいテーマだなと思いました。

今後も継続的にチャレンジしていきたいと思います。(皆さん他にも良いテーマがあればぜひ教えてください….!)

f:id:katsuki1207:20160627092500j:plain

IVS CTONight&Day初参加してきました。非常に濃い3日間でした。

IVS CTO Night & Dayとは

ざっくりいうとAmazonさんが企画、開催するCTO向けのカンファレンスです。

IVS CTO Night & Dayは、CTO及び技術責任者のためカンファレンスです。 CTO同士によるディスカッションや事例共有、交流により業務に役立つ気付きや発見が生まれ、CTOコミュニティを構築することを目的としております。

IVS CTO Night&Day

宮崎で過ごす非常に濃い3日間

学生時代、学生団体の活動で7泊8日100人で沖縄の離島で合宿するみたいなイベントをやってた事がありますが、それと似た感じでとても濃縮された感覚がありました。全員強制的に日常と切り離されることでより親密度が上がり、密度の高い話ができるというか。この3日間、本当濃かったです。

参加者は全員CTO(相当職)

参加者は、会社として数名規模から数千人規模までとさまざまなフェーズのCTOが合計100人くらい来ていました。今回いろんな人と交流し、経営者、CTOという立場として、具体的で参考になる話が沢山聞けました。

中には、自分がまだ体験した事のないようなHARD THINGSをいくつも体験してきた人もいて、そういう人の話はすごく参考になるし、もっと覚悟をもって経営に臨まなければいけないなと改めて自分と向き合うきっかけになりました。

また、コンテンツ以外の時間はほとんど一日中交流していたといっても過言ではない2日間の中でさまざまなテーマでいろんな人とディスカッションしましたが、経営陣の中でもしくは組織の中で自分のCTOとしての役割をどう位置づけるかという話や、経営者としてCTOがやるべき事などのテーマでのディスカッションは非常に盛り上がり、多くの人の意見を聞く事ができて、いろんな視点を得ることができました。

次のフェーズで何が起こるかなどの話が聞けた

登壇者によるセッションでは楽天の元CTO安武さん、Supership和田さん、DMM亀山会長など、経験豊富なCTOおよび経営者の方のお話をCTO向けの視点、言葉で語ってくださりとても勉強になりました。

中でも安武さんの、組織のサイズや状況によってルールは変えないとだめで、盲目的に守り続けていると破綻するという話はとても納得感がありました。

AWSの中の人と交流できた

イベントスタッフとして参加されていたAWSの人たちと交流できたのは、普段自分が利用しているサービスの中の人を知るという意味で非常に新鮮でした。ざっくばらんな雑談から、技術の具体的な相談まで、さまざまな話ができてとてもよかったなと思います。

個別技術相談会ではプロダクトのインフラ構成にフィードバックをもらったり細かい質問を沢山させてもらって非常にためになりました。

AWSによるセッションもあり、その内容も技術の事からAmazonのカルチャーの話まで様々で、かの有名な two pizza rule を始めとしたAmazonという会社のカルチャーをどのように浸透しているかという話は今後の文化づくりの参考にしたいなと思いました。

まとめ

さまざまなフェーズの会社のCTO職の方とディスカッションしたり、事例共有したり、課題を相談し合えるとても有意義な空間でした。

えふしんさんが仰ってましたが、「会社での自分の課題が増えれば増えるほど得られるものが増える」というのは本当そのとおりだと思います。

学生時代イベント運営をやってたことがありますが、こんなに濃密な企画をつくり、遠方に参加者を集めるのは大変な労力を要することかと思います。Amazonさんは本当に素晴らしい会社だと思います。ありがとうございました。

(余談1)LTさせてもらった

初参加ということもあり、なるべく多くの方に顔を覚えてもらおうと思い弊社で実施している採用の取り組みについてレゼンさせてもらいました。スライド置いておきます。 スライドはこちら

(余談2)初めてAWSビジネスサポートのお世話になった

2日目のセッション中にサービスの負荷が急上昇し、すぐ近くにいるAWSスタッフを尻目にビジネスサポートに問い合わせするという展開に。初めて利用しましたが、遠隔から懇切丁寧にいろいろ対応していただき非常に助かりました。




f:id:katsuki1207:20160602094324j:plain f:id:katsuki1207:20160602094337j:plain f:id:katsuki1207:20160602094348j:plain f:id:katsuki1207:20160602094358p:plain

dots主催のスタートアップ向けイベントで登壇してきました!

サービスを技術で支えるスタートアップベンチャー企業の作り方

というイベントで登壇してきました。

f:id:katsuki1207:20160311152426j:plain

どんな内容を話したのか

25分間かけて、ペライチを創業してからのいままでの文化や、開発のアーキテクチャ、顧客開発手法のことなどについて話してきました。

反響が大きかったネタ

登壇後の懇親会でみなさんから聞かれたのは、「お手伝いメンバー制度」についてでした。このへんの仕組みづくりについての話はまた別の機会に深掘って話せると面白いかなと思っています。

スライドにはない質疑応答で話したこと

Q:お金の面などで苦労した事はありますか?
A:生活費がたりなくて自分の部屋をAirbnbで貸し出して外国人と共同生活してしのいでました。

Q:KGIの設定ってどんなふうにしてますか?
A:Solution Product Fitするまではするまではとにかくユーザーが「ページを作成できる」プロダクトにするためにユーザーテストを重ねました。具体的な手法についてはユーザビリティエンジニアリングが参考になると思います。

Q:勉強会とかってどういうふうにやってますか?
A:主要メンバーは普段開発で手一杯な事が多いので、「新しい事を学びたい」というモチベーションのあるお手伝いメンバーに勉強会を開いてもらっています。

その他

今回話した内容について質問や気になったことがあれば、TwitterFacebookなどでお気軽に質問していただければ答えます。

2016年の目標

自分自身のプレゼンスを高めるためにブログを再開することにしました。とりあえず新年の目標を決めてなかったなと思い、いまさらですが書き出してみることにしました。

今年の目標

  • 意識的にインプットの時間を作る
  • 飲んだ後でも強い意志を持って仕事をする
  • 平均4時間睡眠を維持する
  • 月に4回以上ジムで体を鍛える
  • プロダクトマネージャーとしての事業開発スキル、グローススキルを身につける
  • 人間関係の構築力を上げる
  • プレゼンスを高める
  • 月に一本以上ブログを書く
  • インフラとフロントの技術レベルを向上させる

スタートアップをやるために重要な気質「楽観主義」を獲得する方法

誰もチャレンジしようと思わない途方もなく大きな事に着手すること、何度否定されても自分を信じ続けられる事。スタートアップに限らず、大きな事を成すには「楽観主義」という資質が重要になると思います。

f:id:katsuki1207:20141127103821j:plain

今回のエントリでは『脳科学は人格を変えられるか?』という本を読んで学んだ楽観主義の特徴と、その気質を獲得するために必要な事についてできる限り具体的に書いてみようと思います。

※長いので、時間がない人は下の方の「楽観主義を獲得する方法」のとこだけ読めばいいと思います。


脳科学は人格を変えられるか?

楽観主義は未来に真の希望を抱くこと

楽観的な気質とはいわば、未来に真の希望を抱くことだ。それは「ものごとはかならず打開できる」という信念であり、「どんなことがあってもかならず対処できる」という揺るがぬ思いだ。単なる脳天気とはまるでちがう。

楽観主義者というのは、ただ楽天的に物事を前向きに捉えている人というわけではなく、どんなことがあってもかならず対処できると信じている人のことです。

彼らは打たれ強く、いいことも悪いことも受け入れ、何事に対しても「自分で状況をコントロールできる」と意識の底で信じています。いわば根拠のない自信を強く持っているといえます。

困難に直面したときに動じず、打開できると信じる姿勢はスタートアップをやるにはとても重要な気質だと思います。

楽観的とポジティブとの違いについて

一般的に「楽観的」と「ポジティブ」には少し言葉のニュアンスの違いがあるようです。

ポジティブ:積極的に問題解決しようとする前向きな姿勢・態度
楽観的:なんとかなるさという深刻にならない考え方

当記事中では、「楽観主義」という言葉を両方の意味を含んで使っています。

楽観主義であることの利点

楽観的になると、さまざまな利点があります。

常に幸福指数が高くなる

「楽観が幸福につながるのは、そうした志向によって、人が人生に積極的に取り組むようになるからだ。悲観主義者がもっていない魔法のハッピー・ジュースを楽観主義者が手にしているからではない」。

楽観主義者はそうでない人に比べて幸福感を得やすいという特徴があります。それは仕事や対人関係において、より積極的に取り組むからです。目の前のことに夢中になって取り組むことは、その行為自体が幸福感につながり、そうでない場合に比べて得るものも多いという事です。

仕事においてもフロー状態に入りやすいため捗るはず。

あきらめが悪くなる

楽観的な思考と、行動を志向する性質とが結びついてこそ、楽観はさまざまな利益をもたらす。真の楽観主義者は困難に直面しても簡単にはあきらめず、倍の努力をしてでも問題を克服する道を見つけ出そうとするのだ。

諦めないことは成功するまで努力し続けるという、スタートアップにとって非常に重要な気質です。

アイディアが沢山出てくる

ポジティブな人はネガティブな人に比べてブレストが得意です。

ある実験で、楽しい映画を観たグループと、恐怖映画を観たグループそれぞれに「30分自由な時間があれば何がしたいか」という問いの答えを書き出してもらうと、楽しい映画のグループの方がずっと多くのアイディアを思いついたそうです。

これは、資質というよりもその瞬間の気分がポジティブかどうかが重要だと考えられますが、どんな場面でもポンポンアイデアをだせるような人は、楽観主義者だと考えられます。

気にしなくなる

不確定な未来に思いを巡らせてネガティブに悩む非生産的な時間がなくなり、常に行動する事ができるようになります。

運がよくなる

これは僕の主観です。運がいい人ってポジティブな人が多くないですか?単純に目の前の物事をどう捉えるかという以上にそう感じます。逆に、運がいい人でネガティブな人ってあまり見かけない気がします。

楽観主義を獲得する方法

楽観主義者はどのようにして形成されるか

それぞれの人格は、脳の奥にあるこうした回路の微妙な変化とともに形作られていく。危機に出会ったときに勇気を奮い起こし、それまで以上に強くなってどん底から這い上がれるか、あるいは挫折感に打ちのめされ、ネガティブなほうへと果てしなく思いをめぐらすようになるかは、それぞれの脳の中でサニーブレインとレイニーブレインのどちらが優勢かに左右される。

楽観主義を形成するのは、遺伝と経験です。後天的に楽観主義的気質を得るためには、ポジティブに感じる体験をたくさんし、日頃から楽観主義者と同じようにふるまう事が重要だと考えられます。

具体的に何をすればいいのか?

これらの楽観主義的の特徴をもとに、楽観主義の気質を手に入れるためにどのようなふるまいを心がければいいかを書き出してみました。

諦めの悪い人間になる

例えば電車にギリギリ間に合わなそうな時、最後まで諦めず走ってみる。あれこれ考えずとりあえず信じてみる事が大事です。

他人の挑戦する姿を滑稽だと思うのをやめる

楽観主義は、一見不可能な事に対して真剣に挑戦できる気質です。

誰かがなにかに真剣に取り組んでいる姿を見ても、そんな事に時間を使うのはムダだと感じたり、滑稽だと感じるのはやめましょう。たとえそれが一見意味がなさそうな事や不可能にみえるような事だとしても、真剣に見守ってそっといいねボタンをおしてあげましょう。

人が集まる場所に積極的に参加し、その場を全力で楽しむ

快楽の経験は、サニーブレインの回路を強める源になる。そして楽観的な心の傾向を育むという、大きなメリットがもたらされる

人が集まる場所に積極的に参加しその場を楽しむ経験を積み重ねる事で心の傾向が楽観主義に寄っていきます。

逆に悲観主義の人は、楽観主義者にくらべて快楽の持続力が弱い傾向にあります。例えばパーティーに参加しても、いま抱えているタスクや心配事を考えてしまい「あー帰ったらこれやらないと」と考えてしまう傾向があるようです。これは感情を抑制する前頭前野の活動が活発になりやすい事が原因です。楽観主義的気質を育むには飲み会でもなんでも、人と積極的に会話し、楽しみ、感情を解放する事が重要です。

ネガティブな事に触れない、念じない、発さない

ネガティブな思考は連鎖します。嫌な事を考えると、いま抱えている他の悩みや、過去の嫌な事などが連鎖的に思い浮かんでしまいます。日頃から生活や仕事の中でのネガティブを排除していく事が大事です。

これは環境にも言えることで、ネガティブな事を発する友人関係やコミュニティとは極力関わらない方にし、その逆の人たちと一緒にいる時間を増やし、コミュニケーションする時に相手のいいところを積極的に見つけ、褒めるようにしましょう。

全ての事に当事者意識を持つ

楽観主義者は、自分にコントロールできる(と思っている)事の範囲が広いです。言い換えると、あらゆる物事に対して当事者意識が高いのだといえます。

そのためには、目の前の出来事に対して「自分だったらどうするか?」という視点を持つ癖をつける事が大事だと思います。逆に自分には関係ないと思った瞬間に、それは自分の力では変えられないものになってしまいます。

楽観主義者を目指すなら、目の前の事に積極的に関わる姿勢を持ち、コントロールできると思い込む事が大事なのではないでしょうか。

心に予防線を張るのをやめる

不確定な未来に対して最悪の状況を想定してしまう癖をやめましょう。

「どうせ◯◯だ」「きっとうまくいかない」と思う事が潜在意識に影響を与え、ネガティブマインドに寄ってしまいます。

さらに心に予防線を引く人はあえて成功から遠ざかる行動をとる傾向にあります。試験前に部屋の掃除したくなるなどがその典型例ですが、失敗した時に自分の力量による内的原因ではなく外的原因だと思う事ができるからです。それを解決する方法はひとつ。とにかく目の前のやるべき事に集中する事です。

以上、楽観主義的気質を得るためにやった方がいいことを書いてみました。スタートアップ経営者にとっては特に重要な気質ではないでしょうか。個人的にもまだまだ足りてないと思うので頑張ろうと思います。

出典:脳科学は人格を変えられるか?