初心者から最短で「できるエンジニア」になるためのポイント

UEQareer Advent Calendar 2018 の 1 日目のエントリーです。

https://qiita.com/advent-calendar/2018/ueqareer

皆さん、こんにちは!
レッドインパルスのたかけんです。

今回は、 初心者から最短で「できるエンジニア」になるためのポイント 、というテーマで述べたいと思います。

初心者から最短で「できるエンジニア」になるためのポイント

ちなみに僕も、大学に入学当時はプログラミング未経験でした。
情報系の学部だったので講義でプログラミングを勉強しつつ、ハッカソンやインターンなどで経験を積み上げ、、、今では開発の仕事を頂けるようになりました。

そうした中でも、今思い返すと「こうしておけば 、もっと早くスキルアップできたなあ…。」と思うことも多々あります。
なので、僕のこれまでの経験や反省を振り返ってみて、ポイントをまとめてみました。

ポイントを大きく以下の通りです。

  1. まずは Progate をやってみる
  2. ハッカソンに参加してみる
  3. 1 つプログラミング言語を選んでじっくり勉強してみる
  4. もう 1 つ以上プログラミング言語を選んでサクッと勉強してみる
  5. 作ったプログラムやプロダクトを公開してみる
  6. エンジニアのインターンやアルバイトに挑戦する

まずは Progate をやってみる

Progate | プログラミングの入門なら基礎から学べるProgate[プロゲート]

Progate はオンラインでプログラミングが学べるサービスです。
学び方で、結果は変わります。初心者でも学びやすい学習環境をご用意。

とりあえず、未経験だけどプログラミングを勉強してみたいという人は、Progate をやってみるのがおすすめです!

プログラミングを始める上で一番の困難は、開発環境の構築です。

例えば、Andoid アプリを開発したかったら

  • Java を PC にインストールして…
  • Android Studio を PC にインストールして…
  • 必要な SDK をインストールして…
  • 各種ツールの PATH の設定をして…

など、やることがたくさんあります。
プログラミング初心者にとっては、この開発環境の構築が曲者で、理解するのも困難です。

Progate は PC のブラウザかスマホのアプリから利用できるサービスなので、上記の開発環境のことは気にせず、プログラミングの学習ができます。

最初は何より自分の書いたプログラムのコードで何かできるという経験を得ることが大事です。
なのでプログラミング学習の取っ掛かりとして、Progate などのオンラインのプログラミング学習サービスの利用をおすすめします。

ハッカソンに参加してみる

Progate を一通り終えれば、「プログラミングスキルを駆使して開発できるじゃん!」と思えるでしょう。
では実際に開発を経験してみましょう!

そのきっかけとして、「ハッカソン」をおすすめします。

ハッカソン(Hackathon)とは、ハック(Hack)とマラソン(Marathon)を掛け合わせた造語です。エンジニア、デザイナー、プランナー、マーケターなどがチームを作り、与えられたテーマに対し、それぞれの技術やアイデアを持ち寄り、短期間に集中してサービスやシステム、アプリケーションなどを開発し、成果を競う開発イベントです。

要するに週末で行われる開発イベントで、各所で開催されています。
ちなみに当メディアを運営しているレッドインパルスもハッカソンを開催しています。

「Progate で勉強したし、どんなアプリでも作れる!」と思うでしょうが、現実は …?
おそらく、様々な分からないことに直面するでしょう。
でも、それで良いのです。
まずは持ってるスキルで開発に挑戦し、自分に何が足りて無いのかを自覚するのが目的なので。

ちなみにハッカソン自体はマラソンのように、とても楽しいイベントです。

1 つプログラミング言語を選んでじっくり勉強してみる

色んな意見があると思いますが 、個人的には JavaScript を勉強するのがおすすめです。
機械学習をやりたいなら Python 、Web のサーバサイドをやりたいならRubyPHP  が人気です。
JavaScript はブラウザ上で動作するプログラミング言語なんで環境構築が比較的容易ですし、サーバサイドの開発や機械学習でも利用することもできます。

ただし、JavaScript は、他のオブジェクト指向言語に比べて、若干文法が独特だったりします。

もう 1 つ以上プログラミング言語を選んでサクッと勉強してみる

1 つプログラミング言語を選んで勉強したのであれば、もう 1 つ以上プログラミング言語を選んで勉強してみましょう。プログラミング言語の基本文法は、 大きく代わりませんが設計思想に基づいて、特徴があったりします。その違いを知っておけば大丈夫なので、サクッと  学べるはずです。

例えば、JavaScriptを学んだ後であれば、 Java Python Ruby などのオブジェクト指向言語、または JavaGo言語C# などの静的型付き言語を勉強することをおすすめします。

作ったプログラムやプロダクトを公開してみる

ハッカソンにも参加したり、プログラミング言語も 2 つ以上勉強したのであれば、そのアウトプットとしてプログラムやプロダクトをぜひ公開しましょう!

公開する方法は様々ありますが、例えば以下のような方法があります。

  • GitHub 上にソースコードを公開する
  • プロダクトのプレゼン資料などを SlideShare などで公開する
  • レンタルサーバなどを用意してサービスを Web で公開する
  • アプリストア上で開発したアプリを配信する

次の エンジニアのインターンやアルバイトに挑戦する にも繋がるのでぜひ挑戦してみてください。

エンジニアのインターンやアルバイトに挑戦する

個人でプログラミングを勉強しても、限界が直面する時が来ます。
より高いレベルを目指すのであれば、エンジニアのインターンやアルバイトに挑戦してみましょう。

既に動いてるサービスの開発に関わったり、自分以外のエンジニアと一緒に開発することで、多くの学びを得ることができます。
ある意味ここが、「できるエンジニアを目指す」上で 、1 つのゴールになるでしょう。

挑戦してみるなら、採用の面接の際には、作ったプログラムやプロダクトを見せれると Good です。
技術を学ぶことに対して意欲的であること、アウトプットを大事にしていることをアピールしましょう!

まとめ

初心者から最短で「できるエンジニア」になるためのポイント 、というテーマで述べてきました。
エンジニアになるには、色々な手段があると思いますが、開発の楽しさを主軸に、アウトプットを大事にして、色々挑戦してみるのをオススメします。
深く考えすぎずに、色んな人に聞いてみるのも良いですね。

技術にアンテナを張って、ぜひ「できるエンジニア」を目指して頑張ってください!