実際にプログラミングの勉強をはじめてみたけど、自分でアプリやサービスを作れるようになるまでどれくらいの時間がかかるんだろう?
こういった疑問を持つことがあると思います。
プログラミングの勉強は結果が出るまでに長い時間がかかるため、はやる気持ちが起きやすいです。
とはいえ、どれくらいの時間がかかるかわからなければ、モチベーションの維持が難しいのも事実です。
そこで、今回は実際に0からプログラミングの学習をする人がどれくらいの時間をかければ、自力でアプリやサービスを作れるようになるのかを説明したいと思います。
目次
アプリが作れるまでにかかる時間
アプリやWebサービスを作れるようになるまでは、結構長い道のりになります。
完全な初心者からスタートなら、最速で6か月、長くて1年はかかると見ておいたほうが良いです。
ときどき、3カ月以下の期間でアプリをリリースする人もいますが、1日12時間以上を費やさないと難しいです。そういう人は、ご飯・お風呂・寝る時間以外はすべてプログラミング学習に充てているような生活を送っています。
基礎の勉強が終わるまで3ヶ月~6ヶ月
基礎の勉強が終わるまでにかかる時間は、最速で3か月くらいになります。
昼間は仕事をしながらの勉強となると、6ヶ月は見ておいた方が良いでしょう。
大事なポイントは焦らないことです。
基本を勉強するのに思った以上に時間がかかるので焦る人がたまにいますが、焦ると余計に頭に内容が入ってきません。
結果的に、焦ることは遠回りになってしまうので、自分のペースで進めるように徹することが肝心です。
アプリを作って完走できるまで1ヶ月~2ヶ月
基礎が終わったら、実際にアプリやWebサービスを作る段階に移行します。
最初のWebサービスは、基礎で勉強したことに少し追加機能をつける程度のモノにすることをお勧めします。
Webサービス作成は、思った以上に時間がかかるものです。
ボリューム的に言えば、1ヶ月、長くても2か月以内に作り上げれるレベルのものにする方が、途中で投げ出さずに完遂できる可能性がグッと高まります。
アプリを作成するまでに覚える必要がある技術
Webサービスやアプリを作るためには、プログラミング以外でも覚えることがいくつかあります。
単純にプログラミングを書けばアプリが作れる、というわけでは無いのです。
そこで、どんな技術を覚える必要があるのか、ザっと見ていきましょう。
フレームワークを構成している言語
まずはプログラミング言語ですね。これがないと何も始まりません。
Webサービスないしアプリを開発するのであれば、フレームワークを使うのが一般的です。
とはいえ、フレームワークを構成するプログラミング言語がわからないと、いざエラーやトラブルが発生したときに手も足も出ません。
なので、まず最初に覚えるべきことはプログラミング言語になります。
フレームワークの使い方
フレームワークは、決められた型通りに書いていけば、ある程度のレベルのアプリやWebサービスが素早く作れるとても便利なものです。
ですが、プログラミング言語の文法とは違った書き方をすることが多いため、フレーワーク独自の書き方を覚える必要があります。
また、フレームワークはファイル構成が決まっているため、特定のファイルを置くべき場所が決まっています。ですので、どのファイルが何の役割を果たし、どこに置くべきなのかを知っておく必要があります。
環境構築の方法
おそらく多くの初心者の方が苦手にしている部分が、環境構築でしょう。
Progateとは違い、自分のPC上にプログラミングできる環境を設定する必要があります。
とはいえ、いまはXAMPPを使えばPHPでプログラミングできる環境をすぐに構築できるので、そこまでハードルの高いものでは無くなりつつあります。
慣れてくれば、仮想環境で環境構築をする方法にトライしてみると面白いですよ。DockerやAnsibleといったツールが有名なので、一度調べてみるのをお勧めします。
インフラ周りの設定
ローカルマシンである自分のPC上でアプリやWebサービスが動くようになっても、まだ完成ではありません。今度は作成したプログラムをWebサーバーに移動させ、動くようにする必要があります。
いちばん簡単な方法はHerokuを使うことです。
ただ、ある程度Herokuなどのリリースに慣れてきたら、自分でサーバーを借りて環境を構築する経験を積んでおくとよいでしょう。少しハードルは上がりますが、サーバー構築の経験を積んでおけば就職の際にとても役立ちます。
自分が書いたコードの管理方法
コードを管理する方法も覚えておきましょう。
選択肢はいろいろありますが、とりあえずGitを使っておけば間違いありません。Gitは今やデファクトスタンダードなツールなので、それ以外のツールはあまり考えなくて大丈夫です。
アプリを作れるようになるだけでも凄い
そもそもの話、アプリやらWebサービスを提供できるレベルに到達する人はほんの一握りです。
成果物をリリースして使えるようにできるだけでも、十分プログラミングができますと言えるレベルになっています。
多くの人はアプリを作る前に学習をやめてしまう
先ほども少し触れましたが、プログラミング学習を挫折する人は未だに多いです。
成果物をリリースする前に学習を放り出してしまうことは非常にもったいないですが、やはり何処かで自分はプログラミングに向いていないと感じるのでしょう。
実際、エラー解決やトラブル、調べものをするだけで1週間何も進まない状況は、仕事の中でも日常茶飯事です。そのため、「トラブルを楽しもう」というマインドセットに切り替えていくことが、ひとつの突破口になります。
未経験者でもアプリをリリースすれば、実績になる
未経験者でも、アプリやWebサービスをリリースすれば、それは実績となります。
実績とは仕事に限らず、「自分はこれくらいのことを達成できました」という話に過ぎません。
根拠がなくても、自信を持ちましょう。作ってみたけどまだ経験少ないし…などと考えずに、どんどん公表する方が最後は自分のためになります。
開発したアプリはポートフォリオになる
また、自分で開発したアプリ、Webサービスはポートフォリオとして利用できます。
ポートフォリオがあれば、2つの意味で便利なので、ぜひ作ることを推します。
- フリーランスの実績として使うことで、お客さんに提案するときの強みになります
- 就職面接のときに使うことで、プログラミングができることを証明できます
また、ポートフォリオを作るときに調べたり、学んだりする必要があるので、技術力の向上にもなります。
まとめ
アプリやWebサービスが作るまでの流れと、必要な技術、作り終わった後のメリットまでを説明しました。
最終的にポートフォリオを作るところまで来れば、Webエンジニアとして活躍できるチャンスが大きく広がります。
何度も言いますが、ポートフォリオ作成までこぎつけれる人はほんの一握りです。成果物を作れた段階で、すでに他の学習者から大きくリードしているのです。
実務を通して案件に取り組んだ実績を得るまではポートフォリオが大きな武器になるので、ぜひ作成にトライしてみて下さい。