たなさんブログ

たなさんの人生から得られたものを全力でシェア

プログラミングだけじゃダメ!未経験エンジニアが学ぶべき10のスキル

こんにちは。

 

これからエンジニアに転職したい!!ということで、まずやることは、プログラミング学習だと思います。プロゲートやpaizaなどの学習サイトを使って毎日プログラミンの勉強をされていることだと思います。しかし、実際にエンジニアとして働くというときには、プログラミングの能力だけではいけません。むしろ、もっと大事なことを学ぶ必要があります。このブログではそんなスキルを10個ご紹介します。

 

 

1. Linuxとコマンド

1つ目はLinuxとコマンドです。

Linuxというは、OSの一つで開発現場では必ずと言っていいほど使用されているOSです。このLinuxというのは、CLIコマンドラインインターフェース)で操作をします。

普段一般の方が使用するパソコンのOSはWindowsとかMacだと思います。そして、それらは、グラフィカルな画面をマウスでぽちぽちして使いますよね。このような環境を、GUI(グラフィカルユーザインターフェース)と言います。開発やサーバの保守運用をするような現場では、前者のCLIにて作業を行うことがほとんどです。そしてそのCLIで作業をするのに最適なOSがLinuxという訳です。もう少し、Linuxに関する詳しい説明は、また別のブログで紹介したいと思います。じゃあ、コマンドは何かというと、LinuxCLIで作業をするときに使う、おまじないです。例えば、「cat file.txt」って打つと、file.txtの中身が表示されたり、ifconfigって打つと、自分のパソコンのIPアドレスが表示されたり・・・。コマンドのちゃんとした解説もまた別途書きます。この、Linuxとかコマンドの知識も必要になってくるのでプログラミングとセットで勉強しましょう。

 

2.Git

 

Gitも大事です。私はGitを全然やっていなくて、Gitを理解するのに苦労しました。

しかしGitがわかると、プログラミングがもっと楽しくなります。自分で書いたコードやツールを公開したい!!いい感じのドキュメントも書いて公開したい!!ってなります。あ、もちろん仕事上も必須です。

Gitというのは、ソースコードを管理する為の仕組みです。まずは、よくわからなくてもいいので、自分で頑張ってgithubにアカウントを作って見て、色々いじって見てください。Gitというのは、仕組みと言いました。仕組みってなんやねんって話ですよね。具体的にいうと、コマンドだと思って頂いて良いです。git addとかgit commit とか他にも色々ありますが、Gitとは、このコマンド達であり、また、Gitという概念でもあります。一方でgithubとかgitlabというのは、そのGitという仕組みを使って、ネットワーク上に、保存できるデータベース(リポジトリ)を提供しているサービスです。詳細はこちらでは割愛しますが、Gitもプロゲートやドットインストールなどで学べるので是非やってみてください。

 

3.ネットワークの基礎

ネットワークとは、切っても切り離せないと言っても過言ではないかもしれません。

なぜなら、頑張って書いたコード、修正したコード、もインターネットを通して誰かが利用します。いや、それだけではありません。社内で、開発をしたり検証をするのも、自分のローカルのPCというわけではなく、検証用のサーバにリモートでssh接続して、行うことになると思います。なので、インフラエンジニアでないとして、最低限のネットワークの知識は必須なのです。職場の環境にもよると思いますが、私が経験した、大手SIerの場合、サーバの数、ホストの数、IPの数、インターフェースの数、ルータやらなんやらの数は、膨大でした。エラーの原因を知りたいってなって、ログを見に行くのも、どこのどのサーバなのか、データベースを見に行きたいでも、そこのどのデータベースサーバなのかよくわからない。社内のwikiや過去のチケットを見てもチンプンカンプン。もともと(今でも)ネットワークは苦手意識があったので、勉強はしていたのですが、それでも苦労しました。プログラミングはできるけど、ネットワーク周りがわからなくて、辛いってこともあると思います。CCNAのテキストやYoutubeの動画を見て勉強するのがオススメです。

4.Excel

Excelは必須です。あらゆる場面でExcelは出てきます。

ただ、プログラミングを勉強しているのであれば、関数の使い方は、すぐに習得できるでしょうし、雰囲気だけ掴んで必要な時にググって、やりたいことができるのであれば、それで十分かなと思います。Excelの機能のあれこれを片っ端から記憶する必要はないと思います。基礎的なところはさらっと、勉強して見ることをお勧めします。

 

