Lean Baseball

No Engineering, No Baseball.

イチ参加者としてのPyCon JP 2019 - 思ったこととか色々

PyCon JP 2019終わりましたねと.

参加された皆さまホントお疲れさまでした!

f:id:shinyorke:20190918095736j:plain
初めてフツーに参加しました

今年「あえて」一般参加者として初めてPyCon JPを堪能しました.

一応,毎年参加レポ残してるので今年も残したいと思います.

TL;DR

  • 数年に一度であれば,普通の参加者ってのも悪くない.普通に楽しかった.
  • コミュニティ, コンテンツおよび運営の視点で今後ちょっと不安なとこがいくつか(ry
  • 来年も懲りずに登壇チャレンジしたい, ⚾を絡めた新ネタ披露間近ですよ!

おしながき

PyCon JP 2019の感想・所感

PyCon JPがどんなイベントか?はきっと山ほど参加ブログがあるはずなのでそちらをご覧いただくとして.

私自身の感想とか所感とかを残します.

初の一般参加

すごい大雑把に言うと,

CfP出したけど, 落ちたのでいっそ振り切って一般参加

に切り替えて存分に楽しみました.

私がPyCon JPに初参加したのは2014年, そこから毎年なので今年で6回目でした.*1

2014-2018(去年)までは, 野球とPythonの何かでCfPを出してすべて通り, 大変ありがたくも5年連続でお話させてもらいました.

何をやったか...は,各年の感想ブログにあるのでそちらをご覧いただけると嬉しいです(いちいち説明アレなので省略).

【参考】このブログのPyCon JP関連記事

昨年の発表で「野球Pythonは卒業します!(なお手のひらは回る模様)」と宣言したのですが, 見事に手のひらは回...らず,今年は野球のやの字もないテーマでCfPを出しました.

が, 前述の通り選考で落ちたのと,

  • そういや過去回で一度も一般参加したこと無い*2
  • もう5回も話してるし連続記録はそろそろ止める頃合いだな*3
  • 幸いにも負うべき役割はゼロなので, いっそ一般参加にふりきろう!*4

ということで, 念願・憧れの一般参加(初)という流れになりました.

何をしていたのか?

基本的には,

  • 気になる発表を聞きに行く
  • ポスターとか企業ブースを見て・聞いて回る
  • とにかく人と話す

をバランス良く, 自分の好き勝手気ままにやってました.

もちろん, 初日のパーティーは最後まで楽しみました(二次会は行きませんでしたがw).

発表を聞く・見る

いくつかの発表は狙って聞きに行きました.

二日目が2本, 初日3本といずれも少なめでしたが,結果どれも大変素晴らしいトークで学びもあって起承転結しっかりしてて素晴らしいなと感心しました.*5

特にこの発表は...!?という言及は避けますが*6, 今年から導入された15分枠は話す方も聞く方も慌ただしい印象ありました.

「登壇ハードルを下げるため」とあったけど,ほんとに下がったのかなあ?というのはクエスチョンとして残りました.*7

ポスターと企業ブース巡り

おおよそブラブラ見て回りました企業ブースとポスターセッション.

企業ブースは古巣のビザスク*8から, 普段から親交あるビープラウドさん, SQUEEZEさん*9ほか, 色んな所を回っては近況交換やらお話やらたくさんしてきました.

企画も色々あって面白いなーと思いましたが,特にJX通信社さんのピンポンゲーム企画は双方向参加型で面白いなと思いました.

www.wantedly.com

私はお喋りすぎて挑戦できなかったのですが,今度は挑戦したいですね.

とにかくいろんな方と話す

トークの前後,おやつタイムに懇親会と色々と話しかけまくった気がしますし,

など, 話をかけられる際は過去のアウトプットが手助けしてくれました.*10

最初に書いたとおり,今年は一般参加に注力で(PyCon JP 2019という意味では)アウトプットも活動もゼロなのですが, 「せっかくだから野球の人と話してみるか」的な感じで思ってくださってる方がホント多く,「ああ,今までの活動間違ってなかったな」と妙に感動しました.

また, つい二週間前に誕生日だったこともあり,

という熱いツッコミもいただきありがとうございました笑.

いいカンファレンスでした...が!?

個人的には, 昔からの友達から最近の友達そしてPyCon JP 2019ではじめましての人まで, 色々といい感じに交流して楽しめました.

が, ちょっと思うところもあり.

shinyorke.hatenablog.com

2017年の感想ブログからの引用なのですが,

私は幸いにも聞いた話でハズレは引きませんでしたが,去年のPyConでも「おや?」っていう発表もあったので残念ながら真実なのかなと思いました.

(中略)

…などなど幾つかあると思いますが,世代交代・多様性が進んでいるPythonコミュニティはそろそろ「外部に残すもののクオリティ」「Pythonコミュニティ以外に対するアプローチ・視座の高さ」を持つべき季節に来てるのかなと思いました.

2年前に警鐘を鳴らしたところが, 今年もまああったなーというのと, 当日発表は聞かずスライドを見ただけのやつでは「え,このレベルで喋っちゃうの!?」的なのもありすごくガッカリしたのもありました.

昨今のPython・データサイエンス・AI(笑)ブームの流れで色んな人が増えたり,その増えた人相手に何かをしたりする大人が増えたりしていると思うのですが, 私達自身が視座と視野を高く持ち, どこに出しても恥ずかしくないクオリティのものを発信していくことが重要じゃないかなと改めて思います.

個人的には...Pythonもくもく自習室ほか, コミュニティ活動の中でそれを見せ, フォロワーが増えるようにしたいなという危機感を感じているのでやれることはやっていきたい所存です.

2020年のチャレンジ&我思う

PyCon JP 2020に向けて, という意味で.

個人活動として新しい「野生の研究者」活動を少しずつではありますが再開*11しており, その成果の一部を「PyCon mini Hiroshima 2019」および「PyLadies Tokyo 5周年記念パーティー」の発表・LTでぶつける次第です.

hiroshima.pycon.jp

pyladies-tokyo.connpass.com

PyCon JPおよび今の仕事とは別文脈の意図もありますが, PyCon JP 2019で得たこと・学んだことをここに活かせれば良いなと.

最後になりますが, 私自身PyCon JP 2019で登壇できなかった事を「悔しい」「寂しい」と多少は思うのかな?と思いきや, 一般参加として十分楽しみ, 学ぶことができたのでむしろ今は「これで新しい挑戦ができる!」とワクワクしています.

PyCon JPで学んで「刺激をうけました!」「悔しい!」という方にはぜひ今日明日からチャレンジするテーマ見つけて前に進むと良いんじゃないかな!?

なんつったって人の発表は「余所事」ですから.

PyCon JP 2019, 皆さまお疲れさまでした!

*1:ちなみに,カンファレンスデーは不参加でしたが,PyCon APAC 2013はスプリントだけ参加しました. って考えると7年目

*2:2014のブログにも書いた気がしますが, #pyhack の人たちの圧に背中押しされて?CfPを出した結果通ったのが初回で, その後は自分の意志で「登壇して当然」ぐらいにやってました.

*3:何かしらの登壇・役割ありというところではaodagさんが10回連続?らしいです. そして公式記録じゃないですが, ビープラウドさん(connpass, PyQでお馴染みの強い会社)の在籍経験無い人では私が唯一の記録な気がします.

*4:飛び入りでLTしたらいいじゃん, とか一緒になんかやろう!的なありがたいお誘いもいただきましたが「一般参加のみロールって今回逃したら味わえないと思うので」という理由でそっ閉じしました. ちなみにトーク応募以外のCfP(LT,ポスター他)は出していません(最初から考えてもいなかった).

*5:5本も聞いたら1本くらい外れあってもおかしくない感覚なのですがどれも面白かった.

*6:登壇した方を捕まえてだいたいお伝えしてるのでまあいいでしょう笑

*7:私個人の感覚・経験として, 30分が15分になるのは確かにスライドの量や時間が減ってハードルは下がるかもですが, ちゃんと作り込むと結局スライド切ったり話す量を調整したりとかえって難易度高いんじゃないか感すらあります.

*8:CTOの花村さん, エンジニアの村上くん, 採用担当のむっちゃんが元々チームメイトで思い出話とか近況交換で話題が盛り上がったのはやっぱりカンファレンスならではだなと思いました.

*9:ビープラウドさんもSQUEEZEさんも普段からもくもく会やイベント, 地方のPyCon miniで定期的に会ってはいますがやはりPyCon JPならではの空気でお話するのは楽しいです.

*10:よく人から「中川さんって社交性あるよね」とか言われますが実際の所, はじめましてだったりすると距離感掴めないんでそこそこ会話は苦手な意識あります.

*11:野球Hack/野球Pythonはかつては野生の研究者活動の一環でして, 野球以外にも思いついていて試してないテーマが幾つかあります.

As i get closer to fifty

タイトルの通りです,今日で40歳になりました*1.

例のリストはこれです, よろしくおねがいします.

正直, 30代と比べて実感らしい実感はなくて(なんせ,これ書いてるの二日前の9/4です笑), 若干拍子抜けしてる感あります...が!?

  • 自分の変化
  • 周りの変化
  • 今後どうやって生きていくかな?

的な所は年齢関係なく,今ヒシヒシと来てるトコあるのでまあそういうポエムしたいと思います.

39歳はどうだったか?

一年前の今日,こんなの書きました.

shinyorke.hatenablog.com

肝心な所を引用すると,

正直言うと、「30代のうちにやり残したこと」は結婚(の前の相方探し)と今の野球の仕事を成功させるぐらいしか無いので、

  • 30代のふりかえり
  • 40代に向けての準備(39歳の過ごし方)

を整理しようと思います.

という発言の元, 40代に向けての準備を,

  • 野球をもっと頑張る
  • 英語・数学を本格的にやる理由が出来たのでそっちにリソースを使う
  • 30代よりハードになると思う&もちろん年々身体は衰えるので過ごし方と健康に気を使う
  • 少なくとも39歳の一年間は不要な外部発表・執筆は控え一人インプットとアウトプットに没頭する

って事をやるぞい!的な宣言してました.*2

で,実際どうたったか?という話ですが,

  • 野球はがんばれている(と思う)
  • 数学(とデータサイエンス系)の所にリソース割いて前に進んでいる, なお英語(ry
  • 体重は若干増えたものの, 体のメトリクスは悪化してない(いい意味で現状維持), 大きな怪我・病気もしてなくて元気
  • 外部発表・執筆は意図的に減らして他に時間を使えている(これはほぼ計画通り)
  • なお独身*3

達成率60%...いや50%*4くらいですかね, いい感じだと思います.

40歳(40代)の過ごし方

達成率はさておき,

40代を過ごす準備は334%できました, これは自信を持って言い切れます.

自分の変化と共に40代を波乗りする

今思えば30代はリーマンショックで危うく仕事がアレするところから始まり,

  • Python・アジャイルのお陰で力量・やれることが伸びた・増えた
  • 野球, 特にセイバーメトリクスのお陰でたどり着けるとは思えない所にたどり着けた(=仕事にした)
  • 給料・(主に社会的な)ポジションとしても理想の位置につけた

とまあ, 紆余曲折(何度かの休養含む)を経て荒波を上手く乗り切りました.

ちょっとまだ今は言えないのですが,40代の波乗りも少しずつ始まっています.

これはまあ言えるときが来たら...って感じですが,今後のshinyorkeにご期待ください(意味深)

ただまあ確かなのは,

生涯イチ・エンジニア

であることですかね.

会社員続けるにしても, フリーランスなり起業するなりにしてもこれだけは手放さないよう,技術力・スキルの研鑽, 圧倒的にインプットとアウトプットを重ねていきたい所存です.

周りの変化について

職場にコミュニティー,プライベート(友人,近所付き合い,etc...)と新しい人,若い人,面白い人(とガッカリな人)との出会いと別れが20代・30代と重ねるにつれてめちゃくちゃ加速してるなと実感しています(年齢重ねるってそういうことなのは当然とはいえ).

仕事の開発チーム,エンジニア・コミュニティ, 家族.

何でもそうなのですが,

コミュニティの集団の中堅もしくはリードしていく立場が多くなってきたので,周りの変化・求めているモノ・理想像に合わせて上手くやりきっていきたい!と思っています.

特に昨今は, コミュニティ・カンファレンスでの超ガッカリなアレ*5とかもありますし,何よりもコミュニティ重視の世界観がより進んでいる気もするので, そういった変化に対応しながらいい感じに生きていければなと.

As i get closer to fifty, And hold on for tomorrow

とまあ,40代の直近3-5年くらいはそんな感じで生きながら,

As i get closer to fifty(50代に向けて)

走っていきたいなと思います,具体的な何かがあるわけでもないですが笑

いや,なにかあるとするならもう一度プライベートでロンドンには行きたいですと.

f:id:shinyorke:20190904195011j:plain
はーロンドンに行きたい

どう転ぶか想像つかない国内・国外の情勢, 周りのことそして自分のこと.

色々と思うところ,考えるところありますが,

And hold on for tomorrow(明日のためにしがみついていく)

ながら日々を大切に生きていこうと思います.

Appendix(おまけ)

なお, このエントリータイトル・言い回しは私が大好きかつ親愛・尊敬しているロックバンド「blur*6

より引用させていただきました.

写真はロンドンオリンピックの時に行ったプリムローズ・ヒルの丘の上からのやつでした(自分で撮影).*9

*1:伝わるよね?ね,伝わるよね??(迫真)いやまあ最後に答えあります,この言い回しの意味.

*2:今思えば我ながらいいこと書いてる,これが指針として一年間動けたのは事実.

*3:つい先日弊社の若者に「去年サシ飲みした時に今が一番のモテ期って言うとったやん」という貴重なツッコミを頂き,ぐうの音もでませんでした

*4:何となく, 3/5で60%と思ったけど結婚に向けて進捗ゼロなので-10%引きだろと笑

*5:黒メガネの〜,的なやつのこと.言及はしませんがエンジニア・技術者である以上力は正しく使う,倫理観が無い・足りない何かで不快な人・不利益を被る人が少しでも減ってほしいしそれにつながる活動・発信などもできればなと.

*6:僕の中ではUK Rockの2代巨頭です.あと一組はハンドルネーム(shinyorke)の元ネタになってるRADIOHEAD

*7:オリジナルの歌詞は「As i get closer to thirty」です.歳を取るとここが上がっていくシステム(バンドのライブも実際そう歌ってる)

*8:And hold on for tomorrowっていう表現もですが歌全体がエモい,エモくて泣ける.

*9:ここで紹介したblurのFor Tomorrowほか, ビートルズやストーンズ,オアシスといったメジャーどころのバンドは大抵舞台にしてるUK Rockオタク的には聖地みたいな場所.

WebをやるならDockerを試して学ぼう - 実務にDevOpsを持ち込むまでのハナシ

f:id:shinyorke:20190828223807j:plain

著者(かつ私の元チームメイト)のsakuさん(櫻井さん)*1のご厚意により, 頂戴いたしました.

試して学ぶ Dockerコンテナ開発

試して学ぶ Dockerコンテナ開発

昨年出版された「Dockerによるアプリケーション開発環境構築ガイド」の続編的な内容(このブログでも去年紹介しました)かつ,

「試して学ぶ」を繰り返すことにより,「実務」での活用を前提にした内容でとても良い本でした.

このエントリーでは,そんな「試して学ぶDockerコンテナ開発」の紹介を簡単にやりつつ, 「Dockerを学んでから,仕事で使うまでのススメ方」を自分の経験と意見を交えた上で紹介します.

TL;DR

  • Webアプリケーション開発に慣れて, DevOpsやりたいぜ!っていうタイミングでDockerをはじめるといいよ!
  • DevOps的になにかやる, チーム開発に興味を持ったタイミングで「試して学ぶDockerコンテナ開発」を読んで試すとすごく良さそう.
  • DevOps的に導入する,第一弾は「受け入れ・オンボーディング時にエイッとやってしまう」

おしながき

このエントリーの対象読者

プログラミング初心者および駆け出しエンジニア*2...と言いたいところですが,

  • 任意の言語(PHPでもRubyでもPythonでも)でWebアプリケーション開発ができる(人の助けを借りてOK)
  • bash, zsh等の環境でコマンドラインベースで操作ができる(GUIじゃなくて)
  • 何かしらのエディタを使える

上記を最低の対象読者要件とさせてもらいます.*3

言語・Web開発やコマンドライン・エディタに自信が無い方はこちらをそっ閉じしてもらって, この辺から学習した上で再度挑戦してもらえると良いかもです.

試して学ぶ Dockerコンテナ開発

早速こちらの本の感想です.

試して学ぶ Dockerコンテナ開発

試して学ぶ Dockerコンテナ開発

読んでいてよかったなと思うのが,

  • Webアプリ・データサイエンスの環境といった「動く」ものを作りながら学べる
  • 実務で必要な視点が書かれている

この3つです.

「試して」動かしながら「学ぶ」

この本にのっている事例が,

  • PHPのイメージを元にLaravel製Webアプリ
  • nodeのイメージを元にNuxt.jsのSPA(シングルページアプリケーション)
  • Rubyのイメージを元にSinatra製Webアプリ

と, まずは単体のアプリからはじまり,

  • Rails + Vue.jsの全部のせアプリ用イメージ

を作って開発環境を運用し,

  • JupyterLabでのPyData環境
  • PyTorchを入れる・GPUを使う

といったデータサイエンス領域まで「試して」動かしながら「学ぶ」ことを,段階的に試せるような構成になってて読みやすいし試しやすいなと思いました.

Dockerの仕組みを理解しながら,必要なもの(Rails + Vue.jsなら, Rubyのimageにどうやってnodeを足すか?とか)に徐々に触れていく順序も,初学者・やろうかなと思っている人たちには合いそうな気がします.*4

現場で必須の視点がある

また, 単にDockerを試して動かすだけでなく,

  • docker-composeを使った複数コンテナのオーケストレーション
  • Dockerfileの記述・運用のノウハウ(例:RUNやビルドの順序を考慮してなるべくキャッシュ使うなど)

といったところも触れおり, 中級者以上にも良い内容だなと思いました.

オススメの使い方(個人的な感想)

個人的には「Dockerでなにかやりたいときのレシピ・ヒント集」的な使い方に最適だなと思いました(し,実際そういう使い方すると思います).

Dockerをはじめよう!という方はぜひ本を最初から舐めて真似するところからやると良さそうです.

実務にDevOpsを持ち込むまで

Docker(もしくはコンテナ技術)を使う理由はいくつもありますが,あえて身近な所で絞るとするならば,

「自分が作ったモノを他の人・環境でも再現可能にする」

ことかなと思っています.

実務的にあるあるなシチュエーションだと,

  • 開発環境を「動くモノ」として共有する.
  • 定義を変えるだけで開発・STG・本番でも動く.

的な, 「エンジニアが開発する(Dev)」と「実際に運用する(Ops)」を再現可能かつイミュータブルにやる,ということかなと.

オススメのスタイル

一番のオススメは,

自ら率先してDocker使って開発, 成果をチームに共有する

ことかなと.

  • 新しく入ったチームメンバーの受け入れ(オンボーディング)タイミングでDocker化するタスクをやる
  • 自分が新入メンバーの場合,環境構築&今後のためにDockerで環境を作る

といったことをしちゃうのが良いかなと思っています.

この方法のメリットとして,

  • Dockerをより詳しく知れる
  • 何よりも自分がキャッチアップしたり,メンバー教育する際に同時に動く環境を入手できる!

というメリットがあり,うまく進むとチームのDevOps化も捗ると思います.*5

若干手間はかかる(≒工数はかかる)のがデメリットかなと思いますがやる価値は大いにあると思います.

ただ, 最初のうちは結構ハマる(なぜならDockerは比較的学習コストが高い)と思うので, 新人や若い人にやってもらうときは慣れている人のサポートを仰ぐなど工夫を一緒にするのがよりベストです.

私がDockerをキャッチアップするまで

このハナシでいうと,

  • 最初は仕事じゃなく,趣味プロジェクトを元にDockerを実験
  • 成果を勉強会のLTやPyCon JPなどで発表

を繰り返して少しずつ覚えました.

前前職あたりから,

  • 自分の開発環境を少しずつDocker化(キャッチアップしながら)
  • Dockerを使うメンバーがいたらノウハウ共有しつつ一緒にやる
  • 仲間を増やす(例:社内勉強会などで布教)

をやって, 今では

  • 手元の開発環境作りをDockerでやる(キャッチアップ&今後の共有目的)
  • 新サービスをDockerベースで動かすアーキテクチャにする
  • 便利さを布教する

というのをやり続けています.

ちなみに,導入は「開発環境用のDBをDocker化する」的なあたりからやるとすごくやりやすいです.*6

というわけで,迷っている方もぜひDockerを始めてもらえると嬉しいです.

*1:Retty時代のチームメイトであり, Dockerと日本酒に関する師匠でもあります.

*2:ちなみにこれってどっから流行りはじめてのだろう?謎だ.

*3:このレベル感は, 「試して学ぶDocker開発」に記載の「対象読者」情報に「Webアプリケーション開発ができる」という独自条件を加えたものになっています.Webを加えた理由は本文を読みすすめると理解してくれると信じてます(真顔)

*4:私はそこそこDocker使ってるのでそういった意味では対象じゃないですがDockerはじめたばかりのときにあったら良かったなあと思っています(こなみ)

*5:Docker便利だよ,仮想化大切だよ!が動くものとして伝わればすぐかと思います.そういう意味.

*6:ローカル環境はだいたいデータに困るので,その困ったデータ問題を解決するとハナシを聞いてくれるようになります(真顔)