📦

「なりたい職業1位」から考える、これからITエンジニアを目指すあなたへ

4 min read 1

なりたい職業の1位が「エンジニア職」という衝撃

2021年に実施した高校生向けのアンケートで、なりたい職業の1位が「エンジニア・プログラマー」となったらしい。

https://www.itmedia.co.jp/news/articles/2112/24/news111.html

背景としては、

  • 情報系の授業が増えた結果、ICT教育が盛んになった
  • プログラミング教育が必須化された

などが考えられるでしょう。

文系出身のエンジニアは一定数存在する

おそらく、ここにどっぷり浸かっているような皆様は「まーさかそんな〜」と思っているかもしれませんが、

毎年のように、某社のようなSIerへは、プログラマーを志望する文系学生が一定数現れます。
そのような人たちが数カ月程度で活躍できるかと言われるとそうでもないわけですが、情報系出身者だから活躍できるかと言われるとそうでもありません。

そもそも、「プログラマーの素質」ってなんだろう?

「エンジニア育成」というものに片足を突っ込んではや数年になりましたが、
プログラミングの素養は、あまり学生時代の勉強内容とはリンクしないことをひしひしと感じています。

文系や理系・情報系といった「卒業学科」という大きな括りよりも、「何を勉強してきたか」という方が大きな比重を占めます。

その上で、「エンジニアになるために気をつけたいこととは何か?」について考えてみた。

はじめに:謝辞

この記事内容は、「ITエンジニアを目指したいんだけど大丈夫かなぁ?」と考えている方へのメッセージです。

あくまでも個人の感想によるものであり、特定企業の採用活動には一切関係ありません。

ITエンジニアになりたい君へ送る言葉

その1:学校の授業で充分かと言われるとNO

稀に、学校でJavaやC言語を勉強していても、エンジニアとしての仕事ができない人がいます。
簡単にいうと、言語の知識はあるけど「どう使っていいか」がわからない、応用力が全くない人です。

あまり深くは触れませんが、学校の授業の多くは「暗記ゲー」です。

これは情報系の授業でも同じで、例えば「forの正しい書き方を選べ」とか、「この中からプリミティブ型を選べ」とか、そういった類の問題が多く出題されます。

そうなると、「プログラミング言語」の知識はあるのですが、それをどう使うべきなのかまでは勉強できません。

とはいえ、「アルゴリズム」に関する部分まで包括していたり、実際に演習形式でサービス構築までが含まれる学校も多く、このようなパターンは正直稀です。

まずは自分で考えて作ってみよう

「何か勉強しておいた方がいいですか?」

と学生に聞かれたら、間違いなく

「なんでもいいから自分で考えて作ってみたらいいよ。今ならスマホアプリとかいいんじゃない?」

と答えています。

特にスマホアプリである必要はなくて、WebエンジニアならWordPressを立てて運用するとか、
インフラエンジニアならVPC契約していじくり回すとか方法は色々です。

「まずは自分の力で一つ作ってみる」ができれば、エンジニアのファーストステップとしては必要十分条件を大きく超えています。

ただし、「できなかった」からといって悲観する必要はありません。
「なぜできなかったのか」「何がわからなかったのか」を覚えておきましょう。

先輩社員が優しく教えてくれます。きっと。

その2:勉強はしなくてもいいが自己責任

たまに「家でも勉強した方がいいですか?」と聞かれますが、しなくても良いと思います。
ただし、学習意欲が高い人にはどうがんばっても追いつけません。

同様に、「勉強が苦痛だがなんとか覚えている人」も同様です。

残念ながら、覚えただけでは仕事になりません。
その知識を自分の力にして活用できて初めての「エンジニアリング」です。

「これさえ覚えておけば安泰」という技術はありませんし、この先登場することもないでしょう

あるとしたら、「とりあえず使ってみてなんとかできる」という適用力くらいです。

結局、これを身につけるためには情報収集力と吸収力を普段から養っておく必要があります。

目の前に出され、いきなり10を覚えるのは大変です。
しかし、その10を目の前に出されたとしても、過去の実績をもとに5からスタートすれば労力は半分です。

優秀なシニアエンジニアの多くは、最新技術に触れるときでも、過去の知識から少し横にずらしてうまくショートカットしています。

結局、CPUなんて0と1の世界で動いていることに変わりはないし、
ネットワークなんてTCP/IPさえ知っていればあとはそれの応用です。

