dassimen.log

サーバーサイドエンジニア脱脂綿のログ。

Cordertreat in 秋葉原に参加しました!

Global Cordertreat dayでしたので、Cordertreat in 秋葉原に参加してきました。

minna-de-ochakai.connpass.com

参加したセッションの内容ふりかえりと感想書きます!

感想まとめ

恐れ知らずとハッタリだけでげきつよエンジニアのモブプロに飛び込みました。
話は通じるなあというのが最近考えていること。勿論知識や経験、それに裏打ちされた思考力などげきつよエンジニアには敵わない部分も多いのですが、こちらがたじたじになるような事はありませんでした。
げきつよエンジニアの方が合わせてくださっているのかもしれませんが、そうだとしても「ひよっこだから...」と黙ってしまっては折角の成長機会を失います。
というかこういうイベントに来てる人ってつよい人は人に教えるのが好きだから来ている筈なので、最初からそんな心配無用ですね。
今回は初めてお会いした方とのペアプロまで挑戦しましたし、行動は起こせたと思ってます。

ただ今回のセッション聞いたからプログラミングスキルが1⇢100になったわけじゃないです。当たり前ですが。
1回だけじゃなくて継続的にやりたいなあ。モブプロ・ペアプロのイベントもっと参加していきたい。

各セッションふりかえり

1セッション目 モブ Python

メンバーのレベル:Pythonを業務で書いている方が1人と、趣味レベルの私、Python触れた事ない方3人で実装。
進行度合い:マスの生死を取るgetterを書いた
学び:リファクタする時にこれ別にメソッド書いた方が早いな、というレベルで書き換える時にソースコードを壊さない方法。
リファクタしたいMethodAが会った時、MethodBを作り中で最初はMethodAをreturnするようにしてから、MethodAの呼び出し元でMethodBを呼ぶようにする。その状態でテストを通して、次いでMethodBを実装する。
Pythonインスタンス変数書く時にself._xxxと宣言するお作法(ただこれはググっても出てこなかったしUdemyのPythonic講座でも違ったので記憶違いかもしれない)。
お一人オブジェクト指向プログラミングに不慣れな方(class作るの初めてとのこと!)がいて、私のレベルでも頑張って解説役やりました。

2セッション目 モブ Kotlin

メンバーのレベル:5人いて全員Kotlin知らない! Javaは私ともうお一人がほんの少し分かる。
進行度合い:3*3を表現する配列書くまで
学び:Cyber Dojoの問題なのは、Kotlinでテスト遠そうとすると毎回実行時間が6秒掛かったのは辟易しました。Driverは5分交代だったので6秒も待ってられない。多分毎回Buildしてんだろうなーと思うと仕方ない気もするんですけど。勉強目的で集まっている時はやっぱスクリプト言語最高だなと思いました。。。
誰も知らないので全員がflatな状態で色々発言ができたので良かったと思います。

3セッション目 ペア Java

メンバーのレベル:実務でJava書いてる人と、1年保守開発やってた私。
縛り:1メソッド3行以内
進行度合い:設計は深くまで詰めました。状態のgetterと、次世代を返すメソッドを作成しました。
学び:Javaコンパイルはそこまで待たされませんでした。謎い。
つよエンジニアの方が5分でゴリゴリリファクタされていてつよいって思いました(こなみ)。
最初に詳細に設計ToDoリスト作ると進み方が良かったです。

4セッション目 モブ Python

メンバーのレベル:2人業務でPython書いてる、私は趣味レベル
縛り:データの持ち方を普段と変えてみよう。ただ配列で持つのが本当に正か?
進行度合い:状態のgetter、誕生のメソッド、死滅のメソッドまで
学び:ここでデータの持ち方を「worldインスタンスに各座標のセルの生死をインスタンス変数として持たせる(3*3で9個のインスタンス変数を持つ)」としてみました。
こんな実装しねぇよwwwwとゲラゲラ笑いながら進めましたが、途中から「あれ... これ書きやすい...」「アリなのでは...?」みたいな空気に。まあ実際はナシなんですが。
アンチパターンが何故アンチパターンなのか? そのデザインパターンは何故優れているのか? しっかり考えてみないといけないなと再認識した時間でした。