SIerでエンジニアとして27年。聞きたいことある？ vol1

## コラム記事

### 文系からでもエンジニアになれる？

自分が所属しているのはSIerですが、毎年新入社員が入社してきます。文系出身者もたくさん採用しています。文系出身者が技術職に配属されることも珍しくはありません。

しかし、どちらかといえば、文系出身者は営業職、理系出身者は技術職に配属されることが多いようです。新卒採用は当たり前ですがポテンシャル採用になります。基本的に自前で育てるといったスタンスです。

文系出身者でもエンジニアになりたければ、全然採用されます。文系であれば、授業でプログラミングを学ぶことはないかと思いますが、それでも入社する分には全然大丈夫です。

Excel、Wordくらいは授業でやるかも分かりませんが、会社に入ってから困らないように、それくらいは最低触れるようになっておいた方がいいでしょう。

ちなみにですが、自分が新卒で入社したのは今から25年近く前になりますが、その当時はExcelもWordもありませんでした。所属していたサークルで、一太郎というワープロを少し触ったことがある程度でした。

入社当初は富士通が出していたオアシスといったワープロ専用機を使っていました。Excel、Wordは入社してから３年経過したときに始めて触り出しました。そんなもんです。そんな時代でした。

理系であったため、授業ではUNIXを使っており、LaTexを触っていました。しかし、会社に入ってから使うことはありませんでした。そんなもんです。

### エンジニアになるには情報系の学科に行った方がいい？

情報系の学科に行くのが一番の近道になることは間違いないでしょう。理系の中でも、情報系の学科は、他の建築、土木、電気、機械などの学科と比べると、どちらかといえば、潰しが効かない学科といった印象があります。

ひと昔は理系というだけで就職に有利と言われた時代があったようですが、情報系の学科は、限りなく文系に近い理系といった位置づけになります。

SIerではたいてい、エンジニアは文理問わずに幅広く採用しています。しかし、どちらかといえば情報系の学生の方が、採用率はやや高い傾向にあるように思います。情報系の学生しかいらないといったようなことはしていません。

### 情報系の学科で学んだことは役に立つ？

基本的に大学で学んだことは社会に出ても役に立たないものです。情報系の学科においても例外ではありません。

そもそも大学は社会で役立つことを学ぶ場ではありません。その役割を果たしているはどちらかといえば専門学校です。大学はアカデミックな場です。基本的に教員が研究をする場所です。学部生に勉強を教えることがメインではないのです。これはどちらかといえばサブです。メインは研究です。

意識の高い人は、そのことにいち早く気づき、大学の授業とは別に、スクールに通ったり、独学で勉強し出したりしています。だが、恐らく少数派でしょう。

社会人になったら否をなしに勉強をせざるを得なくなります。学生の時間が潤沢にあるうちに、少しでも勉強をやり始めておく方が賢明ではあります。しかし、折角大学生になったのだから、勉強一辺倒になるのではなく、遊びやバイト、サークル活動など、大学生のときにしかできないこともたくさんあります。まずは、色々な人生経験を積んで、悔いを残さないように学生生活を謳歌してくださいと、自分からは思います。

### エンジニアになるには大学がいい？専門学校がいい？

自分は大学に行きました。行ってよかったと思っています。何が良かったかといえば、社会では役に立つことはないが、アカデミックな高いレベルのことを学ぶことで、視野が広まったことは良かったんじゃないかと思っています。絶対的に大学の方がいいかと言われれば、なんとも言われません。人それぞれ、個人の価値観がありますので。

社会人になってから感じたことは、専門学校を出た人の方が、即戦力になっているということです。専門学校ではわりと実践に近いことを学んできているんだなといった印象を受けました。社会人になってから、最初の１～３年のスパンで考えると、専門学校を出た人の方が仕事ができるといった印象になります。しかし、その後も人生は長く続きます。何よりも大事なのは、社会人になってからの独学です。

### 大学院は行った方がいい？

自分は院には行きませんでした。行った方が良かったのかどうかは分かりませんが、個人的な意見ですが、情報系の院にはあまり行くメリットはないように思います。情報系の学科は限りなく文系に近い理系です。院に行ったからと言って就職に有利になるといった話は聞きません。

ただし、難関大学に行って大企業に就職するような場合は、有利になる場合はあるかも分かりません。学生の時にバイトで知り合った京大生が言っていましたが、理学部ではほぼ100%に近い人が院に行き、工学部では90%近くの人が院に行くと言っていました。

それなりの目標を持っていて、アカデミックな世界で生きていきたいといった思いがある人は行ってもいいでしょう。しかし、エンジニアを目指すのであれば、院に行くことが絶対的に有利に働くといったことはあまりないように思います。

コアな研究をしたい人は、行ったら行ったで、スキルアップに繋がることもあるでしょう。しかし、受け身な人、つまり、教えてもらいに行くといった感覚がある人は、そのまま２年間、流される可能性が高いように思います。

