初めて勉強会に参加してから今まで学んだことを振り返る

11月前半の有給消化期間に暇だったことと、そういえば3月に大学院を修了したのに忙しくて何も書いてなかったなと気がついたので、初めて勉強会に参加してから何を学んだか振り返ってみます。

まぁ、メンズTDDというイベントの懇親会で下記エントリに関連する話を聴いたことも多少は影響しているとは思います。

僕がソフトウェア開発を勉強し始めて3年間でやったこと - うさぎ組

0. 勉強会初参加以前

初めて勉強会に参加した2010年7月より以前は、自主的にはやっていたものの、あくまで学内の中という狭い空間で知った単語、書籍を頼りに学んでました。
まぁ、GoFデザインパターンリファクタリング、TDDとは何ぞやということを本腰据えて唸りながら学んだのは、大学4年ソフトウェア工学専門の指導教員の下についてからのことです。

実装パターン

実装パターン

オブジェクト指向における再利用のためのデザインパターン

オブジェクト指向における再利用のためのデザインパターン

増補改訂版Java言語で学ぶデザインパターン入門

増補改訂版Java言語で学ぶデザインパターン入門

直近3か月はこいつらをゆるゆると読んでいました(結局読み終わったのは勉強会後でしたが…)。

1年目. TDDBC名古屋参加以降

人生で「学ばなければこの先生きのこれない」と恐怖したのは、この時が2度目でした*1。知識も、経験も、圧倒的に上な方々が、40人以上その場に居たわけですよ。これくらい持っていないとこの世界ではやっていけないのか、と思ったわけです。

それと同時に、あのイベント中にこんなことも感じました。


「あのOCamlScalaとかいう言語でペアプロしている人々はなんて楽しそうな、素敵な笑顔でコードを書くのだろう!」*2
「もしや、あれら関数型言語というものには楽しく開発できる何かがあるのでは…?」


というわけで、これ以降はソフトウェア開発をメインに、関数プログラミングも少しずつ学んでいくことになります。

書籍に関してはTDDBC名古屋の主催者だった@さんと、講師であった@さんのつぶやきを主な情報源にしていました。
プラスしてbleisさんや@さん、@さんのつぶやきを頼りにrebase、reset特化でGitを学んだり、指導教員に書籍を借りたりとかですね。

あとは、JaSSTに参加した影響もあって少しずつテスト(自動化寄りだったけど)について学んだり、途中からは講義の関係もありJavaを扱うことが多かったため、TDDBC福岡で存在を知ったGroovyも併用していました。

ソフトウェアテスト技法ドリル―テスト設計の考え方と実際

ソフトウェアテスト技法ドリル―テスト設計の考え方と実際

リファクタリング―プログラムの体質改善テクニック (Object Technology Series)

リファクタリング―プログラムの体質改善テクニック (Object Technology Series)

  • 作者: マーチンファウラー,Martin Fowler,児玉公信,平澤章,友野晶夫,梅沢真史
  • 出版社/メーカー: ピアソンエデュケーション
  • 発売日: 2000/05
  • メディア: 単行本
  • 購入: 94人 クリック: 3,091回
  • この商品を含むブログ (307件) を見る
レガシーコード改善ガイド (Object Oriented SELECTION)

レガシーコード改善ガイド (Object Oriented SELECTION)

実践 F# 関数型プログラミング入門

実践 F# 関数型プログラミング入門

オブジェクト指向プログラマが次に読む本 ?Scalaで学ぶ関数脳入門

オブジェクト指向プログラマが次に読む本 ?Scalaで学ぶ関数脳入門

プログラミングGROOVY

プログラミングGROOVY

プログラミングHaskell

プログラミングHaskell

ザ・ゴール 2 ― 思考プロセス

ザ・ゴール 2 ― 思考プロセス

中でも、きのこ本はお気に入りの一冊です。

プログラマが知るべき97のこと

プログラマが知るべき97のこと

2年目. SCMBC開催以降

この少し前あたりから、勉強会に行く傍ら雑多に読んでた記憶があります。
あと、@さんや@さん、@さん、@さんらと会話することでテストについてもっと真面目に考えたりした感じですね。

Clean Code アジャイルソフトウェア達人の技

Clean Code アジャイルソフトウェア達人の技

ソフトウェアテスト教科書 JSTQB Foundation 第3版

ソフトウェアテスト教科書 JSTQB Foundation 第3版

  • 作者: 大西建児,勝亦匡秀,佐々木方規,鈴木三紀夫,中野直樹,町田欣史,湯本剛,吉澤智美
  • 出版社/メーカー: 翔泳社
  • 発売日: 2011/11/12
  • メディア: 単行本(ソフトカバー)
  • 購入: 5人 クリック: 85回
  • この商品を含むブログ (9件) を見る
ソフトウェア・テスト PRESS 総集編

ソフトウェア・テスト PRESS 総集編

ストラウストラップのプログラミング入門

ストラウストラップのプログラミング入門

ソフトウェア品質知識体系ガイド―SQuBOK Guide

ソフトウェア品質知識体系ガイド―SQuBOK Guide

Scalaスケーラブルプログラミング第2版

Scalaスケーラブルプログラミング第2版

パターン、Wiki、XP ~時を超えた創造の原則 (WEB+DB PRESS plusシリーズ)

パターン、Wiki、XP ~時を超えた創造の原則 (WEB+DB PRESS plusシリーズ)

Making Software ―エビデンスが変えるソフトウェア開発

Making Software ―エビデンスが変えるソフトウェア開発

プログラミングの魔導書vol.2

あとはF#熱が復活したり、Kinect SDKで遊んだりしていました。

