ITエンジニアになる方法と優秀なITエンジニアになる方法の違い?!
ITエンジニアになるには、コンピュータとプログラミングの基礎知識が必要です。
学び方はいろいろあります。
- 学校(プログラミングスクール・大学・専門学校・職業訓練校・高専)で学ぶ
- 独学(本、Webサイト、動画、teratail)で学ぶ。
- 会社の研修、OJTで学ぶ
私は1~3すべてやったことがあります。それぞれのメリット・デメリットを紹介し、さらにそこから発展させて、優秀なITエンジニアになる方法を考えてみます。
Contents
ITエンジニアになる方法
1. 学校(プログラミングスクール・大学・専門学校・職業訓練校・高専)で学ぶ
私は専門学校でプログラミングを学びました。
専門学校は試験なしで入れるので生徒の学力差が激しく、学力の低い生徒でも学べるように教えているため、授業はとてもかんたんでした。低いレベルの中に身を置くと自分に自信がつくというメリットがありました。
大学・職業訓練校・高専で学んだことはないので分かりませんが、最初の基礎知識さえ教われば、その後は独学でいくらでも勉強できるので、どのタイプの学校でもいいと思います。
私が学生の頃にはありませんでしたが、最近はプログラミングスクールもたくさんあります。大きく分けて2つのタイプに分かれます。
- オンラインで学ぶタイプ → Techacademyなど
- 学校に通うタイプ → WebCamp Proなど
一概にどちらがいいというものではないので、
- 通学するのが面倒だから、オンラインタイプがいいな
- 自宅だと集中できないから、学校タイプがいいな
というような理由で選べばいいと思います。特にWebCamp Proは就職保証もついているので安心です。
と思っていたら、さらに良いスクールを見つけました!
無料のプログラミングスクールがある
プログラマカレッジは 20代限定なんですが、無料で受講できて、修了後、就職支援もしてくれます。いたれりつくせりです!
企業の協賛金で運営されいているから無料で受講できるんだそうです。
- 利用者は無料で教育と就職支援が受けられる!
- 採用企業は教育を受けたエンジニアを採用できる!
- スクールは企業から紹介料をもらえる!
三者がそれぞれ得をする素晴らしいシステムですよね。
2. 会社に入って仕事を通じて学ぶ
プログラミングの知識がない人を採用する会社はたくさんあります。これは新卒の人に限ったことではありません。
私が以前勤めていた会社では29歳で全くのプログラミング未経験から中途入社した人がいます。その人は、先輩社員から教わりながら、徐々にプログラミングを覚えていって、ちゃんと仕事できるようになってました。ですから、仕事を通じてプログラミングを学ぶことは十分可能です。
転職活動はエンジニア未経験の人でも利用できるワークポートとかを使うと捗るかと思います。
3. 独学(本、Webサイト、動画、teratail等)で学ぶ。
学校や会社で教わらなくても、独学でもプログラミングを学べます。
私が専門学校で教わったのは、
- C/C++
- Visual Basic
- JavaScript
です。卒業して仕事をしながら、
- Java
- PHP
- Ruby
- C#
- node.js
を独学で学びました。
独学で学んだ方が自分のペースで学べるというメリットもあります。初心者向けの本を一冊読んでみて内容を理解できるようであれば、独学でやってみるのもいいでしょうね。
しかも今の時代、Udemyのような動画講座もありますし、つまずいたり、分からないことがあったらteratailのような質問サイトで質問もできるので、独学しやすい環境が整っています。
エヴァンゲリオンを見て、ITエンジニアになることを決めた私のエピソード
私が高校3年生の時に、進路選択について考えながら、アニメ(新世紀エヴァンゲリオン)を見ていました。
主人公の碇シンジが加持リョウジとこんな会話をするシーンでした。
加持が空き地で育てている野菜に水をやっていて、それをシンジが見ている。
シンジ 「これ確か スイカですよね。」
加持 「ああ かわいいだろ、オレの趣味さ。何かを作る、何かを育てるってのはいいぞ。いろんなことが見えるし わかってくる。楽しいこととかなぁ。」
シンジ 「つらいこともでしょ。」
加持 「つらいのはキライか?」
シンジ 「スキじゃないです。」
加持 「楽しいことをみつけたかい?」
シンジ 「・・・・・。」
当時の私もやりたいことが見つからず、なんとなく「みんな大学に行ってるから自分もそうしようかな、学部も特に入りたいところもないから、つぶしが効きそうな経済学部とかでいいかな…」と思っていました。
それが、このシーンを見て、加治リョウジが言う「楽しいこと」を見つけようと思ったんです。
当時の私はゲームをよくやっていたので「ゲームやCGの仕事がいいかもな」と思いました。調べてみると、1998年当時はゲームやCGの仕事が少なく就職が難しい状況でした。
そこで、ゲームに絞らずにとりあえず幅広い意味でのプログラミングを学んでおけば、企業のシステムも作れてつぶしが効くし、趣味でゲームも作れるだろうと考えて情報処理科の専門学校に進学するという就職に保険をかけた選択をしました。
今となっては「ゲーム開発の専門学校に行っておけばよかった」と思っています。スマホゲームが爆発的に普及してゲームエンジニアは引く手あまたですからね。
といっても、結局私は今ゲーム開発の仕事をしています。プログラミングの基礎はゲームでも同じなので、独学でゲーム開発の技術を学ぶことができたんです。過去に戻って人生をやり直すことはできませんが、軌道修正はいくらでもできます。
なんにせよ、加治リョウジが言ってるように自分にとっての
- 楽しいこと
- やりたいこと
を見つけて、やると決めるんです。
優秀なITエンジニアになる方法
優秀なITエンジニアとはどんな人でしょうか?
これは企業によっても、参加するプロジェクトによっても変わりますが、共通する特性があります。
それは「能動的に仕事を進められる人」だということです。
求人の募集要項でも「能動的に仕事を進められる人」と書いてあるのをよく目にします。
一方、能動的の反対は受動的です。
「指示をされないと仕事を進められない人」は企業に歓迎されません。ソフトウェア開発の仕事はルーチンワークではありません。同じソフトウェアは一つもなく、毎日が新しい課題を解決する仕事です。
毎日発生する新しい課題を一から十まで全て指示していたら仕事になりません。だから能動的に仕事を進められる人が求められるんです。
ですから、
優秀なITエンジニア = 能動的に仕事を進められる人
なんです。
能動的に仕事を進められるようになるために必要なこと
能動的に仕事を進められる人というのは、自分がやるべきことを自分で考えて実行できる人です。
そのためには「自分一人でソフトウェアを開発すること」が最適な訓練となります。
優秀なITエンジニアのほとんどは何らかのソフトウェアを自分一人で作ったことがある人です。フリーウェアやWebサービス・スマホアプリなどをネット上に公開するだけがソフトウェアではありません。自分専用のちょっとしたツールの開発も含めれば、誰しも何かしらのソフトウェアを作っています。
ちょっとしたものでも、自分一人でソフトウェア開発をするとソフトウェアの企画から設計、実装、テスト、運用とすべての工程を全て一人でやることになります。これって完全に能動的な作業です。
ですから、このような体験をすることで、仕事でも能動的にやるべきことを自分で考え、自分で実施することが自然とできるようになります。
むしろ仕事のほうが、自分が苦手な分野は他人にやってもらったり、自分一人で解決できないことを先輩に質問したりできる分かんたんかもしれません。
ですから、優秀なITエンジニアになる方法、それは、
「自分一人でソフトウェアを開発する」
ことなんです。
逆に言えば、自分ひとりでソフトウェアを開発できる人は優秀なエンジニアだと言えます。
自分一人でソフトウェア開発をすれば、仕事で使わない技術を学ぶことができますし、学んだ技術スキルを利用して、転職のチャンスもつかめます。
私が、
業務システム開発のSE → ゲームエンジニア
へと転職できたのは、趣味でUnityを使ったゲームを開発したのがきっかけでした。趣味で身につけたスキルが転職に役立ったんです。
そうやって、
「楽しいこと、やりたいことを見つけて、それを仕事にしていく」
これがITエンジニアの生きる道なんです!