若い時は目の前に出された情報だけでなんとか仕事がまわりますが、
自分より若い人に抜かれていくことも余裕で起こりうる業界です。

高校生(15才)の頃からプログラミングを始めていれば、大卒入社の時点でPG歴7〜8年なので3年目くらいはすぐ越せます。

成長の早い人の半数は何かしら自己研鑽しています。
残りの半数は趣味でやってるだけなので勉強しているという自覚がありません。

それをどう考えるかはあなた次第です。

逆に言えば、「好きでやれる」なら何も心配要りませんので安心してください。

趣味の範囲でZennやQiitaといったサイトを巡回しているあなたは十分こっち側の人間です。

その3:数学嫌いは向いてない

高等数学の基礎知識はともかく、関数の概念を知らないとまともに設計なんてできないよ。
クラスの概念が理解できない人の多くは関数のin-outの考えすらまともに理解できていない。

プログラミングとは、ただソースコードを書くだけではなく
「プログラムがどう動くのかを想定してコードを書く」ことが重要です。

確かに、目の前に数学は現れませんが、
プログラムの設計業務は、数学の証明をしていることとそう変わりません。

物事を論理的に考えるのが苦手なのであれば、エンジニア職は向いていないでしょう。

文系・理系で物事を考えるのはやめよう

ちなみに、この話は文系だからダメとかいう話ではなくただの個人差です。

高校数学レベルになるとなんともですが、
「中学の数学が意味わからなくてヤバかった。だから文系行った」
という人はプログラマーに向いていません。

結局のところ、プログラマーの必要なスキルである「論理的思考」のスキルが見えてくるのが「数学」と教科だった、というだけですので安心してください。
いきなり三角関数や行列計算を使うのなんてゲーム業界かロボット分野くらいでしょう。

ただし、AIやFintech、ロボットやNFTといったバズワードが絡む先端技術を扱う場合、数学の知識が必須になります。
コンピュータの裏側が数学で成り立っている以上、裏側では高度が数学知識が張り巡らされているということは認識しておいた方が良いでしょう。

その4:コミュ障でもOKは幻想

人と会話する方が多い職業であり、会話せずに仕事をする日なんて稀です。

会話と言っても、対面とは限りません。

優秀なエンジニアであればSlackなどを用いて文章で会話しますので、
結局何かしらの方法でコミュニケーションを取っています。
(なんなら会話よりテキストの方が高いコミュ力を要求されます)

対面だろうが音声だろうがテキストチャットだろうが、誰かと会話せずには仕事は進みません。

「コミュ障でも大丈夫!」とか言ってる人はよっぽどのコミュ力お化けです。

その人から見れば「低い人がいっぱいいる」のは事実なのですが、その人から見た「コミュ障」は普通の一般人です。
気をつけましょう。

エンジニアの素質ってなんだろう?

以上を含めて、エンジニアとしての「素質」ってなんだろう?と考えてみます。

いかに当てはまるようなら素質があると言えるでしょう。ウェルカムです。

  • モノを作るのが好き
  • 「効率化」と聞くとワクワクする
  • プログラミング言語を道具としか見ていない
  • 「ないなら作ればいいじゃない」

ITに限らず、エンジニア職ならだいたい当てはまるんじゃないでしょうか。

さいごに

「好きこそ物の上手なれ」

という言葉があります。

「好き」であるのがベストですが、「興味がある」というレベルでもじゅうぶんだと思います。

IT系の技術はその辺りに転がってますので、

  • とりあえず拾い食いをする
  • 本を一冊買ってやりきってみる

など色々と方法はあります。

とにかく「まずはやってみる。そこから考える」というのが簡単にできる業界です。

裏を返せば、そのうち「なんで何もやって(勉強して)来なかったの?」と聞かれるようになるかもしれません。

IT業界にいかなくても、今後IT知識はあって当然になると思いますので、「まずは触ってみよう」から始めてみてはどうでしょうか。

Discussion

内容に直接関係ない話ですが「あくまでも個人の感想によるものであり、特定企業の採用活動には一切関係ありません。」のところ、Zenn 独自のメッセージ記法を使うとおしゃれに意図が伝わりやすくなりますよ。

https://zenn.dev/zenn/articles/markdown-guide#zenn-独自の記法
ログインするとコメントできます