イベントの開催などは、今を思えばよくあんな無茶できたよなーというレベルでTDDBCを開催したりしていましたね…。

3年目. 学生生活最後

修士学生よそれでいいのか、と言わんばかりに研究以外のこともやっていた気がします。
あと、積読や挫折した書籍をきちんと読もうとしたのもこの時。

会社が決まってからは、こっちも必要だよなーと思いながら読んだりとか。

インターフェイス指向設計 ―アジャイル手法によるオブジェクト指向設計の実践

インターフェイス指向設計 ―アジャイル手法によるオブジェクト指向設計の実践

アジャイルサムライ−達人開発者への道−

アジャイルサムライ−達人開発者への道−

アジャイルな見積りと計画づくり ~価値あるソフトウェアを育てる概念と技法~

アジャイルな見積りと計画づくり ~価値あるソフトウェアを育てる概念と技法~

オブジェクト指向入門 第2版 原則・コンセプト (IT Architect’Archive クラシックモダン・コンピューティング)

オブジェクト指向入門 第2版 原則・コンセプト (IT Architect’Archive クラシックモダン・コンピューティング)

エリック・エヴァンスのドメイン駆動設計 (IT Architects’Archive ソフトウェア開発の実践)

エリック・エヴァンスのドメイン駆動設計 (IT Architects’Archive ソフトウェア開発の実践)

エンタープライズ アプリケーションアーキテクチャパターン (Object Oriented Selection)

エンタープライズ アプリケーションアーキテクチャパターン (Object Oriented Selection)

アジャイルなゲーム開発 スクラムによる柔軟なプロジェクト管理

アジャイルなゲーム開発 スクラムによる柔軟なプロジェクト管理

ソフトウェアテスト293の鉄則

ソフトウェアテスト293の鉄則

黒バイザーを読もうと薦められたり。

実践的プログラムテスト入門

実践的プログラムテスト入門

ソフトウェアテスト技法

ソフトウェアテスト技法

Functional Functionalしたり。

すごいHaskellたのしく学ぼう!

すごいHaskellたのしく学ぼう!

プログラミングErlang

プログラミングErlang

Expert F# 3.0

あとは、HaskellScala(z)のモジュールやクラスをF#に移植できないかひたすら考えたり、新卒研修課題をErlang+F#で提出して迷惑かけたりしていました。


あ、勉強会での10分以上の発表を行うようになったのもこの時からですね。そのきっかけをくださったTDDBC岡山運営メンバーの方々には、今でもとても感謝しています。


もう一つ、書籍のレビューにも初めて参加させていただきました。

JUnit実践入門 ~体系的に学ぶユニットテストの技法 (WEB+DB PRESS plus)

JUnit実践入門 ~体系的に学ぶユニットテストの技法 (WEB+DB PRESS plus)

@さん、貴重な機会をくださりありがとうございました。とても勉強になりました。

4月から今

気がついたらF# MVPになっていたり、もみあげと呼ばれるようになっていました。
そして、面白いメンバーとの遭遇を経て今の状況にあります。

新卒で入社した会社を8か月弱で辞めてしまったのは、他者からすれば色々と言いたいこともあるかもしれません。
が、今は後悔していませんし、だいぶ後になって後悔するかもしれませんが改めて納得することでしょう。私はそういうヤツなので。

まぁ、忙しかったりバタバタしてしまったりで、正直前よりもインプットはできていなかった…のは反省ですね。

Purely Functional Data Structures

Purely Functional Data Structures

SQLアンチパターン

SQLアンチパターン

Team Geek ―Googleのギークたちはいかにしてチームを作るのか

Team Geek ―Googleのギークたちはいかにしてチームを作るのか

C++ ポケットリファレンス

C++ ポケットリファレンス

なぜ学ぶか

まだまだ学ぶべきことは多いですし、やってみるべきだよねと思うことは多々あります。
では、なぜ学んだり試してみたりするのでしょうね?


振り返ってみると、私はやはり「誰かと技術的な話をしたい/聞きたい」に尽きるようです。仕事のためというのは確かにありますが、それ以外の部分が大きい。

時に笑顔で、時に真剣に技術的な話ができる、それは素敵なことだなと思うわけです。
そういうわけで、私は学び続けるのでしょう。



というわけで、いつも楽しい話をしてくださる皆様、私の話を聴いていてくれる皆様、ありがとうございます。これからも頑張るます!

さいごに

読みかけや頂き物を晒すことで年末追い込みメソッドを発動しておきます。


関数プログラミング入門 ―Haskellで学ぶ原理と技法―

関数プログラミング入門 ―Haskellで学ぶ原理と技法―

組織パターン (Object Oriented SELECTION)

組織パターン (Object Oriented SELECTION)

ITエンジニアのゼロから始める英語勉強法

ITエンジニアのゼロから始める英語勉強法

.NETのクラスライブラリ設計 (Microsoft.net Development Series)

.NETのクラスライブラリ設計 (Microsoft.net Development Series)

C#プログラマのための.NETアプリケーション最適化技法 (Programmer's SELECTION)

C#プログラマのための.NETアプリケーション最適化技法 (Programmer's SELECTION)

  • 作者: Sasha Goldshtein,Dima Zurbalev,Ido Flatow,サシャ・ゴルドシュタイン,ディマ・ズルバレフ,イド・フラトー,株式会社プロシステムエルオーシー
  • 出版社/メーカー: 翔泳社
  • 発売日: 2013/07/23
  • メディア: 大型本
  • この商品を含むブログ (4件) を見る

おまけ

しかし息抜きも重要なので、気が乗らなければ休みましょう。
そして積まれていくゲームとラノベは数知れず…

*1:一度目は大学1年後期だった

*2:今思うと絶対あれはmzpさん達だった!