院で２年間を過ごすよりも、そこそこレベルが高くて評判のいいスクールに通うか、独学する方が、実務スキルは間違いなく向上します。

しかし、若いうちの単なる２年間です。その後の人生は長いものです。若い内にスキルを身に付けたとしても、モダンなスキルは移り変わっていくものです。また、一度社会に出てみると、自分が目指すべき方向性、高めるべきスキルが明確になってくる場合があります。

院にいきたければ、社会人を経験してからでも、なんら遅くはないかとは思います。ただ、社会に出てから院に行くことは、結構な勇気と思いきりが必要にはなってきます。

### エンジニアに数学は必要？

情報学と数学とは割と結びつきが強いものです。自分が大学で専攻していたのは数理情報という分野で、いわば、情報学と数学科の中間の位置づけにある分野です。情報学を学びつつ、理学部数学科が学ぶような高度な数学も学ぶといった学科でした。情報学と数学の両方を学んだ身から言わせてもらうと、エンジニアに数学の知識はあまり必要とは言えません。

数学の知識は不要だとしても、エンジニアに数学的なセンスは必要かといえば、それほど必要でもないんじゃないかと思っています。高校で数学が不得意だった人は、エンジニアには向かないのかと言われれば、そんなことはないと言えます。

職場には文系出身のエンジニアもたくさんいます。割合から言えば、理系出身者の方が多いし、理系出身のエンジニアの方が、優秀なエンジニアが多いといった印象はあります。しかし、一般世間的には文系出身者の優秀なエンジニアも多くいてます。

プログラミングに必要なセンスは数学的なセンスよりも、むしろ国語的なセンスなんじゃないかと思っています。プログラミング言語というように、プログラムは言語です。英語や国語と同じように言語です。むしろ、現代文に必要な論理的な読解力がプログラミングでは役に立つのではないかと思うほどです。

あえて、数学的なセンスが役立っているのかなと感じることがあるとすれば、大学受験のときに、数学的帰納法のような証明問題を勉強していたことでしょうか。プログラミングをしているとき、なんとなく、長ったらしい証明問題をたらたらと解いているときの感覚に近いかなと感じることがあります。自分だけでしょうか？

### 学生のときは何の言語を学ぶべき？

自分が学生のときはC言語を主に学習していました。そのときは、あまり、C言語の面白さを感じることはありませんでした。それから20年近く経ってた後、Ruby、JavaScriptと出会いました。

ある人が言っていました。「C言語なんかまったく面白くない。C言語で挫折したが、OSS系の言語に出会って、始めてプログラミングの面白さを知った」と。自分もわりとこの意見には同感します。C言語は初学者には確かに難しいです。C言語を最初に勉強することで、他の言語が易しく感じられるようになるといったメリットは確かにあるでしょう。しかし、そこで挫折してしまって、折角のプログラミングの面白さを体験することなく、別の道に行ってしまうといった残念な結果をもたらす可能性もあります。

今の時代、意識の高い人であれば、在学中に独学で、Pythonなり、JavaScriptなりを勉強しているようです。更に意識が高い人だと、在学中に様々なコンテストに参加している人もいるようです。昨年、母校の学園祭で話をしたある学生によると、有志で週に２回程集まって、コンテストに向けて勉強をしているそうです。コンテストへの参加をモチベーションにすると確かに、スキル上達に繋がりそうです。

### エンジニアに男女間で違いはあるか？

エンジニアの男女比率は男性の方が圧倒的に多いでしょう。自分が学生だった頃は、理系の学部に所属する男女の割合は男性の方が圧倒的に多かったです。８割位が男性だったと思います。今もその傾向は変わらないでしょう。それでも、情報系の学科は他の機械、電子などの学科と比べると比較的女性の割合はまだ高い方でした。会社でも女性のエンジニアは少なからずいてます。しかし、会社においても女性の割合は少ない方です。

男性と女性のどちらがエンジニアとして優秀かと言われれば、自分が見た限りでは、どっちとも言えないといったところです。しかし、ひとつ言えることは、男性よりも女性の方が仕事の仕方は丁寧です。男性は慨して、雑、アバウトです。

この男女間の気質の違いはコードを見ても顕著に表れてきます。女性のエンジニアが書いたコードの方が、綺麗で見やすく丁寧です。人の性格というのは割ともろにコードに表れるものです。日頃、整理整頓ができている人は、きれいにコードを書くし、気質が荒い人はコードも荒かったりするといった一定の傾向はあるように思います。そういう意味では女性の方が優秀かなと感じることがあります。

技術習得に貪欲さがあるのはどちらかと言えば、女性よりも男性かなと思います。ギークなまでに貪欲に技術を追求する気質を持った女性は個人的にはあまり見かけたことはありません。女性はある一定のスキルにまで達したら、割とそこで満足してしまう傾向があるのかもしれません。