Lean Baseball

No Engineering, No Baseball.

「Dockerによるアプリケーション開発環境構築ガイド」はプロのエンジニア必読の一冊だ(断言)

f:id:shinyorke:20180620221127j:plain

マイナビ出版社様および、著者(かつ、私から見たら元同僚)の櫻井さん(このエントリーではこの後sakuさんと称す)*1のご厚意により、一冊頂戴いたしました.

Dockerによるアプリケーション開発環境構築ガイド

Dockerによるアプリケーション開発環境構築ガイド

ありがとうございます!

結論から言うと、タイトルの通り

プロのエンジニアを名乗って一人前に仕事するなら一冊個人なり会社なりで持っておけ!!!

っていうくらい(元同僚バイアスを抜きにしても)よくできている本なので、感想(書評)と自分のDockerなお話を書きたいと思います.

TL;DR

  • Dockerはじめての人も使ってる人も「Dockerによるアプリケーション開発環境構築ガイド」は手元においておけ、それぐらい良い本だぞ!
  • サーバーサイドの人はもちろん、フロントエンドもデータサイエンスもエンジニアはDocker使いこなせると楽できるぞ

おしながき

私のDocker歴

後の方(Appendix)でも細かく書きますがザックリ言うと、

  • 自分がやりたいことは一通りやれる、なおKubernetesはまだ使ったことない(これからやる)、というレベルです
  • Dockerは2015年(3年前)から本格的に使い始めた
  • はじめは個人プロジェクトと自分のPCの開発環境に、Rettyに入社した2017年より本番での保守・運用を実践(ゼロから開発もやった)
  • サーバーサイド(Python/PHP)、フロントエンド(node.js/Vue.js)、データサイエンス(Python/Airflow/Luigiで基盤作った)で運用経験あり
  • 拙作で恐縮ですが、AirflowのDocker ImageをDocker Hub上で公開しています

「Dockerによるアプリケーション開発環境構築ガイド」の感想

感想をザックリ書くと

初心者がDockerを覚えるのにも、中〜上級者がDockerの使い方や運用のヒントを得たい時にも使える非常にバランスが良く取れた良著です.

そもそもどんな本なのか

本書は主にDocker初心者〜中級者の方に向けて、Dockerの概念やコマンドについてはわかってきたんだけど、じゃあ実際にどういうふうに現場で使えるの?といった疑問にお答えするための書籍となっております。

Dockerによるアプリケーション開発環境構築ガイド「はじめに」より引用

ホントこの通りの本で、コンセプトから終始ブレていないかつ、絵図が多い&解説も程よいこともあり、読みやすい本です.

(私がRettyにいた去年に)sakuさんからDocker本を書いてる&コンセプトも軽く立ち聞きしてたので個人的にはホント楽しみにしていたのですが、いい意味で期待値通り(いやちょっと越えてる)本で興奮しました.

目次と概要

章ごとに何が書いてるかという簡単な解説を.

Chapter01:Dockerとは

タイトルの通り、「Docker #とは」という内容.

コンテナ化・Immutable InfrastructureといったDockerに欠かせない思想・考えから二章(Chapter02)以降の内容に進むための準備・必要知識について書かれています.

Chapter02:Dockerの基本的な使い方

Dockerのインストールからコマンドの解説、イメージの作成・レジストリ共有、Docker Composeによる簡単なコンテナの管理について

Chapter03:オンプレの構成をコピーしたDocker環境を作成する

オンプレで動いてるサーバー環境をコピってDocker環境を作るのがメインコンテンツ.

Baseimage-dockerを使ってみよう!というチャレンジから始まる

Chapter04:本番環境からローカルのDocker環境にポーティングする

AWSやGCPで作った環境をアプリケーション・サーバーのみならずDB含めて完全にローカル環境に作っちゃおう!という説明.

この本のオリジナルなコンセプト・思想が味わえる醍醐味ある章です.

Chapter05:ローカルのDocker環境を本番環境にデプロイする

ローカルで最初からDocckerベースで環境構築→本番のクラウド環境に対してデプロイする流れからのKubernetes入門.

これは今求められてる(&私がすごくやりたい)内容.

Chapter06:Appendix

Dockerfileのデバッグ、CIベースのイメージビルド、プロキシやホスト容量問題への対処法etc...

開発者なら一度はハマるポイントが載ってる.

所感・感想

ザクッと箇条書きで

網羅性が高い

