技育祭2020参加記

Day1

11:10-12:10 RoomC 青山さん「オープンな技術力の伸ばし方と「私がKubernetesに惹かれている理由」」

はじめはRoomAをみていたのですが、Twitterで #技育祭 を追っていたら技術よりの話をしていそうだったので聞きに行きました。
自分なりにまとめると、コミュニティやOSSに貢献することに対する意味についての話でした。
OSSへの貢献の仕方はCodeNon-codeの2種類があり、Non-codeとしてのドキュメントやブログでの発信、ベストプラクティスの共有も大切。Codeでの貢献はとくに、アップストリームへの貢献を積極的にしていくべきであること、CLA(Contribution Lisence Agreement), CI/CD, review体制, Issue PR ProposalなどそのOSSの決まりごとに従う。次のContributorのためにドキュメントを整備するのもよい。
コミュニティについては、青山さんのスタンスは「興味のある分野、基盤技術、ネットワーク、分散システム(プログラミング)だけをやる」登壇ははじめはうまくいかないことも多いけど、場数を踏めばストーリー構成力、説得力が養われる。また、話しかけるのが苦手でも登壇すると向こうから話しかけられるのでお得。
いろいろな関わり方がある。ブログを書く、登壇する、カンファレンスのボランティアスタッフをやってみるなど、やりやすいところから入ってみよう。技術力だけ高くてもだめで、個人の力で組織の力をスケールさせる働き方が求められている。

感想
自分自身、勉強会やサークルでの学習の場を考えて提供するときに、「これ僕にはなんの意味があるのだろう?」と思っていた。一般にこういうのは手伝ってくれる人が少なく一人に負荷が集中するので、負荷分散を考えないとすぐにつぶれてしまうことが多かった。今回の講演で、「自分の興味のあることしかやらない」「コミュニティに貢献する意味は、個人の力で組織をスケールさせることでより大きく動けるようになるから」という2つを学んだ。このあたりを意識して動いていきたい。
あと、少しではあったがkubernetesの話、特にプラグインでデータベースなどを自動で管理してくれる話が夢があった。調べてみたい。

お昼 ランチLT

FIXERがよかった。Microsoftのイベント de:codeのアバターとか3d空間の制作を行ったらしい。技術力高い。

13:30-14:30 RoomB 和田さん「質とスピード〜ソフトウェア開発の典型的な誤解を解く〜」

自分なりにまとめると、 内部品質を犠牲にして速度をとるのはごく短期でみたときのみ得であり、その後致命傷となるため、スピードがとりたいならスコープを絞るべき。 そもそも質とスピードはトレードオフではなく、質とスピードとトレードオフになるものは、次世代への教育、新技術の調査、多様性の確保といった教育部分である。
品質を高めることでリリースが高速になることが多い。ソフトウェア開発組織の生産性は、リードタイム、デプロイ頻度、MTTR、変更失敗率の4つのキーメトリクスで計測できる。それぞれ、リードタイムはコミットがリリースに含まれ世に出るまでの時間、デプロイ頻度はリリースの頻度(CI/CD)、MTTRは不具合が出てから治るまでの時間、変更失敗率はrevertされたリリースの数を指す。

感想
特につらかったのは、クソコードを書くやつは時間があってもクソコードを書く。技術力がなければ、時間をかけてもその人の技術力以上の品質のコードは書けないというところでした。これどうすればええねん。とにかく品質の悪いコードは時間が経てば致命傷になるから、普段から品質を意識してたくさんコードを書こうと思いました。
あと、ソフトウェア開発組織の生産性は自分の生産性の指標としても参考になりそう。コード書いて作るぞ〜っていっていつまでもprivate repositoryの中に眠っていることとかよくあるし(リードタイム)、継続の指標にデプロイ頻度は参考になりそう。

14:40-15:40 RoomD 宮原さん「イケてるコードがかけるITコンサル最強説」

特に学ぶというより話が面白くてFutureの中で実際にやっている仕事がよくわかるという感じだった。就活のときにFutureも検討したいと思った。

15:50-16:50 RoomC 成田さん「あるエンジニアがCTOになるまでとそれから〜クックパッド10年の変化〜」

成田さんのフランクな感じがゆるくて面白かった。Cookpadも興味を持ったので就活のときに検討したい。
自分なりにまとめると、CTOは入社して3年立っても「CTOになりたい」と言っているやつがなれる。大きくなった組織でも小さな組織のときのよさを残すにはどうしたらいいか考えるの2点だった。
やりたい、得意、やるべき が一致しているときにパフォーマンスが最大になる。
大企業のYahooからCookpadに移ったので、大企業のつまらなさに対し、Cookpadもそうならないようにするのが使命だと感じていた。

感想
どうやらCTOは社に対する情熱が強い人で、かつなんでもやってみる人がなれそうという直感を得た。成田さんは料理とRubyが好きで、Cookpadにジャストフィットしたというのもあるし、一番始めはフロント寄りなのに、サーバのチューニングといった仕事にも手を出す広さが強いからCTOになったのかなと聞いていて感じた。

Talk Room セキュリティやってますの部屋

Twitterでよく知っている京都勢の2人と僕の3人だった。個人的にさんぽしさんはお話してみたかったので嬉しかった。
HackTheBox(HTB)は個人的にどのくらい月に費やすなら契約すべきかなという観点だった(完全にd-アニメかなにかだと思っている)けど、さんぽしさんによるともうHTBはじめるならVIP契約してOKくらいの勢いのようだった。さんぽしさんは毎日2-3時間はHTBに費やしていて、でもほとんどがgobusterなどのツールを回している待ち時間、privilege escalationでは時間を使うという感じで正確に費やした時間は計測が難しいようだった。
京都勢、KUDoS CTF頑張ってください。楽しみにしてます。

懇親会

NLPやっている人が多いなという印象。ロボットやっている人がいてかっけ〜ってなったり、RustやWasmの話,それもサーバーサイドwasmの話がでてきてびっくり。休学して進路変更してエンジニア目指している人がいたり、はじめて3ヶ月です!(3ヶ月のうちに技育祭にたどり着くのすごくないか)な人がいたり、いろいろな人がいて面白かった。
インターンで仲間を作るとかに憧れがあるので、どこかで御縁があるといいなと思っています。

Day2

11:10-12:10 RoomD 松本さん「テックカンパニーって結局なんだろう?」

自分なりにまとめると、 問題空間を探索して不確実性を減らしながら前に進もう。扱える問題空間の大きさが、職位と関わってくる という感じ。
方向、継続、失敗のコントロール の3点を大事にする。失敗のコントロールができていると、安心して挑戦できる。

感想
Agilityとは、一定の方向付けを持ちながら、細かく継続的に挑戦すること。これはアジャイル開発の文脈に近くてすぐ理解できた。
社内文化とか、空気感のようなものがほんわか思っていたことがきれいに言語化されていてやはりCTOすげぇ〜と思った。

Cookpad 企業交流Room

10人の学生でほとんど企業紹介だったのであまり話ができる感じではなかった。悲しい。
コーディングの問題が出されたので取り組んでみようと思う。