プログラミング学習を始めようと考えたとき、「どれくらい習得期間を必要とするか」は、気になる方も多いでしょう。
- オリジナルのアプリを作りたい
- エンジニアとして転職したい
- フリーランスエンジニアとして高い給料を稼ぎたい
など、人によって目的は様々かと思います。
したがって、今回はプログラミングを通して
- オリジナルアプリを作るまでの期間
- 仕事として戦力になるまでの期間
- フリーランスとして仕事ができるまでの期間
といったように、目的別に必要なプログラミングの習得期間と、初学者が始めに学ぶべき言語についてお話していきます。
なお、今回は現役のエンジニアとして働いており、1人でオリジナルのアプリケーションを作ったり仕事を回したりしている立場としてお話していきます。それでは、実際に見ていきましょう。
プログラミングの習得に必要な期間は?
冒頭でもお話しましたが、結論からお話するとプログラミングの習得に必要な期間は目的によって大きく異なります。
なぜなら、目的によって必要なプログラミングスキルも必要な学習過程も異なるためです。
プログラミングの習得をどのレベルに設定するか
例えば、プログラミング習得を「転職までに必要なプログラミングスキル」と設定したとしましょう。
未経験エンジニアを採用するにあたって、採用側から見るエンジニアのスキル基準は正直あまり高くありません。
具体的には、転職に必要なレベル感は下記のような基準になります。
- プログラミングに対して抵抗がない
- アプリケーション(プログラミングスクールで作るレベル)の開発経験がある
- 学んだことが自分の中で整理できている(CookieとSessionの違い、Gitの意味など)
しかし、このスキルレベルでは「自分1人でオリジナルアプリケーションを作る」ことは、難しいことがイメージできるのではないでしょうか。
このように、あなたがプログラミングの習得を通して何を達成したいのか?を考えることが、プログラミング習得の第一歩であることが言えるでしょう。
プログラミング習得のレベル感一覧
プログラミング習得の基準をどのあたりに置けばいいのかわからない方もいるかもしれません。
したがって、本記事ではプログラミングの習得を
- エンジニア転職までに必要なスキルレベル
- エンジニアとして戦力になるまでのスキルレベル
- オリジナルアプリが作れるまでのスキルレベル
- エンジニアとして1人前に仕事ができるまでのスキルレベル
として解説を進めていくことにします。
エンジニア転職までに必要な習得期間:3ヶ月
まず、エンジニア転職に必要な期間と考えると、およそ3ヶ月です。
その理由としては、プログラミングや使用される周辺ツールの基礎知識を身につけるには、それくらい時間を必要とするためです。
実際、プログラミングスクールでも転職をするまでの期間は3ヶ月と設定されていることが多く、転職するまでに必要な期間の1つの目安になるでしょう。
転職で求められるプログラミングのレベル感
上記でもお話しましたが、転職で求められるプログラミングのレベル感は、
- プログラミングに対して抵抗がない
- アプリケーション(プログラミングスクールで作るレベル)の開発経験がある
- 学んだことが自分の中で整理できている(CookieとSessionの違い、Gitの意味など)
といったところです。
学習に必要なステップは下記記事にまとめているので、合わせて見ていただければと思います。
エンジニアとして戦力になるまでの習得期間:半年
続いてエンジニアとして戦力になるまでの期間は、約半年といったところです。
しかし、半年学習すれば1人前に仕事をこなせるわけではなく、あくまでも「役割を与えられば仕事が進められる」レベル感という意味です。
リーダーのエンジニアの戦力を10とすると、この期間の戦力は大体2〜3くらいです。
エンジニアとして戦力になるプログラミングのレベル感
仮に3ヶ月でエンジニアに転職でき、約3ヶ月間は実務で働いたとして考えてみましょう。
おそらく未経験の状態から仕事に入ると、プログラミングを始めとした開発の進め方に大きく戸惑います。
- Git flowって?チーム開発の進め方がわからない
- 綺麗なコードって言われてもどんなコードが綺麗なの?
- class?interface?なにが嬉しいの?
など、エンジニアとして1人で業務をこなすまでには、まだいくつかの壁を超えなければなりません。
したがって、エンジニアとして戦力になるプログラミングのレベル感としては、今までの学習で足りないことを認識し、試行錯誤を繰り返しているレベルと言えるでしょう。
プログラミングのレベル感が最初の3ヶ月と比較して大きく変わるわけではありませんが、自分のスキルを実際の業務に転換するフェーズと言えそうです。
オリジナルアプリを作れるまでの習得期間:半年〜1年
続いて、オリジナルのアプリケーションを作るまでの期間は、半年〜1年といったところでしょう。
半年〜1年と幅がある理由は、
- とりあえずアプリが作れるレベル・・・半年
- 細かい仕様にも対応して作れる ・・・1年
と、どこまで気にして作れるか?のレベルが変わるためです。
オリジナルアプリを作るまでには知識が必要
一例ですが、僕は実務未経験からエンジニアになり、約半年でオリジナルのiOSアプリをリリースしました。
しかし、今当時のことを思い返すと
といったように、1通り作れてはいるものの、自分が思い描いていた機能を全て盛り込めたわけではありませんでした。
一方、実務経験を1年積んだ後では、
と、必要な機能を盛り込んだ上でプログラムを作成することができました。
もっと早くオリジナルアプリを作れる人もいると思いますが、一般的な目安くらいにはなるのかなと思います。
プログラミングスクールでは3ヶ月でオリジナルアプリを作れる?
しかし、プログラミングスクールなら3ヶ月でオリジナルアプリを作れる(=より早くオリジナルアプリを作る力がつく)と思われる方もいるでしょう。
確かに、プログラミングスクールでは成果物を作ることを求められるため、3ヶ月でオリジナルアプリケーションを作ることもできます。
しかし、プログラミングスクールには、わからなくなったときにメンターが存在します。
メンターがいなくても自力で課題を解決し、オリジナルアプリケーションを作ることを考えるなら、やはり3ヶ月では難しいでしょう。
フリーランスとして仕事がこなせるまでの習得期間:1〜2年
最後に、フリーランスエンジニアとして働くレベルになる習得期間は、大体1〜2年は必要になるでしょう。
オリジナルのアプリケーションを設計も考えた上で作ることができれば、プログラミングのスキルとしては、十分な力が身についているころでしょう。
それでも、まだプログラミングの習得期間がかかる理由としては、プログラムに落とし込むビジネススキルが必要になってくるためです。
1人で仕事をこなすにはビジネススキルが必須
プログラミングスキルのレベル感で見ると、この頃には、
- 要求された機能を実装するイメージがつく
- 全体の設計を考えた上でプログラミングができる
- 課題にぶつかっても自力で解決できる
しかし、このときにはプログラミングスキルだけでなく、
などが求められるようになってきます。
フリーランスエンジニアになる1つの基準が2年と言われていますが、プログラミングスキルだけでなくビジネススキルをつけるためにも2年と言われているのかもしれません。
プログラミングの習得で最初に選ぶべき言語は?
これまでプログラミングの習得期間について見てきましたが、プログラミング習得に向けて最初に学ぶべき言語について気になる方も多いのではないでしょうか。
結論からお話すると、プログラミングで最初に学ぶべき言語は、自分のやりたいことができる言語であればなんでもいいです。
したがって、iOSアプリを作るのにJavaから学ぶのはおすすめしませんが、RubyとPHPはどっちがいいか?といった議論にあまり意味はありません。
エンジニアは言語を複数扱える人が多い
そもそもエンジニアは1つの言語を極めている人もいますが、複数の言語を扱える人の方が多いです。
なぜなら、プロジェクトによってプログラミング言語は変わることがあり得るため、
- ECサイトの機能追加プロジェクト:PHP
- 業務の管理ページ作成プロジェクト:Ruby
- iOSアプリ開発プロジェクト:Swift
となるケースも十分に考えられます。
したがって、どの言語でも1つの言語をしっかり扱えるようになることが他の言語の習得にも役立つため、最初に学ぶべき言語は挫折しにくい言語を選ぶといいでしょう。
プログラミング初心者が、どの言語を学べばいいか?ということについては下記記事にもまとめているので、ぜひ参考にしてみてください。
まとめ
ここまでの記事のポイントをまとめます。
- 転職に必要なプログラミング習得期間は3ヶ月
- 1人で仕事をこなす(フリーを目指す)までの期間は約2年
- 最初に選ぶプログラミング言語は目的に合えばあまり気にしなくていい
プログラミングの習得は長い道のりになりますが、一度自分で仕事を進められるようになると想像したものがなんでも作れる楽しみがあります。
プログラミング習得に向けて学習の仕方がわからない!という方は、下記記事も合わせてご覧ください!
コメント