SIerに新卒で入社し一年間で、特にやってよかったこと

#まえがき
SIerに新卒として入社し、一年が経ちそうです。
ここで、一年間のうちで勉強してきた中で、**やってよかったこと**を振り返りながら紹介します。
今後IT業界に、未経験や新卒で来られる方の参考になればと思います。

- 技術面
- マインド面・その他

上記の構成で、解説していきます。

## 自己紹介
軽く自己紹介しておきます。
学生時代は、理系ですがあまりプログラミングはしなかったです。
プログラミング経験は、Cのみです。
現在は、とある案件でSpringを用いて開発しております。

## 注意事項
あくまでSIerに入社した新卒一年目が、学習した中で
特に勉強した時のリターンや、実務に有効であったものを紹介していきます。
意識の高い人は、業務に関係のないモダンな技術の学習にも取り組んでみてください。

#技術面
## Git
必須の技術です。
バージョン管理を行う際に、用いGitとSVNの二択となるでしょうが
Gitを選択していただくとよいかと思います。

Gitを学習した上で、[GitHub](https://github.co.jp/)や、[Bitbucket](https://bitbucket.org/)などの
Gitホスティングサービスを利用し、学習していくのがよいです。

## JavaScript
私の業務上、モックの作成や製造を行ったのですが、常にJavaScriptは登場します。
そこで勉強をしようと思ったのですが非常に難しく、学習コストは高いですし、
どこから勉強すればいいのかが最初はつかみにくかったです。

本で学ぶと、情報が古かったりなどもあるためJavaScriptに関しては、**適切なサイト**での学習をオススメします。
以下のチュートリアルサイトがわかりやすいため、ここで学習することをオススメします。

###[JavaScript Primer](https://jsprimer.net/) 
> ボリュームも程よく、読みやすい。
> またECMAScript 2015以降をベースにしているためモダンなJavaScriptを学習できます。

###[現代の JavaScript チュートリアル](https://ja.javascript.info/)
> ボリュームが初学者にはかなり多い。
> 深い内容まで解説されているため、サイト内検索で解決することが多い。

### 学習手順
初め、私は後者のサイトで勉強をしていたのですがボリュームも多いため、最初から学習するには厳しかったです。
ですので、まずは、**前者で勉強しつつ、補強したい部分や足りない部分を後者で補う**という使い方がよいです。

## Linux
導入作業でLinuxを触るので私の部署では、必須の技術でした。
私は、入社するまでLinuxを触ったことがありませんでしたが、IT業界に来られる方は、触っておいたほうがいいです。

###学習手順
1. 自宅にCentOSの導入から。会社でサーバを借りれるならそれでも良い。
1. Docker Engineを導入し、何らかのコンテナをデプロイする。
1. (オプション) 本は、[新しいLinuxの教科書](https://www.amazon.co.jp/dp/4797380942/ref=cm_sw_r_tw_dp_U_x_UmmBEbCJSYZ28)がオススメです。Redhat系、Debian系に対応しており良本です。

上記の学習だけでLinuxだけでなく、Dockerの基本まで押えることができます。
Linuxはひたすら触ってコマンドを打ちまくるのがよいです。

## 正規表現
資料作成や、何百、何全件ある似たようなデータをひたすら確認、修正するつまらない作業はよく発生します。
それは正規表現を使うことでカバーできます。
手作業だと、バグやミスの元で時間も無駄にかかるので、使えるようになることをオススメします。

なんとなくのイメージですが、若手は正規表現に弱い人が多い気がします。
正規表現は、同じような作業を繰り返す際に、必須ですので使えると今後が楽に、楽しくなります！

### 学習手順
Qiitaの以下の記事が非常に参考になります。私の正規表現はここから始まりました。
[初心者歓迎！手と目で覚える正規表現入門・その１「さまざまな形式の電話番号を検索しよう」](https://qiita.com/jnchito/items/893c887fbf19e17d3ff9)
[初心者歓迎！手と目で覚える正規表現入門・その２「微妙な違いを許容しつつ置換しよう」](https://qiita.com/jnchito/items/64c3fdc53766ac6f2008)
[初心者歓迎！手と目で覚える正規表現入門・その３「空白文字を自由自在に操ろう」](https://qiita.com/jnchito/items/6f0c885c1c4929092578)
[初心者歓迎！手と目で覚える正規表現入門・その４（最終回）「中級者テクニックをマスターしよう」](https://qiita.com/jnchito/items/b0839f4f4651c29da408)

上記での学習が完了したら、業務内の事務作業やらでアウトプットするとよいです。

# マインド面・その他
## 優秀な先輩を目標にする
配属されてから同期にライバル視をされてきたのですが、
正直なところ同期をライバル視しているようではレベルは低いです。

優秀な先輩を見つけ、その人がやっててすごいな、良いなと思ったところは全て真似て吸収しました。
また、あまりにもすごすぎる先輩に師匠になって色々教えを乞うのもよいです。

ここで大事だと思うことですが、いきなり未知数の新人に「師匠になって」的なことを言われても「う～ん」となります。
ですので、**自分の力や自走力を見せつけるのが大事です。こいつは育てる価値があるな**と思われるような努力をしましょう。

## 事務作業をめんどくさがらない
新人ということで、飲み会の幹事や、議事録作成や電話応対など色々あると思います。
初めは、私もめんどくさいなと思ったこともあるのですが、
逆にずっと製造やテストなどのプロジェクトに携わっているのも疲れるものです。

なので、これら事務作業は**「気晴らしにやるか～！」**と前向きにすると、
気分も楽ですし、周りのメンバーからの目もよくなります。結構ここが重要だと思います。
幹事は、Tポイントが貯まるのでやるの大好きです。

## 外部セミナーに参加する
~~人事主催の研修やセミナーは置いておいて~~外部セミナーに参加してください！
興味のある業務に関係のないセミナーでもよいと思います。
自分にない知識の補填や、モチベーション向上のためにもなりますし、何より気分転換になります。

セミナーは、[TECH PLAY](https://techplay.jp/)やその他、イベント紹介サイトで探すとよいです。

## もっと効率よくできないかを追求する
仕事をしているとものすごく効率の悪い作業が頻繁にあります。
その作業を実際に体験し、嫌気が刺したならそのタイミングで、他の方法を模索してみましょう。
なぜそのタイミングなのかというと、人は慣れてしまうので最初は嫌気が刺していても
我慢できるようになってしまうからです。なので嫌気が刺した瞬間がチャンスです。

ここで大切なのは以下の2点を抑えることです。

> 現在の作業の流れになっている背景
> 効率化を追求する上で、他の問題点はないか。あったとしたらそれは許容できるものか

上司と相談しつつ、プロジェクト以外の業務効率化施策などに取り組むのも技術力向上や、気分転換になり楽しいです。

## 嫌な業務がきたときはマインドチェンジする
私は、テストが嫌いなんですが、仕事なので嫌嫌とも言ってられません。
なのでこういう時は、考え方を変えます。

> この業務をやることで自分は何を得ることができるのか？

こう考え方を変えて取り組むだけで嫌々やるよりも色々な面でよい結果になると思います。
もし、どうしても嫌な業務が来たなら先輩や上司に、該当業務の**目的**でも聞いてみるといいかもしれません。

## Qiitaや本を読む
何の記事、本とは言いませんが、まずは興味のあるものでよいと思います。
私は、毎日Qiitaのトレンドやマイルストーンにあがる記事を空き時間に見ています。
ここで興味を持った分野の本を買って、勉強するのもいいかもしれません。

# 最後に
頭の中をほじくりだせば、まだまだありそうですがとりあえずこんなもんにしておきます。

技術面も大事ですが、それ以外の仕事の取り組み方のほうが重要だと思います。
結局は人と関わるお仕事ですから・・・(私は、技術よりの人間ですが)

皆様から、ご意見や感想などいただければ幸いです。
以上、ありがとうございました。