こんにちは、ともです。
この度Oracle Java Gold SE11に合格しました。どのように勉強したかや、私がどのようなJavaの経験値で受験したかなど、ダラダラ記載したいと思います。
<2021/04/01追記>Oracle Java Silverに合格した
なぜ受けようと思ったか
私は現在社会人2年目、もうすぐ3年目になろうかという所です。私の入社してからの経験を書くと以下のような感じです。
- 1年目(前半);Java研修
- 1年目(後半)〜2年目(前半);Javaで社内FW設計・製造・UT
- 2年目(後半)〜現在;開発推進(協力会社の開発支援)Javaでツールを作ったり。
のような感じです。Javaと共にこの2年はやってきました。若干転職なども頭の片隅にあるので、形に残るように私のJava力を示す物が欲しくなってきて受験しようと思いました。勉強にもなりますし。
私のJava経験値
2年間の実務経験と言って良いかは分かりませんが、2年間Javaを書いてました。流石に基本的な文法はいちいち調べなくても分かります。
またStreamも日常的に一々調べずに書きます。よくOOPの設計に関する本とかはありますが、関数型のエッセンスで設計するみたいな本があれば読みたい。雰囲気で関数型は書いてます。Supplierは未だに使う場面が分かってない。そんなレベル感です。
JavaでFWの開発をしていたので、本当にただのJavaSEの機能のみで開発をしていました。おかげでJavaの基礎力はついたと思います。逆にJavaEEやSpringなどの知識は研修でやったことある程度です。
脱線しますが、FWの勉強ってAPIを覚えるだけであまり面白くないので勉強する気にならないです。それよりかは自分でツールを作ったりする方が余程勉強になると思っています。
勉強量
最近Oracle Java Gold SE 11の問題集が発売されました。Silverは書籍が出てましたがやっとGoldが出ましたので、これを気に勉強をはじめました。
この本を1周しました。そして前日に問題をもう一回とき直しました。あんまり資格の為だけに勉強するのは好きじゃないので最低限の努力での合格を目指しました。結果80%ぐらいの得点で合格しました。
今後は何を勉強するか(Java関係)
Javaで開発する自走力は着いたと思います。今後はGradleとGroovyとJenkinsを自分の物にしたいと思っています。会社ではJavaでツールを作っているので、Jenkinsからそのツールを日々実行できるようにして作業を自動化したいと思っています。
あとはアルゴリズムとデータ構造をもうちょっと真面目に勉強したいです。いいプログラムを書く人は適切なアルゴリズムとデータ構造を選択するって偉い人が言ってました。そのために週末は競技プログラミングをやってます。Javaで競プロやってる人少ないだろうけど。ゲームみたいで楽しい。
今後は何を勉強するか(資格関係)
応用情報技術者試験を合格したので、次はDBスペシャリストを受けたいと思います。
私は経験したことがある物しか頭に入ってこないので、セキュリティやネットワークなど全くやってこなかった物を勉強しても、結果忘れるだけだと思いました。
一方データベースはアプリケーションからアクセスしたりもしますし身近です。トランザクションの管理や復旧、SQLについてもしっかり知っていないとアプリケーションもうまく設計できません。
という訳で、DBスペシャリストを勉強しようと思いますが、最近SQLも書いていないということで思い出すためにも、Oracle Masterの資格を間に挟もうかと思っています。
- Oracle Master Silver SQL(5月)
- Oracle Master Silver DBA(8月)
- DBスペシャリスト(10月)
こんな感じで今年は勉強して2021年はDBの年にしたいなと考えています。振り返るとOracleの資格だらけだな。
脱線しますが、2022年はLinuxやシェルの年にしようかなと思っています。LinucとかをLevel3まで取りたいです。あと積読しているシェルプログラミングの本と実践Vimを消化したい。そういう意味では2023年の3月にはある程度形になるのかな。
まとめ
ダラダラとJava Goldをとった話から今後勉強しようと思っていることなどを思いつくままに書きました。今後も勉強を続けていきたいと思います。