最近、わさびと山椒にはまっているアラサーです
今回はSE歴3年目の私が Java Gold を取得した経緯と現場で活かせた点について伝えたいと思います。
資格取得は、SE経験年数が浅い人ほど大切だと思っています。
その理由は主に3つ!
自身が理解できてない範囲を芋づる式に具体的に把握できるから
実践に必要な知識を体系的に取得できるから
現場の生産性がぐっと上がるから
これからJava Goldの取得を考えている人は、
既にJava Silver を取得しているため、製造の中で進行の妨げになるような困難にぶつかることは少ないと思います。
ただ、バグの少ないシステムを製造するにあたり、Java Goldの内容を取得しておくことは
実務で頻繁に利用する機能や技術もあれば、フレームワーク等が代わりにやってくれるために直接利用することがない機能、さらにそれを支える基盤的技術に至るまでの多様な知識を習得することになります。
全てを理解してこその製造であり、
バグのでないプログラムになると思います。
(なんとなく製造している人は、バグの発見に気づくのが遅いです)
これからもJavaを現場で使うならば、
取得しておいて損はない資格です。
私が実際に、現場で活きたJava Goldの知識と経験の一部を残します!
ストリームAPI
今までコレクションをfor文で行っていた処理をより簡潔かつ正確に処理してくれる強力な概念です。
これを知っていると知らないとでは、処理の速さが段違いです。
コーディングのステップ数も少なくて済みます。
知っておくと自身の武器になる知識です。
ちょっとでも気になった方はネットでストリームの世界を検索してみてください。
※ただしこれは、ストリームAPIを実際に先輩SEが使用しているかに左右されます。
Java Goldを勉強していない人はストリームAPIを使用しない人が多いです。
現場で使われていないコーディングはCDIしにくいので、
現場にあったコーディングを第一に心がけた方が無難です。
アノテーション
フレームワークを使用していると、メソッド宣言や定数の上に
@Entity
@NotNull
@Autowired
とかみたことないですか?
これ、なんとなく「自動でクラスをnewしてくれるんだろうな」
「nullチェックをしてくれるんだろうな」
とか製造しているなかで使い方が分かってきます。
でも実際にどういう仕組みでnewされるのかとか、値のチェックするのかとか知っていますか?
たまに現場では注釈パラメータを渡すタイプの独自アノテーションを使ってる場合もあります。
どうやって独自アノテーションを作るのか、アノテーションが付与されることでその付与されたフィールドがどのような動きをするのか、知っていないと製造できないですよね?
「先輩に聞けばいいじゃん」と思うかもしれません。
質問自体は悪ではありませんが、現場によっては毎度質問していてはチームの生産性が下がることもあります。アノテーションの定義の仕方など最低限のことはプログラマーとして押さえておきたいところです
アノテーションの世界を知っておくと、フレームワークをより効果的に使いこなすことが出来るようになりました。何より、バグの発見がかなり早くなりました。
Java SEアプリケーションにおけるセキュアコーディング
今まで私はセキュリティについて、恥ずかしながらそこまで深く考えてコーディングしていませんでした。(なぜならば、何をどこで勉強すればよいか分からなかったから...)
しかし、Javaのセキュアコーディングの規則を知ることで、今現場が扱っているシステムがどのような防衛策をとっていてコーディングでどこに気を付けなければならないのかが分かるようになります。
セキュリティは必ず意識しなければなりませんが、今回で現場のシステムでセキュリティ規範に外れそうな部位はリーダーに確認をとる癖がつきました!
ここまで読んでくださった貴方、
少しでも Java Gold の知識に興味をもってくださったら嬉しいです!
先輩に聞く、ネットで調べることも良きことですが、
自分で体系的に理解した上でそれでも分からないことを現場の先輩に聞くことはもっと良きです!!
資格を取得してもしなくても、手元に置いておきたい一冊です。
解説が深くJavaの歴史的背景も理解しながら新しいJavaの世界が知れる最強の教本なので、読むだけでも今のスキルに貢献してくれるのではと思います
最後に....
Java Goldは現場で活きます!
学んだことをこれからも現場でアウトプットしていきたいと思います!