見出し画像

ITエンジニア(またはプログラミングを仕事にする人)になるにはどうしたらいいの?

こんにちはK研究員です。
今日はITエンジニアになるにはどうすればいいのという話を書こうと思います。
というのもScratchやマイクラでプログラミング的思考を学ぶというのも大事ですが、一方で職業としてのプログラマーになる方法も伝えていかないとなんかアンフェアだなと思ったからです。

ITエンジニアになるには、すごく簡単に言えば大学に行くのが一番近道です。特に情報学、情報工学などの学部、学科に行くのが一番です。

と、書くとなんだ当り前じゃないかとか、なんかもっとうまい話ないの?とか俺は大学行かなかったけどエンジニアしてるよなんて声が聞こえてきそうです。

もちろんエンジニアになる道は無数にあるので、その通りですが、あくまでも王道はという話です。

エンジニアは実力主義で誰でもなれる?

よくある誤解に、エンジニアは実力主義だから学校の勉強なんてできなくてもなれるという話があります。
さらに良くないことに、うちのITスクールで学べば誰でもエンジニアになれるよという誘い文句が世の中にはあふれています。

実際にそういう側面はあって、大学に行っていない超有名な凄腕エンジニアというような人はいます。そういう極端な例を除いても、ソフトウェア開発の世界は人手不足な上に、人手をかければ頭をあまり使わなくてもできてしまう仕事もあるので、よっぽどでなければ就職は可能なことも多いです。

ITの世界は分断されている

なぜ誰でもできるような仕事があるのかというと、ソフトウェアを作るにはプログラミング以外にもすごくたくさんの仕事が必要で、作ってからも仕事が必要になるからです。
プログラミングすること以外に、作ったプログラムがちゃんと動くかテストすること、プログラムのマニュアルを作ること、プログラムをサーバーにおいて動くようにすること、動いているかチェックして、動かなくなったら動くようにメンテナンスすること等たくさんの仕事があります。

でもせっかくプログラミングが好きなら、自分でプログラムを作ってそれを使ってもらって、時にはこのプログラムは俺が作ったんだぜなんて自慢できるそういうことがしたいですよね。

昔聞いた話では、ゲームの世界ではデバッガーというゲームのプログラムがちゃんと動くかテストする仕事をしているうちに顔を覚えてもらって、いつかはゲームデザイナーになるそんな夢のある話もあったのですが、今はなかなかそういう動きはなくなってきました。プログラムを考えて作る人と言われたとおりに作業する人は初めから分かれるようになってきてしまったのです。

で、どうすればプログラムを考えて作る人になれるの?

たしかにITエンジニアは実力の世界ではありますが、実力が実際にあってそれを証明するものがあればの話です。自分で作ったソフトをAppStoreで売って生計を立てている人もいっぱいいます。ただそれはどうしても売れるかどうか運次第なところがあります。
最も運に頼らない方法は、大学に行ってソフトウェアの会社に就職し、そこでソフトウェア開発を優秀な同僚と切磋琢磨しながら学ぶことです。
大学に行くことで大学に行けるだけの勉強ができることを証明できますし、大学で学んだ成績表を出せばそこでコンピューターの勉強をしたことを証明できます。最初の会社で成果を出し、実力を証明して自分の望む仕事に移動してくのです。

プログラミングを勉強すればいいのに国語や算数を勉強して意味あるの?

大学に入るには、国語や算数(数学)を学ぶ必要があります。でも実際には難しい漢字が書けなくてもパソコンが変換してくれるし、3桁の掛け算ができなくてもパソコンで計算できます。では何のために国語や算数を学ぶのでしょうか。

理由の一つは、「文章を書いてある通りに読む能力」を身に着けるためと言えると思います。

文章の読み方には二つあります。「自由に読む」と「書いてある通りに読む」です。小説や漫画はどうやって読んでも楽しければいいので自由に読む読み方でいいのですが、プログラムの設計書や他の人が書いたプログラムのマニュアルを「書いてある通りに読む」ことができないと正しいプログラムを作ることができません。あるいは医療分野など違う分野のプログラムを作るときにその分野についてもっと理解したいと思った時にその分野の教科書を読むこともあるでしょう。そんな時に「書いてある通りに読む」ことはかなり大事な能力になります。

