R6のDBスペシャリストに合格した話
令和6年の発表がありましたので受かりましたー。あーよかったー、ホッとした。
今問題読んだらあんまり解けなくて草なんだが、ご愛嬌すぎる。午後Ⅰも危なかったけど、うまく当日頭が働いてくれてパズルを解いてくれました、よかった。
まぁ正直、身についたかと言われるとうーん:thinking face: なんですよね。試験突破の学習戦略と当日の頭の回転がうまく刺さった感じです。
あと勉強法について本を読んでイキって書いてたんだけど、落ちてたら危なかった。。。でもあんまり活かせてなかったと思うなぁ、想起と再言語化は大事。
せっかくなので、そのイキリ根性をもったまま記事を書こうと思います。
なんでDBスペ試験を受けようとしたか
自信の創出と次のキャリアのため、です。
転職してフルスタック的にフロントとバックエンドとインフラを少しずつ触れるようになったが、一方で状況的に上流工程とかプロジェクトマネジメントする比率が多くなっていました。なんかうまく開発できないことが多く、何やってるんだろうな俺、、、みたいな時期が続いたんですが、自分なりにはいろんなボトルネックに向き合ってきて動いていたつもりだったんですが、ほかにいっぱい開発できるすごい人たちいるし、べつに僕が開発せんでもいい、みたいな状況ですね。
でも、もっと技術を学びたいのに!みたいなわがままはあったんですが、じゃあ開発に専念すればいいじゃない、とはなれず。
というようなことを1on1で話していて、そもそも「汎用的なエンジニアリングスキルを学びたかったんだよな」ということに気づき、上司もDBスペシャリストをとっていたので受けてみたらどうか、という話になりました。
まぁでも今はEMの方面に進んでいくかな〜みたいな気持ちが強くなっており、技術で尖っていく方向ではなくちゃんと理解し使えるようにしておき錆びないようにする形で向き合っていきたいと思います。
使った教材・読んだもの
- SQL入門
- 達人に学ぶDB設計
- 達人に学ぶSQL
- DBスペシャリストの教科書
- DBスペシャリスト重点対策
- 午後過去問
- R5/R4/R3/R2/H31/H30
- 午前対策の東京電機大学の本
- ちょっと古くてかつ難しかった、あまり役に立たないかも。
学習合計としては100時間くらい。
なんか巷で評価されてる定番本と試験の基礎知識を入れてからは、とにかく午後問題を回すことを意識しました。午後Ⅰは45分くらいで区切るので細かくできた。
これは過去の基礎情報と応用情報の午前でわりと必要以上に点数が高かった経験から、午前に対するウェイトを下げようというものでした。基礎知識入れたあたりからR5の午前演習をとりあえずやってみて、午前Ⅰはギリ落ち・午前Ⅱはすこし余裕あり合格だったので午前は空き時間にやるイメージでした。とくに午前Ⅱはほとんどやってないです。
こういう知識問題演習とかってインプットとアウトプットが楽だから、わりとそれに終始しがちなんですよね。午後は結構頭使って重いし、午後Ⅱとか2時間かかるし。。でもやらないといけないし、みたいな。これは受験勉強の経験がうまく使えた形かもしれない。
ポイントだったこと
正規化についてはできるようにしたけど、集合論と繋がったのは面白かった。やはり元と単射と圏論が大事なのか。
特化と汎用・共存と排他が好きなんだなって思った。その実現方法の設計が三つあるのも面白かった。
SQLはもちろん基礎的な選択・射影・結合とかも大事ですが、やはり相関副問合せとウィンドウ関数がポイントですかね。空でできるかと言われるとちょっと怪しい。
あとトリガーとかも好きやなって思ってました、副作用的にどうなんだろうと思っていますが。あとカーソル!完全に捨てました。
本当はログとバックアップとか、性能計算とかテーブル設計の見積もりとかもやりたかったのだけど、時間がなくて概念設計の方に倒しました。この辺は完全に試験突破のためだけの戦略ですかね。
できるようになったこと
- 隔離性レベルとかあるんだなと思った。
- RDBの概念設計やテーブル設計はすこし自信を持ってできそう。
- 分散とか排他ロックって本当に困る?みたいなこと思ってたけど、めっちゃリクエストが来るシステムで並列並行が普通だとバンバン整合性担保できんなーってなりました。
- こういう記事とかを読めるようになった。
でも実際にできるかと言われると、…うーん、自信ないかも。
やっぱりこういう素振りとかじゃなくて実務で積んでいくしかないんだろうなーという気持ち。その発想で試験で出てくるようなアプリのプリセットをdockerとかで組んであげて、それっぽいビューを作って操作する、みたいなのを作りたいと思いました。まる。
落ちたらしようと思ってたこと
落ちたらどうしようかというのは常々考えていました
- システムアーキテクト試験
- 結構興味あるんですよね、なんかソフトウェア作るにあたって考えるのが楽しそう
- ビッグデータ分析SQLレシピ
- これは今後業務で必要になりそうな気がするので早々にやりたいが、うまく機会が回って来ない。。
- 過去問で出たDB設計のアプリを実際に作る
特に実際に作ってみてビュー側は適当に作ればいい感じのものができてとてもよい練習になるのでは、と思っています。ここでやり切る力が欲しい。。。AI使ってやろうかな。
まとめ
楽勝!とまではいきませんでしたし、僕にとってはなかなかハードな試験でした。時間も長いですしね。受かってよかったです。これで次のことに取り組めます。
あー健康になりたい。