
業務システムエンジニア歴4年のブログ管理人です
今回は自分が今まで勉強してきたこと、周りの人(私よりさらに先輩の歴戦のエンジニアたち)からオススメされて読んだ本など全てひっくるめて紹介していこうと思います。
本当はエンジニアとして会話能力だったり説明能力だったりの磨き方とかも書けたらいいんですけど、未だに自分の会話能力に自信が持てないので今回は省略で。
目次
プログラミング以前のお話

まずプログラマーって何をしてるか知ってる?
プログラマーでもSEでもそうなんですけど、この仕事って実はプログラミングしている時間ってものすごく少ないです。
プログラミングにかけた時間の2倍以上の時間をテストだったり、資料作成に費やしています。
ということでですね、資料作成の能力って就職にあたって重要視はされてないんですけど実務ではこれが苦手だと詰みます。
例えばExcelでサラッと条件付き書式ができたりとかショートカットキーがサラッと使えたりとかが1年目で得意だと

この新人……できる。
となります。
ぶっちゃけプログラミング完ぺきです!よりもテスト得意です!資料作成任せてください!くらいの方が新人としては重宝されるかもしれない。
わたしがよく使っているショートカットキーについてはコチラにまとめています。

とりあえず実行して実行して実行しまくれ!
エンジニアとして一番最初に必要になってくるのは実装するプログラムの処理の流れがイメージできることです。
テストするにも処理の流れが理解できないとどういう箇所をテストすればいいのか理解できないはずです。
というわけで、プログラミングの能力を上げるためにプログラミング初心者のときに一番したことは競技プログラミングです。
気のすむまで実行して、そしてさらに他の人のコードを見比べます。
他の人のコード見比べていいとこどりをするのが正直一番自分のプログラミング能力をあげられます。
自分にとって読みやすいな、綺麗だな、と思うコードを選んでいいとこどりしましょう!
サイトによっては就職に役に立ったりするので、これからエンジニアを目指したいという人や、転職しようか悩んでいる人にもおすすめです。
競技プログラミングのサイト
yukicoder

のんびり自分のペースで競技プログラミングに挑戦してみたい方はこちらがオススメ。
初心者でも解ける問題がたくさんあります。
AtCoder

ちょっと慣れてきたなーっていう方はこちらのサイトを。
毎週土曜日夜9時からコンテストが行われます。
こちらのコンテストの正答数でサイト内のランクが上げ下げします。
このレーティングシステムででなんと求人にも応募できるので、転職などを考えている人にもオススメです。
リファクタリングの本
コチラの本は綺麗なコードを書くための教科書的な存在です。
現場の人が「リファクタリング失敗」とよく話していて

リファクタリングってなんだろう?
って思って調べたのがきっかけです。
他のサイトでもむちゃくちゃ紹介されている有名な本になります。
そもそもリファクタリングの本ってそんなに存在していないんですけど。
「他の人にも読みやすい」「メンテナンスがしやすい」コードとはどういうものか、ということがこちらの本から学べます。
本はjavascriptでサンプルコードが書かれています。

javascript書いたことも読んだこともないときにこの本を読んでいたんですけど、javascriptを知らなくても読めました。
javascriptの知識よりも、クラス化のイメージを掴めているかどうかでこの本の読みやすさが変わってくると思います。
リファクタリングっていうと「既存のコードを同じ処理のまま綺麗にする」という作業のことなんですけど、これって実は新規システムだとしても必要になってくる知識になってきます。

新規なのにアカン作りされているシステムなんてたくさんあるからね……。
データ分析の本
こちらは先輩エンジニアからオススメされた本です。
業務システム的な「データをどう加工するか」という業務システム的なINとOUTの流れに沿ってプログラミングの問題を解いていくという本になっています。
Pythonがメインの本なので人工知能のようなビックデータ解析もしてみたい!という人の事前学習にもオススメです。
Pythonと言えば!な画像解析の問題もあったりして面白いです。
エンジニアで持っている人が多い資格
正直、業務システムエンジニアは資格がなくてもなれます。
ただ、「もし資格を持っているいれば資格手当を出します!」という会社も多いです。
取れそうであればぜひチャレンジしてみてはいかがでしょう。
とりあえず持っている人が多い資格
とりあえず持っている人が多い、基本情報技術者試験と応用情報技術者試験をご紹介します。
両方ともネットで検索すると過去問が出てくるのでどんな問題が出題されているか見てから受検するかどうかも決められますよ。
基本情報技術者試験
エンジニアの資格としては最低ラインの資格。
これより下にITパスポートがありますが、ITパスポートはエンジニアで持っていても旨みがないので取らない方がよいです。(事務職であればITパスポートも充分すごいライン)
令和2年の試験から、試験センターでパソコンを使ったテストに変更されました。
受検日も指定できるようになったので受験しやすくなったのではないかなと思います。
応用情報技術者試験
基本情報技術者より1ランク高い試験となります。
情報技術者試験とはいっても、プログラミングの読み書きやアルゴリズムについての知識が全くなくても受かる可能性のある謎試験になります。

プログラミングが苦手な人は応用情報技術者試験から挑戦してもいいかもしれないね。
応用情報技術者試験に受かると、2年間高度情報技術者試験の午前Iが免除になるので受験勉強が止められなくなります。

午前I免除といってもまだ他に3つの試験を合格しないといけないんだけど。

無理……。
最後に
「業務システムのエンジニア1年目に勉強すべきだったこと」とタイトルには書きましたが、この記事で書いた内容を極めようと思っても1年では到底完ぺきにはできないです。
結局わたしもまだこの記事に書いた内容についても勉強中なことはたくさんあります。

エンジニアって時代の移り変わりが激しいから一生勉強だね。

が、頑張ります。
やったことがやった時間だけ得意に変わる(と信じるしかない)世界です。
明日の自分の糧になると信じて、頑張っていきましょう!