プログラミングには興味があるけど、やりたいことが見つからない!
プログラミングで、実際にできることが知りたいな!
プログラミングができると、趣味でアプリを作ったり、IT業界への就職(転職)、
さらには副業やフリーランスとして活躍できるようになります!
この記事は、元SEで現WEB系エンジニアの僕がプログラミングでできることを紹介しつつ、どんな言語を使うのか、またその勉強方法も解説していきます。
プログラミングでできること。
プログラミングでできることは、たくさんあります。
が、当記事で解説するのは以下4つ。
趣味などを通しスキルアップが比較的容易にできるもの、求人が豊富で今後も注目されるといったものを選びました。
- WEBサイトやWEBサービスの製作
- スマートフォンアプリの製作
- ゲームの製作
- AI(人工知能)やWEBスクレイピング(情報収集)など
使用するのに適したプログラミング言語も紹介します。
また、わかりやすいよう具体的なサービスなども紹介していきます。
1.WEBサイトやWEBサービスの製作
WEBサイトやWEBサービスは、きっとあなたも使ったことがあるはず。
例えば、以下のようなものです。
- Youtube(動画配信サービス)
- メルカリ、楽天、ショッピングサイトといったネットショップ(ECサイト)
- 会社のホームページ(コーポレートサイト)
- SNS・口コミサービス(インスタ、twitterなど)
- 情報提供などニュースサイトなど
インターネット上で、情報やサービスを提供することができるものが作れるようになります。
使用する主なプログラミング言語は以下の通りです。
- PHP
- Python
- Java
- Rubyなど
僕が初心者におすすめするのは、WEBサービスを作ってみること。
なぜなら、趣味などで簡単に作れますし、慣れてくれば副業で稼ぐこともできます!!
案件がいっぱいありますからね。
あと、ネットや書籍でもわかりやすい解説書やエラー対処法がありますよ!
2.スマートフォンアプリの製作
スマートフォンをお持ちの方なら、絶対使ったことのあるもの。
例えば、LINEやSmartNews、カメラや写真といったものまでその数は膨大です。
スマートフォンアプリの特徴としては、何と言ってもネイティブ機能が使えること!
ネイティブ機能とは、端末に実装されているカメラやセンサー、コンパス、電話帳などとの機能のことです。
LINEであればカメラ機能を使ってQRを読み取り、「友達追加」もできますよね。
ですので、ネイティブ機能とアプリが連携できるところが強みです。
使用する主なプログラミング言語は以下の通りです。
- Swift
- Java
僕は以前(2013年)に、自治体の情報公開サービスのスマホアプリを作りました。
「ハイブリッドアプリ」というHTMLとCSS、Javascriptの技術さえあればできる手法で作りました。
割と簡単にできますので、挑戦してみてはいかがでしょうか!?
また、AndroidはJava、Iphone(ios)はSwiftで作るアプリのことをネイティブアプリと言います。
当時、僕にはそこまでの技量がなかったことと、提供するサービス自体が(カメラなどの)ネイティブ機能を必要としなかったため、ハイブリッドアプリという手法を選びました。
その他の理由として、開発コストがあまり必要としなかったことも挙げられます。
ハイブリッドアプリの有名どころとして「クックパッド」がありますよ。
3.ゲーム製作
PCのブラウザを通してできるブラウザゲーム、
「PlayStation」や「Nitendoスイッチ」など専用ハードウェアを使った家庭用ゲーム機などのゲームを作ることができます。
現在では「Unity」などといった開発環境がありますから、実際コーディングする場面は少ないです。
なので、初心者でも比較的簡単にゲーム開発ができますよ。
使用する主なプログラミング言語は以下の通りです。
- C++
- C#
- Ruby
- Javascriptなど
4.AI(人工知能)やWEBスクレイピング(情報収集)など
現在注目されているAI開発や、WEBスクレイピング(情報収集)などができます。
WEBスクレイピングとは、ネット上のWEBページから欲しい情報を取得する技術のこと。
例えば、中古車オークションサイトの落札額をWEBスクレイピングで取得し、そのデータを蓄積。
蓄積データを、今後のオークションに出品する中古車の仕入れ価格を決める指標に使っているのです。
他に、WEBスクレイピングを使った具体的なサービスは、「グノシー」という情報キュレーションサイト。
ネット上の様々なニュースサイトから、情報を集めてユーザに届けています。
Googleのクローラーをイメージしてもらえばわかりやすいかと...
Googleのクローラーは、入力された検索ワードに対しての情報をかき集めて表示させていますよね。
使用する主なプログラミング言語は以下の通りです。
- Python
以上、「プログラミングでできること」を紹介しました。
しかし、プログラミングは正直挫折する方も多いのが現状です。
- コーディングしたが思ったとおりに動かない!
- エラーが出て、意味がわからないし解決もできない!
- 環境設定が難しくなかなか前に進まない!
- 悩みを解決するための相談相手がいない!!
(僕も同じく辞めたいと思ったこと多々あります)
次節、プログラミングで挫折しない学習方法を紹介します。
プログラミングで挫折しない学習方法
プログラミングで挫折しない学習方法は、あなたが楽しんでプログラミングをしていくことです。
もう一度書きますが、プログラミングは正直挫折する方も多いです。
- コーディングしたが思ったとおりに動かない!
- エラーが出て、意味がわからないし解決もできない!
- 環境設定が難しくなかなか前に進まない!
- 悩みを解決するための相談相手がいない!!
上記理由により、あきらめた人を何人も見てきました。
ですから、やりたいことからはじめるのも良いですが、まずは簡単に学べてかつ人気のあるプログラミング言語などからはじめるのもおすすめです!
そうすることで、あなたのコーデイング通り動くようにもなりやすいです。
また、エラーがあってもネットなどで解決策も豊富にありますので対処もしやすくなります。
僕が経験したプログラミング言語の中でも、初心者にとって学びやすい人気のプログラミング言語を紹介していますのでご参考に!
しかし、「悩みを解決するための相談相手がいない!!」
こんな理由は、独学では解決できる人は限られています。
もしこういった理由をお持ちの方であれば、スクールに通って学ぶのが良いでしょう。
なぜなら、各スクールには現役SEなどのアドバイザーがいてあなたの悩みを解決してくれるのです。
プログラミングの基礎や環境設定をはじめ、どのようにしてサービスを作っていけば良いのか指導してくれます。
では、なぜそういったアドバイザーの存在が重要なのか...
僕が入社1年目(プログラミング未経験)のころ、
いわゆるOJTと言われる、先輩の作業のお手伝いしながらスキルアップする方法で作業をしていました。
プログラミング工程に至っては、コーディングのやり方が分からず、バグ(故障)にも対応し切れず深夜にまで及ぶ作業となりました。
結局次の朝に、分からないところやバグの直しかたなどを先輩に聞きながらの対応です。
ですが、月日が経過するにつれ少しづつではありましたが、コーディングやバグ対応が1人でできるようになりました。
...1年後には、別のプロジェクトでクライアントの話を聞いて設計書を作り、コーディングをするにまで至りました。
1人前とは言いませんが、エンジニアとしての基礎力はついたのかなと実感しています。
でもそれはやはり、先輩の指導があったおかげだと思っています。
もし、あなたが独学でプログラミング学習する自信がない、もしくはもし不明なところがあった場合に「悩みを解決するための相談相手がいない!!」のであれば、スクールで学習することもおすすめします。
受講後の就職(転職)もサポートしてくれますよ。
まとめ
「プログラミングでできることは何か」をご紹介しました。
- WEBサイトやWEBサービスの製作
- スマートフォンアプリの製作
- ゲームの製作
- AI(人工知能)やWEBスクレイピング(情報収集)など
せっかくプログラミングを学ぼうとしても、挫折していては非常にもったいないです。
初心者であれば、まずは楽しんで学びながらプログラミングできるものを選んで欲しいです。
特に「WEBサイトやWEBサービスの製作」は趣味を通してスキルアップもできますし、楽しんでプログラミングができます!
さらには、需要もありますからぜひおすすめです!