様々な分野でIT化が進むにつれてIT関連の仕事の需要が増えてきていますよね。プログラマーや、システムエンジニアへの転職にはプログラミングの技術やITリテラシー等の知識が必要ですが、これらの技術、知識を得るためには学校で専門的な勉強をしなければならないと考える人も多いかもしれません。
でも実はITエンジニアとして働いている人の中には社会人になってから勉強して技術を身につけたという人も多いです。実際に前職は営業、事務をしていた人が独学でプログラミング入門の為の教材や講座等を使って勉強し、ITエンジニアに転職したというケースが増えてきているのだとか。
この記事を読んでいる方の中にもこれから勉強してエンジニアに転職したいという方や、興味がある方もいるでしょう。まずはプログラミング入門の前に、プログラミングを学んでどう役立つのか、プログラミングを仕事にするとどんな生活ができるのか、どの程度勉強すれば仕事で通用するレベルになるのか、知っておきたいですよね。
そこで今回はプログラミング入門前に知っておいて欲しいことについてお伝えしていきます!
プログラミングを学ぶことでできるようになること
プログラミングを学ぶことにより、自分でWebサービスの立ち上げやスマートフォンのアプリケーションを作成できるようになる他、プログラマーとして仕事をすることができるようになります。
ここではプログラマーという職業の分類について紹介します。
Webプログラマー
主にWebサイトのプログラミングを行い、サービスの立ち上げ、改善に携わる仕事になります。Webサイトの見た目や機能性、操作性を改善しユーザーの満足度を高めるのが仕事です。
- クライアントサイド:ユーザーに触れる部分を担当・ HTML/CSS、Java、JavaScript、PHP、Rubyなどの言語が必要
- サーバーサイド:サービスの裏側を担当・Java、C+、C++、Perl、PHP、Ruby、Python、Linuxなどの知識が必要
と仕事内容が分かれており、時にどちらも対応する必要がある場合があります。
アプリケーションプログラマー
パソコンやスマートフォンにインストールされるアプリケーションの開発を行う仕事になります。PCやAndroid、iPhone等アプリケーションを動かす環境によって開発に必要なプログラミング言語が異なるので、幅広い知識が必要な仕事になります。
それぞれ
- Webアプリ:Java、C#、Python、Ruby、PHPなど
- Androidアプリ:Java、Kotlinなど
- iPhoneアプリ:Swiftなど
の知識が必要となるでしょう。
ゲームプログラマー
文字通りゲームを作成する仕事です。スマホゲームやPCゲーム、コンシューマーゲーム等様々な種類があり、それぞれ開発に必要な言語が違ってきます。クリエイターやデザイナーと協力し、キャラクターを動きやBGM、効果音等のイメージをプログラミングによって実現していく仕事になります。
組み込み系プログラマー
家電製品や電子機器を制御するためのプログラムを作成する仕事です。例えば自動販売機であれば押されたボタンを判別して指定された飲み物を出す動作等の操作指示をするプログラムを作成します。主に使用するプログラミング言語は、「Java」「C++」になります。
ネットワークプログラマー
ルーターやモデム等のネットワーク機器等の通信に関連したシステム構築、管理を行う仕事です。システムのセキュリティにも深く関わりサーバーの負荷に耐えるシステム設計や、トラブル発生時の対応等も行います。
このように、にプログラミングといっても何をするかによって使う言語をはじめとした内容が大きく変わります。そのため、まずはプログラミングを使って何をしたいか、将来どのような分野にかかわり、どのようなシステムを作りたいかを思い浮かべ、勉強する分野を考えましょう。
プログラマーとして活躍する人々のワークスタイル
企業、業種によってワークスタイルは様々ですが、最も多いのがシステム開発を行う会社に勤務するプログラマーです。国勢調査によるとIT技術者の需要がどんどん高まるのに対し、人材不足もどんどん進んでいくという予想がされています。会社に勤務するプログラマーは企業が進めるプロジェクトに携わるため、事業縮小や倒産でもしない限りは収入に困ることはまずありません。
仮に転職となった場合でもプログラミング言語は世界共通ですので、すぐに即戦力として他の会社の開発に携わることができ、転職に苦労することはないでしょう。
また、企業、部署にもよりますがプログラマーはパソコンがあれば仕事ができるので、セキュリティ上許されるのであれば自宅やカフェで仕事をすることもできます。
プログラミング習得のために必要となる時間
プログラミング入門した人がプログラミング習得という状態になるまでどの程度時間がかかるものなのか、気になりますよね。一説によると「200時間程度」と言われています。一日3時間の勉強をしたとすると、約2か月かかる計算です。
例えば、TECH::EXPERT では
↓
実践的なチーム開発
↓
オリジナルサービス開発
といった流れでプログラミングを学習することができます。
これは基礎の勉強をしながらチーム開発で実際の業務で開発を行うような実戦経験を積み、その応用として自分の好きなようにアプリケーションを作れる他、わからないことがあればすぐに聞ける環境で学習を進めることができるます。つまり、モチベーションを維持しながらプログラミングを習得でき、独学で勉強するよりも大幅にプログラミング習得までの時間を短縮できるに違いありません。
プログラミングを入門して挫折してしまう人が多い理由
ここまでプログラミングを習得してできること、プログラミング入門からある程度習得できまでの時間について紹介しました。IT技術の需要が高まってきたことにより、プログラミングを勉強している社会人の方も最近では増えていますが、実は初心者からプログラミング入門した人のおよそ9割が挫折してしまっているのが現実です。
転職に有利、クリエイティブな仕事ができる、様々な理由でプログラマーを目指す人が多いのですが、その多くが挫折してしまう理由について紹介します。
勉強方法、教材がわからない
これは独学の方に限りますが、独学でプログラミング入門した方の多くがまずつまづくポイントですよね。ネットで検索するとプログラミング初心者向けの記事がたくさん出てきますが、プログラミングは分野が広く一つの言語について勉強するとしてもよく使う構文からほとんど使わない構文、推奨されていない構文などもあるので、言語そのものを勉強しようとすると多くの場合で遠回りの道になってしまいます。
また、実際にプログラマーとして就職する際に自分のスキルを説明する時も、「200時間勉強しました」よりも「独学で勉強してWebサイトを立ち上げました」と言ったほうが具体的でわかりやすく技術力を示すことができるため、作品を作るのがおすすめです。
エラーが直らない
これも多くの方が直面するポイントで、学びはじめの頃にエラーが直せず長い時間をかけてしまった経験がありますよね。エラーが発生して直したいのに直し方がわからず、長い時間悩んで行き詰まってしまうと次に進めず、勉強をやめてしまうのが挫折の原因です。
プログラミング初心者、特にプログラミング入門したての段階でのエラーが直らない、直し方がわからないという場合は作ったプログラムの1個1個の構文の意味をわかっていないことが原因になることが多いでしょう。
これを防ぐにはコピー&ペーストの前にそのコードが何をしているのか、何ができるのかをしっかり理解しましょう。
モチベーションが続かない
エラーが直らない、勉強方法がわからないもモチベーション低下の原因となりますが、学習のゴールが見えなかったりエラーの発生、解決が何度も続くと終わりがないように感じてしまい、学習をやめてしまう方が多いですよね。
プログラミングスクール等で効率よく勉強しようとしても200時間、3ヶ月かかるので根気よく続ける必要があります。このため学習を始める前に目的の明確化、困った時に頼る人、質問できる環境を作ることが大切です。
プログラミングを学ぶ上で大事にしたいこと
ではプログラミング学習に挫折してしまう原因をもとにプログラミング入門する上で大切にしたいことを紹介しましょう。
質問できる環境を作る
プログラミングに行き詰まった場合、一人で脱出するには時に非常に長い時間がかかりますよね。長い時間をかけて身につけばまだ良いのですが、小さなミスによって長時間悩むというのもプログラミングをしていればよくあるケースなので、行き詰まったらすぐに解決できるように質問できる環境を確保しましょう。
また最近ではエンジニア向けの交流会や勉強会等が都内であれば豊富に開催されていますのでこういった場に参加することでコミュニティを増やすことができます。同じ立場の仲間もできるのでモチベーションの維持に繋がり、おすすめです。
目的を明確にして学習項目を絞る
効率的に学習を進めるためには、まずは何をするための学習なのか明確にしましょう。
Webサイトやアプリケーションを作成する場合、一つの言語だけで完成することは少ないので、一つの言語に対して完璧に勉強しようとすると時間がかかりすぎる上、使用しない知識を勉強することになるため効率が悪いです。イメージとしては、勉強した知識でWebサイトやアプリケーションを作るというよりも、Webサイトやアプリケーションを作るための知識を勉強するというスタンスです。
こうすることで学習項目を絞ることができ、できることがどんどん増えていくのでモチベーションを維持しやすいでしょう。まずは何をするためのプログラミング習得なのか目的を明確にし、それを実現するための手段を考えてから学習するようにしましょう。
さて、今回はプログラミング入門前に知っておいて欲しいことについてお伝えしました。IT技術の需要が高まっていき、今後も増えていくことが予想される中、プログラミングを習得することはIT技術を理解することにもつながり、プログラマーでなくても役に立ちことが多いでしょう。
プログラマーは自分の時間をある程度コントロールしやすく、収入面でも他業種よりも高い傾向にあるので、ゆくゆくはプログラマーとして働くことを目標にプログラミング入門する方も最近では増えてきています。
プログラミングを効率よく勉強したとして200時間、挫折せずに続けていくためにも、「プログラミングを学ぶ上で大事にしたいこと」で紹介した「質問できる環境を作る」「目的を明確にして学習項目を絞る」この2項目を抑えて、学習できるとよりスキルアップにつながりやすいでしょう。
もしプログラミング入門を考えていてまだ学習し始めていない方、学習し始めてみたものの行き詰っている方はぜひ、プログラミングをしっかり学びましょう。