2020年度から小学校、2022年度から高等学校で必修となったプログラミング教育。プログラミングはデジタル化が進み、これからの社会に不可欠となってきています。そんなプログラミングを始めたいと思っている人、また最近始めたという人「プログラミングって何?」と思っている人もいるかと思います。この記事はプログラミングについての知識から仕事内容、将来性などをわかりやすく幅広く解説しています。
プログラミングってなに?
プログラミングとは、コンピュータに指示するためのことです。
コンピュータは人間の言語を理解することができないので、プログラミング言語というものを使ってコンピュータに指示を出していきます。
プログラミング言語は、人が理解しやすいように英語などの自然言語に近い形で作られています。でもプログラミング言語は、自然言語とは異なるルールなどがあり、それらを理解して、正しく書いていく必要があります。
プログラミングでどんなことができるの?
プログラミングがコンピュータに指示していくことがわかりました。次にプログラミングで指示をすると主にどんなことができるのかを挙げていきます。
①ゲームやアプリの開発
②WebサイトやWebサービスの構築
③ツールの自動化
④データ分析
⑤システムやソフトウェアの開発
⑥ロボットを動かす
⑦IoT(Internet of Things)の開発
⑧ブロックチェーン技術を使う
⑨メタバースを作る
⑩便利ツールの開発
主にこの10個がプログラミングのできることです。
何か興味のあることはあるでしょうか?
プログラミングに関連する仕事はどんな仕事がある?
プログラミング言語にもいろんな種類があるように、プログラミングに関する仕事も色々あります。ここの部分では、プログラミングに関する仕事を挙げていきたいと思います。
プログラマー
仕事内容:仕様書もとにプログラミングでプログラムを作成する仕事です。保守業務も行います。
システムエンジニア
仕事内容:システムの要件定義や設計・開発・テストを行います。
データサイエンティスト
仕事内容:データの収集・分析・活用を行う仕事です。大量のデータを分析するためプログラミングを使用します。
Webエンジニア
仕事内容:WebサイトやWebサービスの開発・運用を行う仕事です。
アプリエンジニア
仕事内容:スマートフォンアプリやPCアプリの開発や運用をする仕事です。
セキュリティエンジニア
仕事内容:システムのセキュリティを担保します。
データベースエンジニア
仕事内容:データベース設計から開発・運用まで担当する仕事です。
インフラエンジニア
サーバーやネットワークなどのインフラを設計から構築・運用まで担当する仕事です。
まだまだプログラミングに関する仕事はありますが、以上がプログラミングに関連し、さまざまな分野で需要がある職種となっていますので、参考にしてください!
プログラミングは理系の人が向いているって聞くけど、文系出身では無理なの?
プログラミングを調べると必ずと言っていいほど理系の人に向いているという記事を目にすると思います。それを見て文系の人たちはがっかりしてせっかくやってみようとなったものを諦めなくてなならない気持ちになると思います…
ですが安心してください!
プログラミングに理系も文系も関係ありません!現に僕の周りには文系出身のプログラマーしかいません(笑)
「お前の周りだけだろ」って思うかもしれませんが、実際、文部科学省が令和2年度に実施した学校基本調査によると、
大学卒業後に「情報処理・通信技術者」の職に就いた学生のうちの文系出身者(人文科学・社会科学)は全体の約45%。新卒IT人材の4割が文系出身という結果
https://www.mext.go.jp/b_menu/toukei/chousa01/kihon/kekka/k_detail/1419591_00003.htm
があり、文系出身者でもプログラマーとして活躍しいていることがわかりますよね?
なので文系だからって諦める必要はないので安心してください!
プログラミングに向き不向きってあるの?
もちろんプログラミングも他の仕事と同じで向いてる人・向いていない人はいると思います。ここではどう言った特徴や性格の人が主に向いていて、どういった人には向いていないかお伝えしていきます。
プログラミングに向いている人の特徴や性格
論理的思考力がある
論理的思考とは、物事を整理して順序良く考えることです。まず問題を把握して情報収集、 次に順序を立てて考えて、最後に答えや結論を出すことです。 なぜプログラミングに論理的思考が必要かというと、プログラミングは曖昧な指示では正常にしないためです。 そのため、プログラミングの際は具体的な指示をする必要があるからです。
柔軟に対応できる
プログラミングというのは、流行りというものの変化が速いです。また新しい技術が登場したりするので、状況に 応じて適切な対処をする必要があるので、柔軟な対応が求められます。 また、開発中に予想外のトラブルやエラー・バグが発生はつきものです。そのたびに新しい対処法を探さなければなりません。 そのため一つの物事に対して、多方面から対処法を考えられる柔軟な考えができることでスムーズな対処ができるようになります。 問題発生時でも柔軟に物事を考え、冷静に対応できる能力を持った人は向いていいると思います。
モノ作りが好き
プログラミングはデジタルデータではありますが、モノづくりに携わる仕事です。 手に取れる商品ではありませんが、アプリやゲームなど、人の生活に関係したものを開発していくので、何かを作る ということに喜びを感じれる人は向いています。
わからないことをすぐに調べる癖がある
プログラミングには、エラーやバグというものはつきものです。その時に必要な情報を調べる「サーチ力」が必要不可欠 となってきます。プログラマーといえど、すべてのエラーやバグに対しての知識があるわけではありません。 そのため迅速に解決するために調べて解決方法を見つけるということは多くあります。 なのでどんなことに対しても調べる癖のある人は、向いていると思います。
粘り強い人
プログラミングにはエラーやバグがつきものです。エラーがバグが発生した場合は前工程の部分に何らかのミスがありエラーが起こっているので修正する必要があります。ですがそのエラーが必ずしも容易に対処できるとは限りません。そういった時は対処に長時間時間がかかってきてしまいます。そのため粘り強い性格でなければすぐに諦めてしまうので、プログラミングには粘り強い性格が向いているでしょう。
最新の技術や最新のモノが好き
プログラミングというのはトレンドの流れが早いです。新しい技術が出てくることによってトレンドが変化しやすいことが特徴です。なので、最新の技術や新しい技術への興味関心、情報集取ができる人はプログラミングに向いています。
プログラミングに向いていない人の特徴
プログラミングやIT技術に興味がない
プログラミングやIT技術はトレンドの変化が激しいです。そのため常に自己学習や情報収集をしていかないと乗り遅れてしまうことになってしまいます。
もし興味がない人がプログラミングをやったとしても、興味がないことを常に勉強したり技術を磨いていくということは、とても苦しいと思います。なのでプログラミングやIT技術に興味のない人は向いていないです。
学習意欲が低い
学習意欲の低い人はプログラミングには向いていない可能性が高いです。
まずプログラミングを学ばなければできないので学習する必要があります。またプログラマーになった後もプロジェクトのによっては新しい言語を学ばなければならなかったり、新しいスキルを取得しなくてないけなことが多くるため情報収集や継続的な学習しなくてはいけないからです。
面倒くさがらずなんでも自力で解決する
一見良さそうに見える特徴だと思いませんか?確かに、自力で問題解決できることは重要ですが、プログラミングの世界では、効率化や情報共有が重要であり、必ずしも自力で全て解決しようとする必要がないからです。面倒なことは効率化を図ろうとしている人は生産性が高く市場価値の高い人材になれる可能性が高いです。
以上がプログラミングに向いている人・向いていない人の特徴と性格でした。
そのほかでもプログラマーの適正診断があるので試してみるのもいいと思います!
参考
プログラミングの学習方法ってどんなのがある?
いざプログラミングを始めようと思ってもどう始めたらいいかわかりませんよね?そういった方のためにプログラミングの学習の仕方を挙げていきます。
プログラミングの学習方法① 独学
まず最初は独学です!でも独学だとどうゆう学習の方法があるのかって話ですよね!
と、その前に
独学で始める前に目標を設定した方がいいです! 「なんで目標が必要なの?」と思うかもしれません。目標を設定することの意味は独学をうまく進めるための計画が立てやすくなったり モチベーションの維持にもなるからです。 目標設定の仕方 ・目標は具体的に設定する どんなものが作りたいか 作りたいものによって言語が変わってくるからです。ここを明確に決めておかないと作りたいものが作れない可能性が出てきます。 作りたいものが決まらないなら「スマホアプリ」 →身近なものだからイメージが沸きやすいから 言語の決定 その言語は需要は多いか 人材の需要を確認することで長期的な収入を得やすくなります。需要がなく下火傾向の言語であった場合もし取得したとしても収入が上がらなかったり 理想の働き方ができない可能性が出てくるからです。 どんな働き方をしたいか ・学習期間を設定する 標準な学習期間を把握しておかないと、挫折してしまう可能性が出てきます。 学習期間の目安として基本的な構文の理解やデータ型の理解、単純なアルゴリズムの理解に3ヶ月~6ヶ月ほどかかります。 プログラミングの中級者(言語やフレームワークの基本を理解していたりデータ構造とアルゴリズムの理解など)までですとさらに半年から1年ほどかかります。 こういった期間を把握しないと挫折してしまうので事前に計画を立てていきましょう。
ここからやっと独学での学習の仕方を2つお教えします。
独学① 書籍
まず最初は書籍を使った学習方法です。まず書籍での学習の結論から言いますと、自分のペースで学習するというメリットがありますが、初心者には書籍だけでの学習は時間と労力がかかるということと文章だけでは解読しずらい部分もプログラミングはあるので、難しいと感じると思う方は多いのではないかと思います。
書籍学習の進め方
① 自分に合った書籍を選ぶ
早くプログラミングをできるようになりたいと思って買った書籍も自分のレベルに全く合っていない書籍だったら学習どころか解読することも困難になると思います。なので書籍を選ぶポイントを教えます!
- レベルに合った書籍を選ぶ
- 内容がわかりやすい書籍を選ぶ
- 評判の良い書籍を選ぶ
② 学習計画を立てる
次に学習の計画を立てることです。計画を立てる上での注意点ですが、プログラミングはすぐやってすぐできるものではありません。なので長期的な計画が必要です。なので、まず学習時間の確保が大事になってきます。あとは以下の内容を決めて学習を進めていけばいいと思います。
- 学習目標を決める
- 学習スケジュールを決める
- 学習内容を決める
やはり目標を持たないと、アクションプランも決まってこないと思うので、まず目標を決めてからスケジュールや学習内容を決めていきましょう。
3. 実際に学習する
ここからは実践に入ってきます。以下のポイントを踏まえつつやっていきましょう
- 一章ずつ丁寧に読み進める
- わからないことはすぐに調べる
- 実際にコードを書いてみる
初心者の場合、読んでいてもさっぱりわからないことが多いと思います。なのでまずマインドとしては「わからないことがたくさん出てくる」というマインドで進めていかないとすぐ心が折れてしまうと思います。なのでかなり地道ではありますが、1行1行読んで進めていっていただきたいです!
以上のポイントを押さえて進めていけばプログラミングができてくると思います!
独学② 学習サイト
次に学習サイトですね!今では書籍ではなくわかりやすいプログラミング学習サイトが出てきました。まず学習サイトでプログラミングを学ぶメリットデメリットを教えます。
メリット
- 豊富な学習コンテンツ
- 自分のペースで学習できる
- 低コストで学習できる
- 最新の情報が学べる
デメリット
- モチベーション維持が難しい
- 質問できる相手が限られる
- 実践的なスキルが身につきにくい
学習サイトは常に最新の情報が載っていますし、内容が幅広いです!しかも低コストで学習できるのはかなりメリットだと思います。
デメリットの部分は書籍でも言えることなので個人的には学習サイトの方がわかりやすく挫折しにくいと思います。
おすすめプログラミングサイト3選
① Progate
まずは王道のProgateですね!こちらのプログラミング学習サイトは初心者向けのサイトとして多くの方が使用され、人気があります!Progateが人気の理由をお伝えします。
①豊富なコンテンツが充実している
- プログラミング言語
- Webデザイン
- データ分析
- その他
プロゲートはプログラミングのコンテンツとしてもかなり充実してるのにさらに他のことも学べるとか最高すぎますね!プログラマーかWebデザイナーどっちか迷っている人とかはこの1サイトで網羅してしまうかもしれませんね!
②低コストで学習できる
Progateは無料でもほんと触りのところまではできるので、「プログラミングってどうゆうものなんだろう」って思ってる人は無料で体験してみてプログラミングに触れてみるといいと思います!
もっと学習したいと思って有料会員になったとしても1078円とあり得ない価格で学習することができます!
③ ゲーム感覚で学習できる
Progateはレベルアップシステムでゲーム感覚で学習することができるので、書籍で学習するよりもモチベーションを維持しながら学習することが可能です!またプログラミングの説明もスライド方式で、ポイントポイントに分かれており、直接打ち込んで学習することができるので体で覚えていけます。
② ドットインストール
次に紹介するのはドットインストールです!
こちらの学習サイトも多くのプログラミング初心者の人たちから人気のあるサイトです。
Progateと違う最大の特徴は動画での説明です。Progateではスライドで説明するのですが、ドットインストールでは動画で説明してもらえるので、言葉での説明だけではなく動きとしても確認ができるのでとてもわかりやすいです。
ドットインストールも有料会員でも月々1080円ととんでもなく安い料金となっています!
言語も多くあり、1つのレッスンでアプリが作れちゃうので達成感もありおすすめです!
③ Udemy
3つ目に紹介するのはUdemyです!
Udemyとはアメリカで設立された、世界最大級のオンライン学習プラットフォームです!
Udemyも動画形式での学習となっています。Udemyの特徴としてはプログラミングだけでなく、未字ネスやデザイン、マーケティングなど幅広いジャンルのコースを受講することができます。
また海外の学習サイトですが、多くのコースでは字幕や音声翻訳が用意されているので、日本語でも学習できます。
Udemyで学習するにあたって注意する点があります。それは
質の高いコースとそうでないコースの差が大きいです。
Udemyでは15万人を超える講師が登録しています。その講師の方たちが出した動画なので、やはり動画の質というものの差が出てくるのです。なので動画を購入する際は以下の点に気をつけてください。
・自分の目的やレベルに合ったコースを選ぶ
・レビューを参考にしてコースを選ぶ
以上の点に気をつけてコースを選んでください。
またUdemyはコースごとに料金が異なってくるので、コース選びは少し慎重に選びましょう!
プログラミングの学習方法② プログラミングスクール
続きましてプログラミングの学習方法はプログラミングスクールです。
プログラミングを学習しようとしている人はみなさん知っていると思います!
プログラミングスクールは現役エンジニアや講師の方からプログラミングを教えてもらい学習ができるというサービスとなっています。
プログラミングスクールの特徴としては
- 現役エンジニアや講師による指導
- カリキュラムが用意されている
- 質問できる環境がある
- 就職支援がある
以上の点が特徴となります。プログラミングがわかっている人から教えてもらうってかなりいいですよね!個人的なわからない部分に直接質問できるわけですからより理解が深まります。
プログラミングスクールはどのような人におすすめ?
プログラミングスクールは、以下のような人におすすめです。
- 効率的にプログラミングスキルを身につけたい
- 独学で学習するのが難しい
- 就職活動を有利に進めたい
僕的にはやはり「効率的にプログラミングスキルを身につけたい」人や「独学で学習するのが難しい」人はプログラミングスクールに行って学んだ方が良いと思います!
次にプログラミングスクールのメリットとデメリットを挙げていきます!
メリット
- 効率的に学習できる
- 挫折しにくい
- 就職に有利
デメリット
- 費用が高い
- 自分のペースで学習できない
- 質の高いスクールとそうでないスクールの差が大きい
メリットとしては、先ほどもお伝えしたとおり、現役のエンジニアの方や講師の方から教えていただけるので、理解を深めやすい点、またプログラミングスクールによってですが、メンターの方がついており、あなたの目的や目標に合わせて適切に学習手順を教えたり、勉強中に困ったことに対して助言や指導、アドバイスをくれるので挫折しにくい点が大きいです。また再就職の前に成果物として自分のオリジナルのものを制作する期間もあるので、自分のポートフォリオとして使うことができるので、就職に有利になります。
デメリットとしては、やはり受講料が高いということです。また質の高いスクールとそうでないスクールもあるのでスクールの選択は難しくなります。なのでプログラミングスクールを選ぶ際には以下の点に気をつけて選ぶようにしましょう!
- 学習目標
- 学習時間
- 予算
- 無料体験
- 口コミ
- 評判
自分に合ったスクールを選ぶことが大切です。
僕もプログラミングスクールを受講した経験して今があるのでお勧めします!
プログラミングを始める前に必要なものや、身につけておいた方がいいスキルってある?
プログラミングをするにあたって最低限どんなもの必要か、このスキルがないと困るものを紹介していきます!
必要なもの パソコン
なんといってもパソコンですね!流石にパソコンがなかったら何も始まらないですね!笑
ここではプログラミングを始める際、どんなパソコンを用意したら良いか伝えていきますね!
初心者がプログラミングを始める際に必要なPCスペック
プログラミングを始める際に必要なPCスペックは、使用するプログラミング言語や開発する内容によって異なります。
- CPU: Core i5以上
- メモリ: 8GB以上
- ストレージ: 256GB以上
- OS: Windows 10/11、MacOS Catalina以降
補足としてメモリは、8GB以上と書いていますが、複数のソフトを同時に起動させる場合などは、16GB以上あると安心です。
※ストレージは、開発する内容によっては、512GB以上必要になることもあります。
WindowsとMacどっちがいいの?
OSは、WindowsとMacのどちらでも構いません。
しかしそれぞれにメリットとデメリットがありますのでお伝えします!
Windows
メリット
- ソフトやハードウェアの選択肢が豊富
- 価格が比較的安い
- ゲーム開発にも適している
デメリット
- Macに比べて動作が重い場合がある
- セキュリティ対策が必要
Mac
メリット
- デザインが洗練されている
- 動作が安定している
- セキュリティ対策がしっかりしている
デメリット
- ソフトやハードウェアの選択肢が少ない
- 価格が比較的高い
- ゲーム開発には向いていない
以上のようなメリット・デメリットがあります!また補足ですが、プログラミングスクールによってはMacでなくてはいけないというようなパソコン縛りがあるスクールもあるのでスクールを受講しようとしている方はそういったところも注意するようにしましょう!
必要なスキル タッチタイピング
次に必要だなと思っているのはタッチタイピングです!これは僕の体験談もあるのですが、僕はプログラミングを始めるまでは職人をしていたのでパソコンを触る機会なんて皆無でした。なのでタッチタイピングはもちろんどこにないがあるかも全くわからない状態でした…
僕はプログラミングスクールでプログラミングを学習したのですが、その前にタイピングの練習をしておいて本当に良かったと思っています。なぜかというとプログラミング理解する、しない関係なく、タイピングができないと何も進まないからです。僕はかなり遅いですがタッチタイピングまでできるようにまではなっていたのでギリギリなんとかなりましたが、もしやっていたかったと思うと青ざめますね…笑 てかやめていたのではないかと思います!こんな経験をしたのでぜひこれから始めるという人には最低限タッチタイピングができることをお勧めします!
お勧めタイピングサイト
マナビジョン
https://manabi.benesse.ne.jp/gakushu/typing/
こちらベネッセさんのタイピング練習ページとなっています。僕のように全くパソコンを使ってこなかった人にはホームポジションの位置も教えてくれるのでお勧めします!
e-タイピング
https://www.e-typing.ne.jp/
こちらも僕がやっていたタイピング練習ページです!他のタイピング練習サイトよりも少し長い文を練習したいという方にはおすすめではないかと思います!
寿司打
https://sushida.net/
これはみなさん知っているかと思う王道タイピング練習サイトです!
他のものよりもゲーム感覚でできるので楽しくタイピングを練習できます!
以上のサイトを使ってタイピングの練習してみてくださいね!
まとめ
では今回かなり長い記事となりましたので、最後まとめていきます!
プログラミングとは?
プログラミングとは、コンピュータに指示するためのことで、コンピュータは人間の言語を理解することができないので、プログラミング言語というものを使ってコンピュータに指示を出していく。
プログラミングでできること
①ゲームやアプリの開発
②WebサイトやWebサービスの構築
③ツールの自動化
④データ分析
⑤システムやソフトウェアの開発
⑥ロボットを動かす
⑦IoT(Internet of Things)の開発
⑧ブロックチェーン技術を使う
⑨メタバースを作る
⑩便利ツールの開発
プログラミングに関連する仕事
・プログラマー
・システムエンジニア
・データサイエンティスト
・Webエンジニア
・アプリエンジニア
・セキュリティエンジニア
・データベースエンジニア
・インフラエンジニア
プログラミングは文系出身でも大丈夫?
大学卒業後に情報処理系の職に就いた学生の全体の約45%。新卒IT人材の4割が文系出身という結果であり、文系出身者でもプログラマーとして活躍しているので、文系でも活躍できます!
プログラミングに向いている人の特徴や性格
・論理的思考力がある
・柔軟に対応できる
・モノ作りが好き
・わからないことをすぐに調べる癖がある
・粘り強い人
最新の技術や最新のモノが好き
・プログラミングに向いていない人の特徴
・プログラミングやIT技術に興味がない
・学習意欲が低い
・面倒くさがらずなんでも自力で解決する
プログラミングの学習方法
プログラミングの学習方法① 独学
・独学① 書籍
・独学② 学習サイト
プログラミングの学習方法② プログラミングスクール
メリット
・効率的に学習できる
・挫折しにくい
・就職に有利
デメリット
・費用が高い
・自分のペースで学習できない
・質の高いスクールとそうでないスクールの差が大きい
プログラミングを始める前に必要なものや、身につけておいた方がいいスキル
必要なもの パソコン
最低限必要なスペック
- CPU: Core i5以上
- メモリ: 8GB以上
- ストレージ: 256GB以上
- OS: Windows 10/11、MacOS Catalina以降
OSは、WindowsとMacのどちらでも良いがそれぞれメリットデメリットがある。
必要なスキル タッチタイピング
タイピングができないと何も進まないからまず身につけておくべきスキル
以上となります!
最後まで読んでいただきありがとうございます!
読んでくださった人たちの少しでも力になったら嬉しいです。
おさる
コメント