Docker初心者が思うところである、

  • Docker何それ美味いの?
  • インストール〜動かすまでどうやってやるの?

という初歩から、ちょっと使い慣れると考える(&ハマる)

  • Dockerfileのお作法とかdocker-composeの使い方など、細かいところ
  • 今あるオンプレの鯖からDockerに載せ替えたいのだが?
  • Kubernetesって何者&どうやって始めればいいの??

っていうポイントまで網羅的かくポイントを外さずもれなく書いてある辺りがホント良い本です.

(多すぎるPython本*2ほどではないにしても)Dockerもそれなりに本が多く、どれをチョイスするか悩ましいポイントもありますが、最初の一冊として相応しいのではと思いました.

細かいことを知りたくなったときは他の本を読む、Docker使いが多そうなコミュニティ*3に行くなど、そういう選択肢を取りながら使うのに良いんじゃないかと.

サンプルコード・絵図が充実している

ちょっとわかる人なら、本文をサラッと読んで絵図とコードを見て進められるのでは!?

っていうくらいサンプルコードや絵図がわかりやすく書かれていて良いと思いました.

私は全体把握がてらサクッと斜め読み*4したのですが、それでも内容が残るぐらいわかりやすかったです.

初心者だと初手では辛そうなAWSアカウント作りやサービスを使う部分もスクショを交えて解説してるのでサクサク進むのではと思います.

辞書代わりに使える(中級者以上の人は特に)

  • オンプレから移行どうしよう
  • Kubernetes使いたい

みたいなシチュエーションの時に「わかってるところ」を飛ばしつつ、「わからないところ」を読んで理解してすすめる、みたいな使い方がしやすい印象を受けました.

章ごとのコンセプトが明確なので、「読むべきところ」「飛ばしてもいいところ」がわかりやすく別れてるのではと.

私は今後Kubernetes覚えて使いたいので六章ちゃんと読んで覚えるぞ!みたいな判断がしやすいのは非常に助かります.

本自体は400ページ超えの大作ですが、ページ数ほどの重さは(いい意味で)無いので良いかなと思いました.

これからDockerをやろうかな?と思った方へ

Dockerによるアプリケーション開発環境構築ガイド」を使った具体的な進め方と個人的なアドバイスを2つほど.

「Dockerによるアプリケーション開発環境構築ガイド」の二章まで手を動かして理解しよう

これは私の経験則ですが、Dockerを仕事レベルで使うなら、

  • 自分で作ったモノ(アプリとか)を含めたDockerコンテナをローカル環境で動かせる
  • 動かすためのDocker imageを自作のDockerfileからビルドして使う
  • Docker Composeで複数コンテナをコントロールする

ぐらいできれば何とかなると思います.

という意味ではこの本の二章をちゃんと理解できたら何とかなります.

ということで、

  • なにか適当にWebアプリを作る(DjangoでもRailsでもnode.jsでも、得意な言語で良い)
  • 適当に作ったアプリが動くDocker imageを作る
  • DBを含めた環境をDocker Composeで立ち上げて動かす(ローカルでOK)

ぐらいまでやれればよいのではと思います.

「プロのエンジニア」として、「手を動かして、自分の理解範囲で意のままにDocker使えるぜ」っていう状態まで持ってきたらその後の事もやりやすいんじゃないかなと思います.

身近の詳しい人に教えを請う(コードレビューなど)

Dockerもだいぶ枯れてきた技術で、使ってる人も慣れてる人も3,4年前と比べれば増えていると思います.

ので、職場なりコミュニティなりで使ってる・詳しい人の教えを請うのが覚える&実践する近道かと思います.

これは私がRettyにいたときのエピソードなのですが、社内Slackのtimesチャンネル(times_shinyorkeという名前でやってた)にて、

ワイ「よっしゃ!アプリとDockerfileできたしimageビルドしてローカルでも動いたから開発環境にデプロイするぞ」

sakuさん「お、ちょっと見せて」

ワイ「ファ!?(と言いつつリポジトリのURLを渡す)」

結果、sakuさんから沢山のコメントを貰う→直してレビューしてもらってLGTMをもらう、という事が何回かあり、まさにこの本に書いてあった事もいくつか学ぶという事がありました.

社内にDocker警察エバンジェリストがいるってのはホントに大切ですね!とこの時は思いました.*5

そんなsakuさんが書いた「Dockerによるアプリケーション開発環境構築ガイド」ホントにオススメなので、夏の課題図書にぜひぜひ読んでみてください!