「書いてある通りに読む」ことは大人でもなかなかできません。日常生活では、できなくてもそこまで困らないからです。例えばカレールーを買うと、箱の裏に作り方が書いてあります。そこにはカレールーは鍋の火を止めてから入れましょうと書いてあることが多いです。「書いてある通りに読む」ことができる人は、火を止めてからカレールーを入れることができると思います。でも食べ比べてみたときに火を止めてから入れようが、火をつけたままカレールーを入れようが味はたいして変わりません。我々の身の回りにあるものは文字を読まない人でも使えるように作られているのです。

どうやって「書いてある通りに読む」ことを身につければいいの

書いてある通りに読もうと思うと当り前ですが、いろいろな言葉の正しい意味を知っていなければなんとなく雰囲気で文章を読むことになってしまいます。難しい言葉、あまり使われない言葉ほど、ある場面においてはピンポイントで意味を伝えることができるツールになるので、そのような言葉の意味を覚えていくのはスタートラインです。
とはいえ、「書いてある通りに読む」能力を使わなければ、言葉の意味を知るだけでは鍛えられません。算数、数学はその能力を鍛えるいい題材です。算数、数学の文章題では書いてあることがすべてで、雰囲気や身振り手振りなどでなんとなく理解できるというものでもないため、数学の問題を図にして考えて式にするというのは良い訓練になります。

必ずしも勉強だけが訓練ではありません。書いてある通りに物事が起こる世界は数学だけでなく、例えばポケモンカードゲームなどのカードゲームなどもそうです。遊びの中から学べることも多いですし、日記を書くことなど書く方も訓練になります。もちろん本を「自由に読ん」で、その中でいろいろな言葉を覚えるのもよい方法です。常に「書いてある通りに読む」モードで読む必要はありません。これ何言っているのかわからないぞ?今理解できてないな、と自分で思った時に自分の中でモードを切り替えて読んでいくといいでしょう。

プログラミングは書いてある通りに動く世界

「書いてある通りに読む」ことが重要な理由は文章を読み書きすることだけではありません。プログラミングも書いたとおりに動くものなので、プログラムを読むこと、書くことにも「書いてある通りに読む」ことが必要になるのです。

例えばプログラミングをする中で思ったように動かないという時に、その原因を探す必要があります。そのためには、この行では何をやっていて、次の行では何をやっていてと一つ一つ読み解いていく必要があります。

プログラミングは「書いてある通りに読む」ことが必要な世界でもあり、「書いてある通りに読む」ことを鍛えることができる世界でもあります。プログラミングを通して「書いてある通りに読む」ことができるようになれば、プログラマーにならなくてもなんでもできる人になっていると思います。

勉強するとはどうでもいいたくさんのことを知ること

「書いてある通りに読む」ことにフォーカスして書いてみましたが、実際には勉強することで得られることはたくさんあります。しかし、多くの知識は別にそれを知らなくたって、ほかにやりようはあることばっかりです。

コンピューターの回路の仕組み、オペレーティングシステムの仕組み、コンピューターの歴史などなどいろいろなことを大学で学びますが、知ってたらちょっと便利だけど知らなくても何とかなることは多いです。とはいえ、10個の疑問が出てきたときに6個はすでに勉強していて4個しらべる人と、1個しかわからず9個調べる人ではスピードや成果に差が出てきて当然です。こんなこと使うんだろうかと疑問に思うようなこともどこかで役に立つので安心してください!

まとめ

長くなってしまいましたが、エンジニアになるには勉強して大学に行き、ソフトウェアを開発している企業に就職するのが一番、安全で確実な方法です。
難しい計算や難しい漢字は実際には機械がやってくれますが、そのような訓練を通して「書いてある通りに読む」能力を鍛えることがエンジニアとして活躍する訓練になります。
そのような能力を身に着ければ、エンジニアとしてだけでなく幅広く活躍ができる人になれるはずです。


無料のプログラミングクラブCoderDojoを運営するにあたり寄付を受け付けています。お金は会場費・Wifiの費用・教科書に使用します。