【2021年版】駆け出しエンジニア・新人向け!実際の開発で使えるスキル5選(おすすめ書籍付き)

技術ネタ

プログラムが出来るだけじゃダメ!実際に現場で使われうツールも覚えよう

どうも、合同会社Celalinkの代表をやっているヤナイ( @yusuke_celalink )です。

将来システムエンジニアとして仕事をしようと考えてプログラミングスクールへ行ったり、独学で勉強をしている人も多くいらっしゃると思います。
またSES(委託契約)で様々な現場を渡り歩いている人もいると思います。

実はシステム開発というのは言語だけ覚えれば良いわけではないです。
SESですでに外へ出て仕事をしている人はほとんど知っているものでも、学生や転職を目指して勉強している人や新人のエンジニアの方にはまったく知らないものも出てきます。

プログラミング言語に関わらず、近年多くの現場で利用されているものを紹介しておきます。

スポンサーリンク

チャットツール

数年前からチャットツールが当たり前のように導入され、メールはお客様など外部の人としか利用しないという企業も増えてきました。
大手企業だとセキュリティ的にNGと言う所も少し前まで実際にありましたが、近年では開発の現場でプロジェクト間でのやりとりの多くはSlackを始めとしたビジネスチャットを使用しています。

多くの開発現場ではSlackを使っている印象が強いです。
他にもChatWorkやLINE WORKSなどありますが、Slackを触っておけばどれを使っても使い方に困ることはないと思います。
直感的に扱える部分が多いので困ることは無いことは無いと思います。

ゲーム好きの間ではDiscordを使っている人も多いですが、あまり現場でDiscordを使っている所は見たことがないです。
ただ、Discordはゲーム版Slackと説明されるくらいSlackに似ているのでDiscordを普段使っている人は新たにSlackを使用しなくても特に問題はないと思います。

教育現場でもチャットツールがもう少し普及すれば良いんですけどね!
更に一歩進んだ使い方をしたい人はチャットbotについて調べてみると面白いと思います。

ゼロからはじめる Slack 基本&便利技 | オンサイト |本 | 通販 | Amazon

Docker

Dockerについて詳細を書くと長くなってしまうので一言で説明すると、仮想化技術の1つでコンテナと言う単位で環境を簡単に構築していくことができます。
Dockerさえインストールできれば1度作った環境とまったく同じものを簡単に構築できるようになるため、開発でよくある「テスト環境では動くのに本番では動かない」などの環境に依存する問題が無くなります。

もはやDockerを使っていない現場は無いのではないか?と言うくらい使われています。
ゼロからDockerのイメージを作るということは少ないかもしれませんが、少なくともDockerの動かし方やデプロイの仕方は抑えておくと良いでしょう。

DockerのイメージをAWS(Amazon Web Service)上にあるECSへデプロイするというプロジェクトが多いです。
インフラの知識も少し必要になってくるので難易度は高いと思いますが是非挑戦してみましょう。

プログラマのためのDocker教科書 第2版 インフラの基礎知識&コードによる環境構築の自動化 | WINGSプロジェクト 阿佐 志保, 山田 祥寛 |本 | 通販 | Amazon

GitHub

コードのバージョン管理やレビューをするのに使われます。
Githubを代表例としてあげましたが、GitでもGitLabでも何でも良いと思います。

個人利用可能で無料で使えるので勉強の成果をGithubにコミットしていくのも良いと思います。
ポートレートにもなりますし、使い方も学べるので一石二鳥です。

ブラウザ上でGitの動作を学ぶサイトを発見したので、これから勉強する人は利用してみてください。
Learn Git Branching

GitHub実践入門 ~Pull Requestによる開発の変革 (WEB+DB PRESS plus) | 大塚 弘記 |本 | 通販 | Amazon

プロジェクト管理ツール(Redmine/JIRA)

プロジェクト管理ツールでは工数/予算/原価/ワークフローなどの情報を一括で管理してプロジェクトを進めていくために必須のツールです。

いくつかあるプロジェクト管理ツールで主要なところだとRedmineかJIRAになると思います。
私自身はRedmineしか使ったことが無いですね。
使い方はまったく異なってきますが、どちらかを触っておけば機能的な面で困ることは無いでしょう。
勉強するには無料で使えるRedmineを使ってみると良いでしょう。

入門Redmine 第5版 | 前田剛 | 工学 | Kindleストア | Amazon

テストツールに関すること

プログラムの勉強をしていると作ることに関しては熱心に取り組んでいてもテストコードに触ったことが無いと言う人も多いでしょう。
JavaであればJUnit、Pythonならunittest、javascriptやHTMLの画面系のテストならSeleniumなどがあります。

実際の業務ではコードを書いている時間よりもテストに費やす時間が多く存在します。
何度も同じテストを実行できる環境が必要になるためテストツールに関する使い方は学んでおいた方が良いでしょう。

私はJavaの案件が多いのでJenkinsというビルドからデプロイまでを自動化できるツールを使うことが多いです。

改訂第3版Jenkins実践入門 ――ビルド・テスト・デプロイを自動化する技術 (WEB+DB PRESS plus) | 佐藤 聖規, 和田 貴久, 新井 雄介, 米沢 弘樹, 山岸 啓, 岩成 祐樹, 川口 耕介, 佐藤 聖規 |本 | 通販 | Amazon

まとめ

現在エンジニアを目指してがんばっている方は更に覚えることが増えてびっくりしているかもしれませんが、チャットツールやGithubは学習コストは全然無いので普段の習慣の1つに組み込めば特に問題はないと思います。

例えば、私はチャットツールを一人で利用していて調べた情報とかとりあえずSlackに投げておいて後でまとめるといった使い方をしますし、勉強用のコードはGithubの自分のリポジトリにアップしています。
誰かに見られないようにプライベートの設定をすることもできるのでおすすめです。

プロジェクト管理は最初はイメージしにくいかもしれませんね。
こちらは「知っていれば尚良し」というものですが、可能であれば「プログラムの学習」をひとつのプロジェクトと見立てて、スケジュールを作ったり、目標などをRedmine上で設定して更新していくと将来エンジニアになるために面接した時には良い印象を与えるのは間違いないでしょう。

Dockerやテストツールに関しては使いながら慣れるしかないと思います。
プログラムと同じで動かしながらどうすれば動くかを身につけて行くしかないと思います。

駆け出しの頃は色々と吸収しなくてはいけないことが多いですが諦めずに頑張っていきましょう!
(私自身も深く理解できていない点も多いので一緒に頑張ります!)

それではまた!

この記事が気に入ったらいいねをよろしくお願いします
技術ネタ
スポンサーリンク
yusukeをフォローする
とりあえず社長でもやってみますか

コメント

タイトルとURLをコピーしました