Dockerによるアプリケーション開発環境構築ガイド

Dockerによるアプリケーション開発環境構築ガイド

【Appendix】私とDocker

この先は「私とDocker」というちょっとしたメモです.

馴れ初め&Docker歴

  • 覚え始めたのが2014年、このときは使いこなせず
  • 翌年(2015年)に当時在籍していたリクルート(SUUMO)の社内勉強会でDockerをやることに→「中川やってよ!」っていう話で独学して覚えてなんとか使えるように
  • PyCon JP 2015のデータ分析環境(野球)をDockerで作ってAWS上で運用、これが事実上のDockerデビュー
  • その翌年2016年(ビザスク時代)にE2Eテスト環境(ローカルで実施)をDockerベースで構築・運用(Docker得意なインターン生と共に共作)
  • Rettyにいた去年(2017年)はすでにあるDocker環境(PHPだったりnodeだったりPythonだったり)を保守運用、データ管理の基盤をDocker + Luigiで構築・ローンチ
  • PyCon JP 2017の発表で使ったAIrflow環境をDocker Imageにして公開(コードと共に)
  • 現在(ネクストベース)では手元の環境を全部Docker化しつつ、本番への展開などをもくろんでいる

実績(仕事)

やった仕事レベルでいうと、

  • Webアプリケーション・サーバー(Python)
  • node.jsのビルド環境(社内配布用)
  • E2Eテスト環境
  • データ分析環境(Redash)
  • データ基盤

Redashは当時在籍していたビザスクのブログにて書きました.

tech.visasq.com

また、データ基盤については去年Rettyのアドベントカレンダーに書きました.

qiita.com

実績(個人)

このブログ内の野球エントリー及び過去の野球アプリをDocker化.

例えばAirflow

shinyorke.hatenablog.com

Djangoのアプリも(これはちょっと古いので作り直したい)*6

github.com

*1:だいたいみんなそう呼んでる気がする.ちなみに日本酒担当(元とんかつ担当)で、日本酒のことも沢山教わりました(感謝!w)

*2:今年さらに増えたのでもう一度書評エントリーを書きたいお気持ち(質問とか増えてる)

*3:Dockerそのもののミートアップもいいかもですが、meguro-devあたりが良さげ?sakuさんもメンバーなので.ちなみに#rettypy も聞けそうな人はちょいちょい居ます(私とか)

*4:というかすべての技術書を斜め読みから始めるのが私のスタイル

*5:これを社内ボランティア?オーナーシップを持ってやってたsakuさんがホントに偉いしエンジニアとして素晴らしいと思った瞬間でした

*6:Django 2.0 + Vue.jsでなんとかしたいお気持ちがあります、やるかどうかは気分と時間次第

すべてのエンジニアに「言語化」「選球眼」の大切さを伝えたい!という話 #PyDataOkinawa #PyBegiOkinawa

f:id:shinyorke:20180618195334j:plain

ワールドカップと野球、絶妙にタイムゾーンが違ってて丸一日楽しい私ですこんばんは.*1

沖縄から帰ってまいりました.*2

以前のエントリーで「基調講演するよ!」と話をさせてもらった 「PyData.Okinawa + PythonBeginners沖縄 合同勉強会」ですが、(悪天候にも関わらず)沢山の方々にお越しいただき*3、本編から懇親会(二次会含む)まで楽しくやらせていただき無事終わりました.

pydataokinawa.connpass.com

PyData.Okinawaおよび、Python Beginners沖縄の皆さま、スタッフそして応援していただいた皆さま誠にありがとうございました!

このエントリーでは、そんな合同勉強会の振り返りと、私のエンジニア哲学である「言語化」「選球眼」について軽くポエムしたいと思います.

TL;DR

  • データサイエンスの人もWebの開発者も、すべてのエンジニアは「言語化」「選球眼」を大切にしてほしい!
  • 沖縄のエンジニア・コミュニティは相当アツいので仕事or観光のついでに行くと楽しいぞ

おしながき

発表と勉強会について

自分が発表した内容と勉強会の雰囲気を少々.

【基調講演】エンジニアの選球眼

speakerdeck.com

基調講演デビューしました.

私がPythonやアジャイル(特にリーンスタートアップ)、仕事そしてコミュニティで様々な経験をして学んだ中でもこだわりがあった、

  • プロセス・技術を「目利き」して「選んで」やりきる「選球眼」
  • 物事をはじめるときには何よりも「言語化」「ストーリー作り」が大切

