こんにちは、いっとくです。
今年から主にプログラミング教育をやっているのですが、アイデンティティがありませんでした。
アイデンティティがなぁあああぁあ〜いって感じでサカナクションかよっていう話なんですが、まぁ一言でいうと明確な強みを持っていない。
この分野なら君だよね!?っていう強みが圧倒的に足りていないんです。
やっぱり仕事ってジェネラリストになるにしても、何か一つはっきりした強みがないとダメだと思うんですよ。というかそういうのがあったほうが、活躍できる場がわかりやすくて使いやすい人材になれると思うんです。
今まではなんとなくプログラミングやっていればよかったけど、ちょっとそろそろそういうポジション取り考えなきゃと思っていたこの頃。
幸いにも現場でごっついSQLを触っていたので、なぜかSQL強い人として紹介されるようになりました。
しかし、ここで問題が。
確かにごついSQLは触っていたんだけど、SQLに関する根本的な知識を何も持ってねぇ。
あるのはクソ長いSQLを読み解く筋肉だけ。
エレガントなコードは書けないし、機能も仕様も全然把握していない。
雑な例えをすると、ただ筋トレしてただけなのにこの人運動神経めっちゃ良いよって紹介されたような感じ。
いやいやこちとら球技できない系マッチョですよ!?力強いだけでドリブルとかできませんよー!?みたいな感じです。
わざわざ例えなくても良かったかもね。でもそんな状態なのです。
しかし人間不思議なもので、そう紹介されるとそうなろうとする力が働くんですよね。これが大学のときに社会心理学という単位取るのがクソ簡単な授業で言っていた一貫性ってやつですか?
しかも、そのために頑張ることも楽しくなっちゃうっていうね。
そんなわけで最近はSQLとかDBの力をつけたい一心で生活していました。
正直その領域について体系的に学んだことがなかったので、いい本ないかな〜つって探して購入したのがこちらの本でした。

著:Bill Karwin 監訳:和田 卓人、和田 省二
出版:オライリー・ジャパン
言わずもがなSQLに関する名著。
とりあえずSQLの技術書の中で一番評判良かったのでこれにしました。
いきなり感想ですが、めちゃくちゃ良かった!
なので、ちょっと読んで思ったこととかをまとめていきます。
いきなりSQLアンチパターンやるのも全然ありでした
実は買う前にちょっと躊躇しました。
まずは基礎を固めてからのアンチパターンでは??みたいな気持ちがあったので。
しかし、読み終えてみると全然そんなこと気にする必要ありませんでしたね!
むしろ、「あ〜確かにこれ現場で悩んだわー!」とか、「へぇ、SQLってこんな使い方もできるんだ!」とか、「あの時作ったテーブルはこう設計すればよかったのかー!」みたいな発見がボロボロ出てくる。
僕みたいな基礎スカスカ人間には特に響くと思います。
1章ごとにパターンを紹介しており、全部で25のパターンを学ぶことができます。
1章1章は割と短くまとまっており、かなり読みやすいのもポイントの一つ。
たまに、良書だから買ってみたけどちょっと僕にはまだ早かったみたいだ…みたいな技術書とか普通にあ りますからね。
そんな本たちはもっとスキルと経験値ついてから響いてくれることを期待。
アンチパターンは全部で4つの大セクションに分類されており、設計からクエリ自体、アプリケーションまでいろんな状況にありがちなアンチパターンが紹介されています。
アプリケーション部分はPHPで書かれていて助かりました。大体こういう本に出てくるのJavaなので。(まぁ、文法は似てるのですが気持ちの問題がね…)
後半ではドメインモデルの紹介がされており、今までずっとわからなかったサービス層のあり方みたいなのを知ることができて超快感でした。
早く実践したいなぁ!
SQLアンチパターンはこんな人にオススメ!
技術書って、読むタイミングによって刺さり具合が違うと思うのですが、今回のSQLアンチパターンはドンピシャのタイミングで読めたな〜という感じでした。
多分開発の現場で1〜2年くらい働いて、だいぶSQLとかわかるようになってきたけど、いざ詳しい部分聞かれたらよくわからんとか、設計する時毎回どんなテーブルとカラムを用意しようか悩むというくらいの人が読むとちょうどいいんじゃないかなという感想です。
多分だけど、初心者が読むにはちょっと早くて、上級者にとっては当たり前のことが書かれていそうな気がするんですよね。上級者の方は気持ちわからないのでなんとも言えませんが。
とりあえず個人的にためになったのは、ツリー型のデータのテーブル構成や、ENUM使う時は気をつけないといけないとか、Floatの仕様とか、ドメインモデルの話とかがかなりビビッときました。
その辺がピンとこない人は間違いなく面白く読めると思います!
この勢いで今年はDBも力入れて勉強していきたいですね〜。
あと、ディープラーニングとUnityとSwiftとセキュリティとAWS。
欲張りすぎて死にそう。
以上、いっとくでした。
これオススメってう技術書があれば教えて下さい!
コメント