VBAを書ける必要があるかという点についてですが、これも、外観を掴む程度でいいかなと思います。なぜかというと、エンジニアがVBAで何かを開発するということは、基本ないですし、VBAも言ってしまえば、言語な訳です。言語というのは、一つ何かできれば、言語が変わっても、ある程度わかるものです。なので、例えばあなたが、Pythonをある程度書けるのであれば、VBAその都度調べながらできるでしょう。

5.Word

wordもExcel同様ですね。

文の段落が揃っていない、文字サイズ、書体、色、階層構造など、wordは細かいところで、差がつきます。なので、小難しい機能を使えるようなるというよりは、綺麗なドキュメントが作れるように、基礎を身につけましょう。

6.ショートカットキー

これも大事です。

マウスでかちゃかちゃやるのは、かっこ悪いですし、嫌がられます。

何より作業効率が悪いです。ショートカットキーがつけるかどうかで作業効率がかなり変わります。

7.Windows基礎

windowsで操作をすることは多いです。

windowsでの基本的な操作やドライブのマウント方式、ファイルシステム、などは押さえておいたほうが良いでしょう。

8.質問力

ここからは、技術スキルというよりは、社会人共通でもあるかもしれないスキルについてです。まずは質問力。

 

これは超重要です。なぜかというと、IT業界にとびこむと、正直わからないことだらけです。会議で出てくる言葉の8割はわからない。出された指示の意味がわからない。という状況が多々あります。そのようなときに、要点をまとめて、一体自分は何がわからないのか、何がわかったら目の前の問題が解決するのかを、よーく考える必要があります。そしてその上で質問することを絞り込んで、質問をするのです。これが、とても大事です。

 

質問力がない人というのは、何を質問していいかがわからず、質問の意図が不明瞭で相手に何が知りたいのかが伝わりません。親切な上司だと、何が知りたいのかを、深掘りしてくれたり察したりしてくれることもあるかもしれませんが、そのようなことに期待はしないほうがいいでしょう。むしろ、何が言いたいのかわからない人というのは、結構嫌がられます。相手の貴重な時間を消費してしまうことでもありますからね。さらに、そのような、質問すべきことがまとまって居ない状況というのは、せっかく、相手が回答をしてくれても、理解ができないのです。結局問題の解決には至らないのです。

なぜなら、何を知りたいのかが不明瞭なまま、質問をして、得られた回答は、自分の問題を解決してくれるものではないからです。

 

なので、目の前の不明点を並べて俯瞰して、一体どれがわかれば問題は解決するのか。

あるいはどれとどれがわかれば良いのか。あるいは、Aがわかれば必然的にBもわかり、AとBがわかればCは二つの仮説が立てられる。さらにその仮説の先のDという問題の解決は、AとEを知る必要があり・・・・というように、頭の中でツリー構造を描きながら、考えるのです。この場合はAとEがわかれば良いので、まずAを聞いて、その次にEを質問すれば、複数ある不明点がクリアになるはずです。

 

これが質問力です。

9.仮説設定力

仮説設定能力。

例えば、エラーログが出てたとします。このログの原因を突き止めるのに、ただ当てずっぽに調査するのは良くありません。エラーログを読んで、どのようなシナリオがかんがられるのかという仮説を設定します。もちろん仮説は1つとは限りません。

この場合例えばですが、一つ目の仮説として、DBにインサートする際にNULLが入って居たからErrorになったいるのではないか。2つ目の仮説は、アクセス権がなかったからではないか。というように。このように仮説を立てることで、調査する対象を絞ることができます。

この仮説設定はあらゆる場面で必要です。ぜひ癖つけましょう。

10.検索力

エンジニアに最も重要なスキルといってもいいかもしれません。

ググり力ですね。どのようなワードで検索をしたら答えが出るのか、でたサイトの中から、欲しい情報にたどり着く嗅覚というか、センスというものも必要です。センスといってもこれは、努力で身につけることができるものです。日頃から、何かを検索するときは、だらだらと探すのではなく、スピードを意識して、解決するまで根気強く調べる癖をつけると自ずと検索力は身につきます。

 

まとめ

 

以上、未経験エンジニアが学ぶべき10のスキルということでご紹介しました。

プログラミングの勉強や資格の勉強も大切ですが、それだけでは不十分です。むしろ、ここにあげた10項目は必須といっていいくらい大切です。ぜひ、これからエンジニアを目指す方、なりたての方は頑張ってください♪