2018/02/12更新

文系学生もITエンジニアへ就職する時代!在学中に身に付けたい思考法とプログラム言語

IT企業への就活を考えている方は、どのような準備をしておけば良いのか不安なことと思います。もし既にIT企業への就職が決まっていたとしても、「文系出身だから何から手をつけて良いのかわからないー。」という方もいらっしゃるでしょう。そこで今回は、IT企業への就職を考えている方に向けて、在学中に勉強しておくと得をする知識について解説いたします。

大学で専攻していなくても大丈夫?

文系でも技術者になれる?

法学部や経済学部など、文系出身の方がIT企業への就職を考える時は、とても不安でしょう。情報工学はおろか、理系でさえないのに果たしてIT企業で技術者として務まるかどうか、入社するまでは心配になって当然だと思います。結論から申し上げますと、文系出身でも全然問題ありません。もちろん、情報工学を専攻している人と比べると最初は大変かもしれませんが、入社してからの努力で追いつくことは可能です。実際、文系出身の優秀なプログラマやシステムエンジニアを何人も見てきました。実は、これには理由があるのです。

求められるのは情報収集への姿勢と思考法

IT業界で必要な知識は日進月歩で、どんどん変わっていきます。4年も経てば陳腐化する知識がたくさんあります。ですので、仮に大学で情報工学を専攻してコンピュータシステムについて学んだとしても、その知識が現場で役に立つのは卒業して数年の間だけです。逆に情報工学を専攻したからと油断していると、気がつけば周りについていけなくなります。
また、業務で開発をしていくときに必要なのは論理的な思考能力です。コンピュータやシステムはプログラムに書かれたこと(アルゴリズムなど)を順々に処理していきます。その処理は理路整然となっていなければエラーで止まってしまいます。目的を達成するために何が必要なのかを考える力が論理的な思考能力です。
IT業界で働くために必要な要素は、常に知識や情報を吸収し続けていく姿勢と、論理的な思考能力です。情報工学を専攻していなくても、情報収集する力と論理的な思考ができるなら心配しなくても大丈夫です。

事前に準備をしておくと良いこと

それでは、IT企業を志望する上で準備をしておくべきことは無いのでしょうか?いえ、そんなことはありません。入社してしばらくの間は入社前に身に付けた知識で戦わなければなりません。事前勉強をしているのとしていないのとでは、入社直後の負担が格段に違います。もちろん、選考の過程でも、知っているかいないかでは、雲泥の差です。それでは、何を事前に準備しておけばよいのでしょうか。いくつかおすすめをご紹介します。

ブラインドタッチ

最近はスマートフォンがパソコンに代わって代表的なITツールになりました。この影響で、意外とブラインドタッチができない人が増えています。ブラインドタッチとは手元を見ずにキーボードを素早く打つことです。これができないと、いずれIT企業で仕事をするのは苦痛になるでしょうし、会得すれば就活中のPC作業も効率化できます。プログラミングはもちろん、各種ドキュメント作成もすべてパソコンで行います。一日のほとんどの時間をパソコンを前に過ごすので、タイピングが遅いだけでストレスになります。ちなみに、日本語入力の方法には「かな入力」と「ローマ字入力」の2種類がありますが、IT企業を目指すなら、必ずローマ字入力を習得しましょう。プログラミングでは英語表記を入力しますので、かな入力を覚えても無駄になるからです。

コンピュータの仕組みと歴史

コンピュータの仕組みや歴史の知識は、プログラミングを行う上で必須ではありません。しかし、新しい技術を習得していく上では知っておいたほうが知識に深みがでます。今の技術や新しい技術は、コンピュータの仕組みやこれまでの歴史を背景に成り立っています。これを知らないと、技術を学ぶときになぜそうなっているのかが理解できません。

たとえば、コンピュータの仕組みには、ハード面とソフト面のふたつがあります。ハード面はCPUやメモリ、ストレージなどについての知識です。ソフト面はOS(オペレーティングシステム)の仕組みや、API(Application Programming Interface)などについての知識です。コンピュータの歴史は汎用機時代から現在に至るまでのハード・ソフトの技術進化を知っておくと良いでしょう。実は、新入社員研修では意外とこうした基礎的なことは教えてくれません。コンピュータの仕組みも、歴史も、インターネットで検索すれば情報は豊富にあります。