というお話をさせてもらいました.

自分がこだわっている「選球眼」「言語化」を起点として、

  • 技術選定の審美眼」にある、「変わるもの×変わらないもの」「Simple/Easy」という話って見極める(識別する)目のことだよね?
  • 仕事ではじめる機械学習」の第一章より、「問題を定式化する」「機械学習をしなくて良い方法を考える」を読んで思った「ユーザー価値を実現するための技術の使い方と言語化の大切さ」を自分なりに改めて言語化したい
  • 言語化といえば「アジャイルサムライ」、データ分析プロジェクトという視点で改めて構造的に言葉にする大切さを伝えたい

というモチベーションの元、得意の野球分析を絡めつつ作りました.

スライドは前々日に完成、勉強会のメンバーそして元同僚の@takegueさん*4にレビューをお願いして無事なんとか発表ができました.

PyData.Okinawa + PythonBeginners沖縄 合同勉強会

合同勉強会の様子は運営メンバーの@Intel0tw5727さんが早速ブログにまとめて頂いてるのでそちらをご覧いただければと.

twdlab.hatenablog.com

ここでは開催前から当日、懇親会までの話をざっくり.

開催前

きっかけは一通のメッセージでした.

「野球エンジニア」として夢を実現された中川さんは学生に夢を実現する手法をレクチャできる稀有な方と思っております。

(中略)

沖縄で機械学習エンジニアを目指す学生や社会人に学びの機会を与えて頂きたいと考えております。

※オファーのメッセージより抜粋

デブサミの話および、過去の野球データ解析の話が世に広まり、これが主催者に刺さってオファーが来ました*5

(機械学習エンジニアではないですが*6)オファー内容に納得感があったこと、昨年の合同勉強会で登壇されたPyData.Tokyoの山本さんにも色々と情報や感想を伺った上で受けることを決めました.*7

準備はスライドを作るぐらいでしたが、結構スライド作りが難航しました.*8

なお、台風接近の中移動しましたが、幸いにもコースとか色々ハズレたこと、(何かあったら嫌と思い)移動を前日(前乗り)にしたのでノートラブルで到着しました.

当日

移動は宿からタクシーで.思ったより安く済みました.*9

