【初心者は読むべき!】プログラミングを学ぶ前に知っておくべきこと!
(*このページは2021年11月17日に更新されました。)
「プログラミングを勉強してみたいけど難しそう。」
「プログラミングが大切になっきているからとにかくプログラミングを勉強したい。」
このようにプログラミングという言葉は耳にしたことはあるけど実際、難しそうで自分には向いていないと思う方やとにかく学んでみたいという方が多いです。
結論から言うと、プログラミングを学ぶことは今後の将来にとても役に立つスキルになります。
なぜなら、自分の将来の仕事や視野が広がり、人生の選択肢が増えるからです。
近年、IT人材の需要が大幅に拡大してきているので、IT技術の進歩とともにキャリアアップを目指すことができます。
そして、磨かれたプログラミングスキルを活かして副業としてサイトやアプリを作ったりすることも可能です。
また、プログラミングを学ぶ方法はいくつかありますが、自分で勉強するのではなく、現役エンジニアから学ぶ方法をおすすめします。
しかし、何の目的も持たずにプログラミングを学ぼうとするとモチベーションが上がらず途中で挫折してしまう可能性があるので、初めてプログラミングを学ぶ方は「何を作りたいのか、将来はどのようになりたいのか」という目標を持ってから学習するようにしましょう。
今回は、プログラミングを学ぶ前に知っておくべきことについて下記の内容で初心者方でもわかりやすくご紹介していきます。
⚫︎ プログラミングとは
⚫︎ 初心者がプログラミング学ぶ前に確認しておくべきこと
⚫︎ プログラミングを学ぶと将来の仕事や視野が広がる
⚫︎ プログラミングを学ぶ方法
⚫︎ プログラミングを学ぶと、将来どんな職業につけるのか
こんにちは。マサルです。
今回は、プログラミングを学ぶ前に知っておくべきことについて紹介していきます。
ブログラミングの将来性や勉強方法、どのような職種につけるのかなどがわかりやすく書かれています。
目次
プログラミングとは
プログラミングとはコンピュータにさせる処理を、順番に書き出すことを言います。
コンピュータは人間と違って、自分で考えて自分で動くことができません。
例えば、「この問題を解いてください。」言ってみましょう。
よし、終わった。
でもだ時間あるから他の問題を解いても良いか聞いてみよう。
カンリョウシマシタ
人間は指定された問題を解いた後次は何をするか考えることができますが、コンピュータは言われた範囲内の問題しか解きません。
また、コンピュータに日本語で「この問題を解いてください。」といってみましょう。
分かりました。
解いてみます。
ナニヲイッテイルノカワカラナイカラジッコウデキナイ。
日本語ですので日本人なら問題を説いてくれますが、コンピュータは日本人ではないため、このように日本語で伝えても問題を解いてはくれません。
例えば、日本人に日本語で話すと伝わりますが、外国人に日本語で話しても伝わりませんよね。
それと同じです。
つまり、初めから終わりまでの一連の動きを正確に、コンピュータがわかる言語で伝えることをプログラミングといいます。
また、コンピュータに命令が伝わるために使用する言語をプログラミング言語といいます。
プログラミングを学ぶと将来の仕事や視野が広がる
近年、IT業界では人材の不足が大きな問題となっています。
2019年3月に経済産業省がIT人材の不足数を公表したのですが、下記のような結果になっています。
2018年のIT人材の不足数は22万人、2019年は26万人、2020年は30万人となっています。
2021年以降の予測も記載されており、2021年は31万人の不足、2022年は32万人の不足、そして2030年には約45万人のIT人材が不足するというシナリオです。
この数値はあくまで予測なのでまだ何とも言えませんが、ひどくて2030年には最大で約79万人ものIT人材が不足すると予測されています。
出典: IT人材需給に関する調査(概要)
弊社でも案件をいただたいていますが、2021年の夏頃にかけて案件数が多くなり、コロナになる前の状態に戻ってきているのではないかと感じます。
人材が少なく案件数が多いということは、スキルさえマッチすれば案件へ参画できる確率が低くなり、仕事をしながら新たなスキルを学ぶことができるということになります。
また、ITエンジニアの仕事の平均の年収は約498万円で、日本の平均年収と比較すると高い傾向にあり、大学新卒の人材に年収700万円以上を提示する企業も現れているようです。
つまり、IT人材の需要が大幅に拡大してきているため、プログラミングを勉強してエンジニアになるとIT技術の進歩とともにキャリアアップを目指すことができます。
そして、プログラミングで学んだ知識は仕事だけでなく副業にも生かすことができます。
例えば、クラウドワークスなどで単価が高めのお仕事を取ることが可能だったり、Webサイトを立ち上げてアフィリエイトを始めることも可能です。
このようなことから、プログラミングを学ぶと将来の仕事や視野が広がり、選択肢が何倍にも増えるようになります。
初心者がプログラミング学ぶ前に確認しておくべきこと
選択肢が何倍にも増えることから、「プログラミングめっちゃいいじゃん!」と思う人もいるかと思います。
しかし、何も考えずとにかくプログラミングを学べは良いのかというとそうではありません。
ここでは初心者がプログラミング学ぶ前に確認しておくべきことについて紹介していきます。
プログラミングで何をしたいのかを明確にする
まずは、プログラミングで何をしたいのかを明確にしましょう。
プログラミング言語はメジャーなものから、マイナーなものまで合わせると200種類以上あり、コンピューターの種類や作るものよって使用される言語が異なります。
つまり、Webサイトを作りたいのにアプリの開発言語を勉強しても意味がないということです。
そのため、プログラミングを学ぶ際にはまず何をしたいのかを明確にしましょう。
もし、おすすめなプログラミング言語を知りたい場合は下記をご参考ください。
プログラミング言語は業界や作るものによって変わる
2つ目は、プログラミング言語は業界や作るものによって変わるということです。
先ほども少し説明しましたが、プログラミング言語はコンピューターの種類や作るものよって使用される言語が異なります。
例えば、Web業界のコーディングであればHTML/CSSやJavaScriptを使用することが多く、金融や商業で使用するシステムを開発するとなるとJavaやC#を使用することが多いです。
また、保険業界ではCOBOLというプログラミング言語を使用します。
このように、業界や作るものによって使用するプログラミング言語が変わるということです。
つまり、プログラミング言語を一つ学んでおけば全てできるというわけではないということを理解しておいてください。
プログラミングを学ぶ方法
プログラミング学ぶ前に確認しておくべきことはわかりましたが、プログラミングはどのようにして学べは良いのでしょうか?
プログラミングを学ぶには下記のような方法があるかと考えます。
IT会社に就職し仕事をしながら学ぶ
結論から言うと、プログラミングを学ぶにはIT会社に就職し仕事をしながら学ぶのが一番早いかと思います。
なぜなら、働きながら毎日8時間、強制にプログラミングの勉強ができるからです。
そして、給料もいただけますので一石二鳥です。
また、仕事の現場に入ると、会社にもよりますが優秀なエンジニアがゴロゴロといます。
もしわからないことがあれば、彼らがすぐ近くにいるので、すぐに聞きに行くことができ、一瞬で解決してくれます。
自分も開発現場に入ってからまだ慣れない時でも、死に物狂いで調べて作業に取り掛かることでプログラミング言語の理解がかなり深まり、色々な開発に挑戦できるようになることがありました。
しかし、社員となることから自由が利かなくなりますのでご注意ください。
会社に勤めながらプログラミングの勉強ができるので実績経験を積むことができます。
フリーランスでなくても良い方はこちらがおすすめです。
プログラミングスクールで学ぶ
プログラミングスクールでもプログラミングを学ぶことができます。
プログラミングスクールには、言語や技術ごとにたくさんの講座やコースが設けられており、実務でも通用するレベルのプログラミングスキルが短期間で身につきます。
その理由は、多くのプログラミングスクールが、現役エンジニアや元エンジニアを講師として採用しているからです。
また、プログラミングスクールでは、同期となる受講生たちと一緒に学べるため、モチベーションを維持しながら学習を進めることができます。
最近ではオンラインでも可能なスクールもありますので、ネット環境さえあれば、地方からでも東京のプログラミングスクールを受講できたり、時間や場所に縛られず自分のペースで学習することが可能です。
こちらで、おすすめのプログラミンングスクールについてご紹介していますので詳しく知りたい場合はこちらをご参考ください。
多額なお金はかかるかもですが、学習次第で確実にスキルが身につきますので未経験の方にはおすすめです。
独学で勉強して学ぶ
こちらはあまりお勧めしませんが、独学で勉強してもプログラミングを学ぶことができます。
本屋に行き、参考書を購入して勉強したり、「progate」などのWebサービス、「Youtube」などの動画配信サービスを利用して勉強することができます。
つまり、お金を多くかけることなくプログラミングの学習をすることができます。
しかし、質問相談できる相手がいない為、エラーを解決するまでに多くの時間をかけてしまうということがあります。
また、エラーばかり起こってやる気がそがれてしまい、挫折するというようにモチベーションの維持も困難です。
その為、プログラミングが未経験の方には独学はお勧めしません。
プログラミング経験のある方でしたら良いかもですが、間違った内容のまま認識してしまったり、エラーの解決に時間がかかる為、未経験の方にはあまりおすすめしません。
まずはプログラマーとして経験をつける
プログラミングを学び始めた場合はまだ実務経験がありませんので、まずは「プログラマー」としてお仕事をすることになります。
「プログラマー」とは、プログラミング言語を駆使してプログラムを組み、システムを作り上げる職業になります。
みなさんがイメージしている通り、コードをメインに書いていく職業です。
また、プログラマーは作って終わりではなく、システム設計や構築されたシステムのテストを担当することもあります。
しかし、プログラマーはプログラマーでも様々な職種があり、使用するプログラミング言語も変わってきます。
そのためここでは、どのような職種のプログラマーがいるのか、どのようなプログラミング言語を使用するのか紹介していきます。
Web系プログラマー
Web系プログラマーは名前の通り、Webサイトの開発を行います。
Webサイトのデザインや操作性、機能性などに気を配り、ユーザー満足度を高めることが仕事です。
そのため、サイトの画面の作成はもちろん、サーバーやデータベース間で受け取った情報などの画面には表示されない部分も担当します。
HTML/CSS、JavaScript、PHP、Java、Pythonなど
(フレームワークも多数使用)
アプリケーションプログラマー
アプリケーションプログラマーとはパソコンやスマートフォンに搭載されるアプリケーションの開発を行います。
例えば、iPhoneの「iOSアプリ」やAndroidの「アンドロイドアプリ」、PCのブラウザ上で動作する「Webアプリ」などがあります。
アプリケーションはアプリやスマホのバージョンも更新もあることから、「完成しては改良」の繰り返しです。
また、今まで「Objective-C」で開発していましたが、「Swift」に変換するように使用するプログラミング言語を変更することもあります。
そのため、アプリケーションプログラマーは新しい情報を入手し、常に学び続けることが必要です。
・Webアプリ:Java、JavaScript、Python、PHP、Ruby、C#
・Androidアプリ:Java、Kotlin
・iPhoneアプリ:Swift
(フレームワークも多数使用)
オープン系プログラマー
オープン系プログラマーは、オープン系システムと呼ばれるシステムを開発する職種になります。
主にソフトウェア開発の製造工程(プログラミング)とテスト工程(単体・結合)を担当します。
そのため、機能を正しく実装するためにロジック思考や実装スキルが必要となります。
しかし、主力なプログラミング言語で開発ができるため、需要は高めです。
Java、JavaScript、PHP、Ruby、Pythonなど様々
AIプログラマー
AIプログラマーとは、AIシステムのアプリケーション開発を行う職種です。
AIシステムに必要なアプリケーションを、要件に合わせて開発を行い、システムに関連してサービスの学習を担当したり、モデルの作成・開発から運用まで全工程を担当することもあります。
AIは需要が高くなってきているのでAIプログラマーもこれから需要が高くなっていくかと思います。
Python、C、C++
汎用系プログラマー
汎用系プログラマーとは、汎用機と呼ばれる汎用系システム上で業務アプリケーションを開発する職種です。
汎用系システムは大規模システムを中心に、銀行・証券系基幹系や損保系のシステムに使用されています。
また、開発したアプリケーションのメンテナンス作業を中心に需要があり、他にも新規システム開発やシステム移行も多くなっています。
COBOL、PL/I、RPG、FORTRANなど
ゲーム系プログラマー
ゲーム系プログラマーとはゲーム処理のプログラムを開発する職種です。
シナリオライターと連携し、キャラクターの動作やBGMを連携させるなど、ゲームの中を作るようになります。
以前はPCのブラウザのゲーム開発が多かったのですが、最近はスマホゲームの開発が多くなってきています。
C#、Unity
制御系・組み込み系プログラマー
制御系・組み込み系プログラマーとは通信機器や産業機器などに組み込む制御プログラムを開発したり、制御システムを組み込んだりする職種です。
主に電化製品や車などの動きを制御するシステムを開発したり、制御用プログラムを組み込んで動作せるためのシステムを開発したりします。
そのため、大手家電メーカや大手車メーカからのお仕事が多いです。
C、C++,Java
プログラマーでスキルをつけた後に就くことができる職種
ある程度、プログラマーとして実力がついてくると経験が豊富になったことから、責任が大きい職種を任されることになります。
そのため、ここではプログラマーでスキルをつけた後に就くことができる職業について紹介していきます。
システムエンジニア(SE)
システムエンジニア(SE)とはクライアントの要求から仕様を決定し、大まかな設計をするまでの工程を担当する職種になります。
プログラマーはシステムの設計や開発が役割になりますが、システムエンジニアはクライアントから要求を聞いた上でどのようなシステムを作るか提案し、設計するのが役割です。
そのため、プログラマーと違って人とのやりとりを行うことが多い職種になります。
プロジェクトリーダー(PL)
プロジェクトリーダー(PL)とは、開発などのプロジェクトを遂行する際の現場責任者になります。
現場責任者であるため、現場に携わる業務の責任を負うようになります。
プロジェクトチームのリーダーになりますので、責任がとても大きい職種になります。
プロジェクトマネージャー(PM)
プロジェクトマネージャー(PM)とは、プロジェクト全体の意思決定をし、プロジェクトの実行と成功に責任を負う管理者になります。
品質・コスト・納期といった前提条件やプロジェクトの実施計画を策定・管理して、プロジェクトに必要な人員や資源を確保します。
現場に携わる業務の責任を負う「プロジェクトリーダー」に対して、クライアントなどの社外関係全般に責任を持つのが「プロジェクトマネージャー」です。
会社の規模によってはプロジェクトマネージャーがプロジェクトリーダーを兼務する場合もあります。
まとめ
プログラミングを学ぶと人生の選択肢が増える
⚫︎ プログラミングとは初めから終わりまでの一連の動きを正確に、コンピュータがわかる言語で伝えることである
(コンピュータに命令が伝わるために使用する言語をプログラミング言語という)
⚫︎ プログラミングを学ぶと将来の仕事や視野が広がる
(仕事をしながらスキルアップにつながり、副業でも生かすことができたりなどの選択肢が増えるため)
⚫︎ 初心者がプログラミング学ぶ前に確認しておくべきことは下記の2点である
・プログラミングで何をしたいのかを明確にする
・プログラミング言語は業界や作るものによって変わることを理解しておく
⚫︎ プログラミングを学ぶ方法は下記の3つの方法がある
・IT会社に就職し仕事をしながら学ぶ
・プログラミングスクールで学ぶ
・独学で勉強して学ぶ
⚫︎ プログラミングを学び始めた場合、まずは「プログラマー」としてお仕事をすることになり、プログラマーは下記のような職種がある
・Web系プログラマー
・アプリケーションプログラマー
・オープン系プログラマー
・AIプログラマー
・汎用系プログラマー
・ゲーム系プログラマー
・制御系・組み込み系プログラマー
⚫︎ プログラマーでスキルをつけた後は下記のような職種に就くことができる
・システムエンジニア(SE)
・プロジェクトリーダー(PL)
・プロジェクトマネージャー(PM)
ST
株式会社flyhawkのSTです。フライテックメディア事業部でのメディア運営・ライター業務なども担当。愛機はMac Book AirとThinkPad。好きな言語:swift、JS系(Node.js等)。好きなサーバー:AWS。受託開発やプログラミングスクールの運営をしております。ご気軽にお問い合わせください。