代表的なアルゴリズム

アルゴリズムとは、「問題解決のための手順」という意味です。定番のアルゴリズムを学んでおくのは、論理的な思考を育てるという意味で重要です。具体的には、以下のアルゴリズムについて、勉強しておきましょう。

  • ソート(並び替え)アルゴリズム:バブルソートなど
  • サーチ(検索)アルゴリズム:二分探索など

これらの定番アルゴリズムを実際にプログラミングすることはまずありません。既にプログラミング言語に組み込まれて、呼び出すだけで使えるようになっているからです。しかし、知っておくとこれらを応用して、自分が解決したい課題に適したアルゴリズムを考えられる可能性が高くなります。

システムとWebの違い

システムとWebをごちゃまぜにしている人が散見されますので、整理してみましょう。「システム」という言葉は非常に広い意味を持ちますが、IT業界では「コンピュータシステム」を指します。「コンピュータシステム」とは「コンピュータを使ってユーザが抱える課題を解決する仕組み」という意味です。アプリケーションとシステムの違いも漠然としていると思いますので解説します。アプリケーションはコンピュータの上で動くプログラム“だけ”を指す言葉です。一方、システムはコンピュータ上で動くプログラム“を含む”仕組み全体を指します。

一方Webは、インターネットの別称です。正しくはWorld Wide Webと言います。InternetExplorerやGoogle ChromeなどのWebブラウザでいろんなサイトを見ることができますが、その基盤となっているのがWebです。Webを利用したシステムは、たとえばAmazonなどの通販サイトが分かりやすいでしょう。

一例としてローソンのLoppiを挙げましょう。Loppiでは商品の購入やチケットの予約をすることができます。
Loppiでチケットを購入する場合、

  1. インターネットから申込を行う
  2. Loppiを操作する
  3. Loppiから出力された申込券をレジに持っていく

という流れになります。
この時、Webの技術を使っているのが1.のインターネットからの申込みです。そして「Loppiアプリケーション」というと、2.だけを指します。「Loppiシステム」というと、1.~3.のすべてを指します。

この根底的な違いを理解するのがIT業界における企業選びへの第一歩と言えます。

勉強しておくと得するプログラム言語

事前に勉強しておくと良いことに挙げていませんでしたが、プログラム言語も事前に勉強しておくと、また視野が広がるでしょう。とは言っても、プログラム言語の種類は非常に多く、どれを学べばよいのかわからないかと思います。もしどの言語を学べば良いか迷う時は、行きたい企業別にこちらの2種類のどちらかを勉強しておきましょう。

まず、前提としてこれからご紹介する2つのプログラミング言語に共通するおすすめの理由です。

  • メジャーな言語なので、新入社員研修で使われる可能性が高い
  • 開発環境がすべて無料で入手できる
  • 入門書もたくさん出版されており、インターネット上に情報も多いので独学しやすい
  • オブジェクト指向言語である

それでは行きたい企業別におすすめのプログラミング言語をご紹介します。
SIerなど業務システムであったり大規模システムを開発しているような企業を目指している場合にはJava、スタートアップなどWebサービスを開発しているような企業を目指している場合にはRubyがおすすめです。
開発するシステムやサービスに合わせて適切なプログラミング言語が選ばれているのですが、JavaとRubyがそれぞれの企業で選ばれることも多く、これらの言語を勉強しておけば他のプログラミング言語にも入りやすいです。

まとめ

今回は、在学中に勉強しておくと得をする知識について解説してきました。IT業界で働くために必要なのは、論理的な思考力と、常に勉強し続ける姿勢です。ですので、文系出身者でも十分活躍できます。在学中にブラインドタッチ、コンピュータの仕組みや歴史、代表的なアルゴリズムを勉強しておけば、選考にも有利に働くでしょうし、入社後にも得をします。また、プログラム言語はJavaかRubyを行きたい企業に合わせて勉強しておくことをおすすめします。
ぜひ、参考にしてみてください。

image byFreepikによるデザイン