途中歩いて移動しました(散歩がてら)、琉球大学はとても広く、こんな案内もあって軽くgkbrしました(震え*10

着いてしばらくして勉強会スタート. PyData.OkinawaおよびPython Beginners沖縄の紹介があったのち、私の講演がスタートしました.

なお、発表は久々に「正装」でやりました.

反応は上々で、掴みおよびオチで入れた野球の話で盛り上がり*11、本編の「選球眼」「言語化」の話も凄い聞き入ってくれた感がありました.

ちなみに、「辛いです...」の件は見事辛いまま終わりました.*12

続いて登壇した真嘉比さん、中澤さんの話がいい感じに違う分野・視点の話だったのと、学生さんLTが正統派のLTからしょうもないネタまで楽しくやりきってる感があり、それぞれのパートで笑いや感動、学びがとても多かったです.

その後のトーク・セッションはSNSでの公開禁止!というルール*13のもと、

  • 転職・就職のキャリアのヤバい話
  • 学習や勉強などのノウハウ

その他色々(多少脱線しつつ)お話ができて楽しかったです.

クロージングがまさかの飛び入りLTで吹き飛ぶという面白いアクシデントがあり笑、ホント楽しいまま終わって最高でした.

なお、まだまだ募集中だそうです(真顔)

connpass.com

懇親会

懇親会は、本編の楽しいノリのまま進行しました.

正直酔っ払って何を話したか覚えていませんが笑、自分よりも年齢が18いや下手したら20歳離れてる若い方たちに発表の感想やエンジニアリングの事を聞いたりして、私自身が学ぶことが多かったです.

トーク・セッションでも「エンジニアになるまでどうやってキャリア積んだのか」みたいな話もあったりしましたが、考えてみれば自分がやったのは20年も前だし、、、って思うとホント歳食ったなと思いました.

二次会(ちゅらデータさんのオフィスで宅飲み的な流れ)含め、データサイエンスやコミュニティ、近況のお話まで楽しく深い話をたくさんさせてもらいました.

翌日

翌日も沖縄滞在で観光とか色々しようと思いましたが、二日酔いで死んでました(震え)*14

感想と反省

天候や当日の(いい意味での)ハプニングなど色々ありましたが、全体的に楽しく・学びが多い会だったと思います、ご挨拶させてもらった皆さんも満足そうにしていて良かったですし、資料やこのブログなどを通じて振り返りとかもできたらなお良いかなと思っています.

一方、懇親会で若い人たちから頂いたフィードバックとして、

  • 話が難しかった
  • 直近のフェーズ・状態でのアドバイスが欲しかった.具体的には「就職のタイミング」「具体的に学ぶべきこと」などなど

自分が想定していたよりも若い方が多く(これは私自身の見積もりがしくじった)、もっと優しい話を用意するもしくは、スライド中にある「独学」「コミュニティ」の話を前段に持っていくだけでもだいぶ解消できたかなあと思うと反省と学びが多かったのが正直なところです.

一方で、資料は公開している&補足としてこのブログもあるので数ヶ月後もしくは半年後に読み返したり思い出してもらえると「あの時言ってたことはあれか!」みたいな感じになってくれればと勝手に期待しています(真顔)

すべてのエンジニアに「言語化」「選球眼」の大切さを伝えたい

「言語化」「選球眼」の大切さって伝えるの難しいな、と思った矢先に一行で書いてある良い文章を見つけました.

プロフェッショナル・プログラマーは、プログラミングだけではなく周辺技術を活用できてはじめてプロジェクトのQCDを守れるという、ある意味厳しい環境で仕事をしているといえるでしょう(だからこそナレッジワーカーとしてのプログラマーの仕事の価値があります)。

「Pythonプロフェッショナルプログラミング 第3版」は、10年の取り組みの集大成 - ビープラウド社長のブログより

単にプログラミングやPython、機械学習が出来るだけではダメで「周辺技術を活用する」「QCDを守る」という「プロフェッショナル」の文脈があるからこそ、「言語化」「選球眼」ってホント大切だなと思っています.*15

データ分析やプログラミングが脚光を浴びる、大切だ!というのはエンジニアの端くれとして認識しているかつ、実際やってる事ではありますが、本質的な事・大切なことをちゃんと今後も伝えたいなと思っています、野球を絡めて笑

以上、長くなりましたが参加レポートと所感でした!

*1:ロシア時間、アメリカ西海岸、東海岸そして日本と絶妙にタイムゾーンが異なるので頑張れば24時間なにかしらの試合が見れるし被らない

*2:結果的に台風に会いに行くようなスケジュールになりましたがなんとほとんど濡れること無く無事でしたw

*3:幸いにも開催地(琉球大学)含む沖縄本島南部は大して雨風吹かなかった

*4:彼が機械学習・Web開発両方で成果を出している優秀なエンジニアであると同時に、一緒に働いていたときからエンジニアリングの話題・視点で語れる仲間でもあるのでお願いをしちゃいました.良いコメント・レビューもらってマジで感謝thx!

*5:のと、主催メンバー達とは真嘉比さんを通じて親交があったのでオファーがしやすかったのかもってのもあります.発表でお話した「Networking」ですね.

*6:この辺野球のこともあり、良くも悪くも誤解が多い、私は「野球エンジニア」なので(真顔)

*7:Pythonやデータ分析関連だと山本さんがある種の師匠なので、師弟関係?でリレーしたことになります、偶然にも笑

*8:Twitterおよび職場で一日一回は「辛いです」と言ってたかも

*9:普段タクシーあまり乗らないのですが、東京と比べやすい感じがしたので積極的に使いました.

*10:北海道で言うところのヒグマ注意!ぐらいのやつだが、ヒグマと異なり頻繁に出没するらしい

*11:バレル・ゾーンの話がすんなり入ってくれたのは楽だった

*12:護摩行のイラストのこと

*13:これは私の方から希望しました、来てくれた方だけに「ココだけ話」をすることによって、学び・気づきそして思い出に残ると良いなと思い

*14:昼まで寝てた

*15:このブログのリリースが自分の発表のちょっと前で読んだ瞬間いい意味で「やられた!」と思いました.なおPythonプロフェッショナルプログラミングは自分の愛読書です.

野球エンジニアのお仕事と最近 - 一人CTO業 #とは

f:id:shinyorke:20180529203447j:plain

写真はオフィスの自席で撮ったやつです.*1

仕事しながら野球見るの最高すぎます、野球最高、やきうisジャスティス.

こんばんは野球エンジニアです、最近ずっとイベントや発表関連の事しか書いてないのでたまには近況でも綴ろうと思います.

ちなみにですが、このブログでは通算100回目の投稿となります.*2

今日のテーマ

  • 一人CTO業 #とは ←ここがメイン
  • プライベートも含めた近況などなど

TL;DR

  • CTOとしてエンジニアとして、今(野球)のチャレンジを全力でやれてるのはすごく良いし最高だ
  • フロントエンドエンジニアリングを覚えてきている&ハマってる
  • CTO業(エンジニア以外)や採用をやりつつも、「イシューからはじめる」「動くプロダクトが正義」を貫いていきたい
  • そんなお仕事に集中するためコミュニティ・外部活動は去年までよりだいぶ絞っている(#rettypyは全力でやる)
  • 趣味や食生活をバランスよくやりつつ、ストレスと上手く付き合いたい&個人としても幸せになりたい(今後の課題)

打順

仕事について

私がネクストベースの野球エンジニア/CTOとして何をしているのさ、というお話です.

ざっくり言うと

CTOはフェーズによってやることがまったく変わり、各フェーズで多くのチャレンジがありますが、ぜひ野球が面白くなる世界を実現してほしいなと思います!

今のチャレンジに行くにあたり、とあるCTO氏から頂いたメッセージです.

メッセを頂いてから5ヶ月、ホントこの通りになっていて自分でもビックリしています汗

(「野球が面白くなる〜」の件はまだまだこれからとはいえ)

エンジニアとしても、ビジネスマン(もしくはCTO業)としても、多くのチャレンジ(試されること)があり、一つ一つ、小さな山から大きな山まで挑戦しては越えてる感じがします.

やりがいという意味では最高です.

エンジニアとして

メインのプロダクト(BACS)および、野球メディアの「Baseball Geeks」を中心に、アナリスト陣が欲しいものやデータを提供したり提案したりするお仕事をしています.

BACSの方は開発元と共に、Baseball Geeksやデータの方は弊社のメンバーと直にやりとりしながらすすめています.

一人なので、インフラ・バックエンド・フロントエンドなどなど何でもやってるのでいろんな言語や道具を操ってこなしているのですが特に、

  • HTML5
  • JavaScript(特にVue.js)

といった、フロントエンド・エンジニアリングを(自分の向き不向き・好み関係なく)やってるので、いままで持ってた「フロントエンドへの苦手意識」が消えた気がします.

いやむしろ、最近データエンジニアもしくはマネージメントばかりしてたので、「動くアプリケーションでユーザーさんが喜ぶってこんなに素敵なんや!」と何年かぶりの達成感を覚えました(真顔).

一人エンジニア・ぼっちCTOに休みがあるかどうかは別として、長期の休み(夏休みとか)にVue.jsでまるっとアプリ作りたいなあ〜、と真剣に考えるぐらいフロントエンドが面白くなってきている&知識と経験も徐々にですがついてきたので良かったと思っています.

あと、決して少なくは無い数のサーバーを扱っているのでインフラの仕事も少しずつ覚えてきています.*3

ちなみにPythonは週に数回触る程度(アドホックなデータ作成・分析とか)で、むしろアナリスト(Notエンジニア)に週イチでPythonを教える時間でガッツリPythonやってます.*4

ビジネスマンとして

入社直後(2〜3月)は、

  • 春季キャンプで沖縄出張
  • ちょっとした外回り

などがありました.

また、Baseball Geeksの保守運用だけでなく、自分の経験でサポートできそうなところをガッツリサポートしてました.

現時点(5/29現在)で10人もいない会社なので、エンジニア以外の事もちょいちょいやっていますが、

今は採用、特に「二人目の野球エンジニア」採用にガッツリ入ってます!

これは自信を持って言えますが、

野球の事業・仕事・エンジニアリングを存分にやれる状態&環境にあります!

正直、「野球が好きです!」だけではできない仕事でありますが(しんどい・辛い仕事もたくさんあると思います)、野球と技術の経験・研鑽には最高の環境かと思いますので、チャレンジャーお待ちしております!

(私のツイッターなどにメッセやメンションしてもらえれば返信します)

なお、事業と(良くも悪くも)私のイメージ的に「Pythonでゴリゴリ開発&分析」「データ分析やり放題!!」的な事を思う方もいると思いますが、

それでも挑戦する方、どうぞお待ちしておりますm( )m*5

一人CTO業として大切にしていること

一人CTOもしくは一人目エンジニアをやる人・希望する人にはぜひ読んでもらいたいです

やりたいこともやることもたくさんあり、放っておくとずっと色々やり続ける可能性(危険性)もあるので、ルールをつくって

イシューからはじめよ

エンジニアリングでも他のことでも、最も大切にしていることです

おそらく有名であろう、この本に書いてある事そのままです.

イシューからはじめよ―知的生産の「シンプルな本質」

イシューからはじめよ―知的生産の「シンプルな本質」

ウチみたいな小規模なスタートアップやチームに所属の方はわかってくれると思いますが、メンバー全員が複数のことを抱え、様々なイベント(例えば納期前のドタバタとか)に日々追われていると、

  • 目の前の事にどうしても集中しがち
  • 故に、「根性」「やる気」で目の前のタスクを片付けることに集中
  • 次第に「何のためにやってるのか」「そもそもこの仕事・タスクの意義とは」

みたいなことになりがちです.

ので、私はどんなにバタバタしているときでも必ず

  • ネクストベースの理念・事業・プロダクトの「ストーリーライン*6」はなにか
  • ストーリーラインにあるメッセージからイシューを作る・分解する
  • 必ず答えを導き出せるイシューを組み立て、愚直に実践する

を心がけるようにしています.

何故か、、、はぜひぜひ「イシューからはじめよ」を読んでいただければと思います、そこに答えがあります多分.*7

「動いて価値あるソフトウェア」でモノを語る

(今の所)ネクストベース社で唯一のエンジニアであり、Webやアプリ、分析で「モノを作って動かして価値を出す」事を生業としているので、

「334回あーだこーだ言うよりも、動くものを見せて価値を生み出そう!」

と心に決めてやっています.

エンジニアとして、動くものを示して、イシューひいてはストーリーラインそのものをベースに「対話をする」「プロダクトを使うユーザーさん(現場の選手・コーチ・スタッフさんやファンの皆さん)へのインパクトは?」などなど、新たな気付きや新しいストーリーを紡ぐキッカケになる仕事がしていきたい、これで球界そのものや、スポーツをする人たちへの変化を生み出したいと思っています.

アジャイルソフトウェア開発宣言」で語ってる内容そのものを目指せればと思っています.*8

コミュニティ・外部活動について

転職エントリーでもちょっと触れましたが改めて(最近の話も含めて).

今年(2018年)の方針

ネクストベース社の活動(つまり野球であり仕事)を最優先に、コミュニティ・外部活動は最低限に抑えます.

注力して活動

  • Pythonもくもく自習室(#rettypy)開催&オーガナイザー活動
  • このブログを書き続ける(月イチ程度)
  • 参加者サイドで勉強会・イベントに参加(月1,2回程度)

Rettyを退職後も、中の人達のサポート&私自身の意志で継続している#rettypy*9については今後も月イチ開催をベースに継続してやっていきます.

また、ブログや文章を継続的に書き続けるのは大切なので、このブログも月イチ、月ニを目処に書き続けます.*10

勉強会についてはほぼ毎月参加の#pyhackや大好きな#kwskrb、やりたい世界に一番近い#pydatatokyoについては仕事と自分のペースに合わせて今後も参加(LTなどを前提に)していきたいと思っています.

なお、(この後の章で言ってることとある意味矛盾していますが)来月の「PyData.Okinawa + PythonBeginners沖縄 合同勉強会」のキーノートはメチャクチャ楽しみにしています、キーノートの筆が遅々として進まなくてヤバい感じですが当日良い話と体験を作れるよう、頑張っていきます(ので気になる人はぜひおいで).

pydataokinawa.connpass.com

控える・やらない

「控える」活動も、ほぼ「やらない」方向に倒します.

  • 【控える】執筆(Web・書籍両方) ※なお書籍はやったことない
  • 【やらない】イベント登壇 ※すでに引き受けているもの(上記の沖縄の話)で一旦終了(年内は)
  • 【やらない】イベント・勉強会のスタッフや主催者(#rettypyを除く)

執筆や登壇についてはいくつかオファーも頂いておりますが、

本質的にやりたいことである、「野球の仕事(と分析)」が出来ているので原則やる理由がない!という自分の理論で丁重にお断りさせてもらっています.

「昨年だったら受けていたのになあ」という魅力的なオファーもあり、中々後ろ髪を引かれるようなお気持ちもあるのですが、「夢を正夢」にした以上、今は真摯に野球のことをやり抜きたいのでどうかその辺ご了承いただければと思います.*11

プライベートについて

最後に、日記らしく?プライベートのことを.

食(とダイエット)

Retty卒業時は502投稿(行った)を記録していましたが、その後も記録が順調に伸び634行った、まで到達しました.*12

職場周りはランチでほぼほぼ行ってる感じです(絵).

f:id:shinyorke:20180530002828p:plain

まだ行けそうな気がするのでまだまだ続けつつも、体重が増えてきたのでそろそろダイエットを本気で考えようと思っています.*13

趣味

最近一番進捗が悪いやつです、もう少し頑張りたい.

野球(見る方)

仕事中に見るのもありますが、最近は休日もちゃんと見てます.

朝はメジャーリーグ(主にアスレチックス戦)、日本のプロ野球はデーゲーム・ナイトゲームをちら見する感じです.

ちなみに球場にはまだ行っていません、今年はタイミングが合えば久々に札幌ドームに行きたいお気持ちです.

ガンダム

積みガンプラ*14が少なくとも3体あり、年内にはすべて作りたいです.*15

ちなみにOVAや映画の方はしっかり追えてるのでそっちの進捗は良いです.*16

ライブ(UK Rock/Gorillaz)

大好きなGorillaz(ゴリラズ)*17の来日公演は絶対に行きます、絶対に.*18

www.gorillazjapantour.com

この日(6/21(木))の午後は絶対仕事を休むので関係者の皆様よろしくおねがいします!!!

なお今年はロックフェスに行く予定はないです.

生活

仕事に(セーブしたとはいえ)コミュニティ・外部活動と、結構バタバタしているので健康にだけは気をつけようと思います.

ちゃんと飯を食って寝る、なるべく動く(一日一万歩は歩く)、時折リラックスするなどなど.

あと、最近周りでは結婚とかハッピーなイベントが続いているので、そろそろ自分自身のことにも本気になろうと思います(具体的なイシューだがゴールどうしよう?汗)*19.

お後がよろしいようで.

*1:イチロー氏(マリナーズ会長特別補佐)ですね、まだ選手だった頃です.

*2:過去に別のブログもやってるのでブログ通算はもっと書いてるはず.

*3:AWSなので使い方とかはさほど困ってませんが監視とか運用周りがですね

*4:これは後日記事を公開する予定

*5:ここは厳しく行くからね、ってのとホントに自分以上にできる、ヤバい人が来たら任せます

*6:簡単に言うと、「ゴールを迎えるまでのメッセージの流れ」です.ここで言うメッセージはそのままイシューです.

*7:当初はこの本を読んでいなかったのですが、とある尊敬できるエンジニアから「中川さんは常にイシューからはじめていて素晴らしい」と褒められる→肝心のワイ、本を読んでいない、ということがあり読みました→確かに昔からやってる気がするし、しっくりきました.

*8:ちなみに手法やプラクティスについては全くこだわりを持っていません、別にコーチしてるわけではないのでその時その時に最適な方法をとっていくことを心がけています.

*9:Retty最終出社の数日前にtakenoに「どうする?」と聞いた→「やろう」という話であっさり継続が決まりました(僕の記憶では).毎回協力してるiwanagaさん含めホント感謝以外の言葉が思いつかない(ありがとうございます!)

*10:ただし仕事の件もあるので、野球ネタは抑えめです

*11:のと、私は芸人でもコメンテーターでもないので「私じゃなくても良さそう」というオファーも断っています正直に言うと.

*12:元同僚たちを眺めると数だけでは中の上ぐらいまで来てる、社長はもうそろそろ射程圏内笑

*13:去年と比べて5,6キロは増えた

*14:作ってないガンプラのこと

*15:フルアーマーユニコーン、リゼル指揮官タイプ、ジェスタキャノン

*16:機動戦士ガンダムNTはちゃんと見たい、動くグスタフ・カールやばい

*17:世界で一番売れているアニメバンド「だった」、今は実態があるバンド.iPodのCMソングで爆発的に売れた「Feel Good Inc.」が有名.個人的には仕掛人のデーモン・アルバーン(blur)のファンでもあるので、もう興奮しかない.

*18:去年はフジロックに来日も、Tokyu.rbと被ってキャンセル→もう一生見れないかもと思ってたらまさかの単独来日でめちゃくちゃ嬉しいです

*19:少なくとも相方募集中です、今は