プログラミングの在宅ワークが急増中!初心者でもできる?誰でもわかる簡単解説
プログラミング・・・。わかるようで、いまいちわからない、そんな方がほとんどではないでしょうか。または、プログラミングの種類がいくつか答えられる方も、いるかもしれませんね。
2020年、ついにプログラミング教育が、小学校で必修科目になりました。
つまり、これからの時代に、プログラミングの知識やスキルが必要だと考えられているからにほかなりません。
今回は、そんなプログラミングについて初心者でも分かるよう簡単に解説するとともに、プログラミングを学ぶメリットや、種類、初心者の学び方について説明していきたいと思います。
プログラミングとは?
プログラミングとは、「program(ものごとの手順、計画表)」という単語に、動詞を名詞化する「ing」をつけた単語です。一般的には、「computer programing」、つまりパソコンに、「○○しろ」と命令することです。
ただし、パソコンには、日本語や英語は通じません。そこで使われるのが、パソコン用の言語なのです。
イギリス人と話すとき、英語で話しかけるのと同じです。
「右へ曲がって」でなく「Turn right」と言いますよね?
パソコンには、パソコンが分かるような言葉で指示する必要があります。
指示すること自体を「プログラミング」といい、その指示に使う言葉を「プログラミング言語(手順を示す言語)」と言います。
あれもこれもプログラミングで動いている!
プログラミングとは、一体、どんな場面で使われているのでしょうか?
答えは、全てといっても過言ではないと言えます。
Google Chrome(グーグル・クローム)」のアイコンをクリックしたら、Google Chromeが開き、インターネットに自然と繋がりますよね。
また、Excelに計算や関数を入れると、自動的に計算をしてくれます。
また、YouTubeなどの動画サイトで、一時停止ボタンを押すと、映像が一時止まります。そしてもう一度再生ボタンを押すと、ストップした位置から再生を始めます。
これらもすべてプログラミングです。人間がある行為を行うと、なにかが実行されるように、あらかじめ指示しているのです。
つまり、プログラミングする人たち(プログラマーと呼びます)がいてくれるからこそ、わたしたちは、便利な生活を手に入れているのです。
ちなみに、パソコンだけではありません。
町にある、ATMや券売機なども、ある意味プログラミングにより動いています。
わたしたちは、プログラミングと切っては切り離せない世界に生きているのです。
プログラミングを学ぶメリット~仕事で稼げる!~
では、プログラミングを学ぶメリットとは何があるでしょうか。
プログラミングは、言ってみれば、外国語を習得するのに近いです。
そんな大変なことをわざわざ行うほど、自分にとって得があるのでしょうか。
プログラミングを学ぶ一番大きなメリットは、仕事が得られることです。
場合によっては、年収1,000万も夢ではありません。
■サラリーマンの平均年収ってどれくらい?
国税庁が公表している、給与所得者の1人当たりの平均給与(1年を通じて勤務した人のみを対象に調査)によると、平成30年分は440万7,000円です。これは、正規、非正規を含んだ数字です。それぞれを分けると、正規雇用者が503万5,000円、非正規雇用者は179万円と大きく差が開きます。非正規雇用者は、正規雇用者の35%しかもらえていないことになります。
また、440万7,000円という平均値は、男性、女性も含まれています。
男性と女性を分けると、正規雇用・非正規雇用と同様に格差が見られます。男性が545万円であるのに対して、女性は293万1,000円という結果です。半分まではいかないまでも、かなりの差が生まれていることがお分かりいただけると思います。
表を見てお分かりいただけるように、年齢や勤続年数についても調査の対象となっています。あなたの年齢は、掲載されている平均年齢、つまり、46歳よりも上でしょうか?または、平均勤続年数はもっと長いでしょうか。
これはあくまで平均であり、実際には年齢や勤続年数によって、同じ正規雇用の社員でももっともっと低い可能性があります。
■女性や非正規雇用者にもチャンスが
表では、女性や非正規雇用者の平均給与が、男性の正規雇用に対して、格段に低いことがわかります。
女性は、出産を期に、一度仕事を辞めてしまって、キャリアを積み直す必要があったり、家事・育児と仕事の両立のため、責任のある仕事に就きにくいという事情が考えられます。
非正規雇用者は、本人は正規雇用を望んでいても、企業がリスクやコストを低減するために、非正規雇用での採用を求める傾向があることから、やむを得ず給与の低い状態で勤務を続けているという実態が考えられます。
こういった状況を打開するのは難しいです。
しかし、プログラミングというスキルを身につけることで、年収をアップすることが期待されるのです。
■プログラマーはいつの時代にも必要!
いわゆる、プログラマーという仕事は、何十年も昔から存在しています。
そして今、時代が進んでも、常に求められています。
それどころか、必要度が増しています。
なぜなら、コンピューターは、会社にしかなかった特別な機器でしたが、それが家庭に1台となり、場合によっては1人1台など、パソコンが欠かせない時代になりつつあるからです。
先に述べたように、学校でもプログラミングが必修化され、学校にも学習用のパソコンが置かれるようになりました。
「うちには、パソコンが1台しかないよ!」という方もいるかもしれませんが、スマートフォンをもっていませんか?
なかには、スマートフォンとは別に、タブレットを持っている方もいるかもしれません。
それらにもプログラミングが使われています。
また、エアコンや冷蔵庫などの家電や、シャッターや玄関ドアなどの住居設備も繋げるというIotの分野でも、プログラマーが活躍しています。
そう考えると、プログラマーという職種がいかに求められていることがお分かりいただけるはずです。
プログラミングを学ぶメリット2~自宅で稼げる!~
皆さんの通勤時間はどれくらいですか?
30分、1時間…なかには2時間近くかけて毎日通勤している方もいるのではないでしょうか。駅まで歩いている方もいれば、自転車の方も。雨の日も、風の日も、暑い日も、寒い日も出社しなければならないはずです。
■テレワークという働き方
最近、テレワークという働き方が広がりつつあります。とはいえ、「ハンコをおすために出社する」「領収書を提出するために出社する」「機器の点検を行うために出社する」など、さまざまな理由でテレワークができない職種や業務もたくさんあります。
実際に、テレワークが進んでいるのは、一部です。
一方でプログラマーは、テレワークが認められることが多いです。
なぜなら、パソコンとインターネット環境があれば、どこでもできる仕事がほとんどだからです。
つまり、インターネットカフェでも仕事ができますし、マイホームで部屋着のまま仕事を行うことも可能です。場合によっては、海の近くのリゾート地で仕事なんてことも可能ですよね。
つまり、自由度が高いのが、プログラマーという職種。月に1度など、出社する必要があるケースもありますが、基本的には「在宅勤務可」と好条件の求人が多いです。
■子育てをしながら仕事ができる!
在宅で仕事ができるということは、小さな子どもがいるパパ・ママは、子どもを見ながら仕事ができるということ。万が一保育園に入れないなんて状況でも、仕事をすることも可能です。そもそも、育児休暇を取得せずとも、仕事を続けることも可能かもしれません。看護師や美容師などと同様、「手に職」ということになるので、いったん子育てに専念し、また復帰なんて選択もしやすいですよね。
プログラマーの働き方って?1日の流れはどんな感じ?
プログラミングを習得し、プログラマーとして働くと、いったい、どのような働き方があるのか、どういった一日の流れになるのか、4つの例をご紹介します。
■まだまだ新米。企業所属のプログラマー
プログラマーとしてある企業に就職したA君。今年で3年目をむかえました。先輩に少しずつ指導を受けながらようやく1人でこなせる範囲も増え、充実した日々を送っています。
勤務している会社は、各企業から業務システム開発を請け負っている大手企業。営業が契約してきた案件に対し、SE(システムエンジニア)がシステムの全体像を作成します。A君は、そのシステムの一部分を指示され、プログラミングを行います。
納期が迫っているときは、ひたすらバグ修正などを行い、深夜帰りになることもしばしば。
普段は定時で帰ります。なお、お昼休憩中や通勤時間を利用して自主勉強をすることも。
■独立してバリバリ仕事をこなす、フリーランスのプログラマー
これまで10年ほど会社員プログラマーとして働いていたOさん。経験を積んだことで、思い切って独立してフリーランスに。自分の裁量で仕事の量を調整できることもあり、納期に余裕があるときは家事や育児にも参加しています。
これまでの仕事のつながりから、案件は紹介などで継続的にもらえます。しかし、いつまで仕事がもらえるか常に不安はつきまといます。そのためにも、夜、日々スキルアップのため、研究にいそしんでいます。また、今後法人化することも検討中。そのために必要な手続きについても勉強中です。
■子育ての真っ最中。両立を目指すプログラマー
将来性を考え、妊娠を機に、これまで勤めていた会社を辞め、プログラミングスクールでプログラミングを習得したHさん。出産後、育児に少しずつ余裕が出てきたこともあり、仕事を始めることに。経験がないため仕事探しは難航したものの、なんとか仕事が見つかり、ついにプログラマーとしての道を歩き始めました。現在は、子どもがまだ小さいこともあり、扶養範囲内での勤務、子育て5、仕事5の割合で両立中。子どもが家にいるため、作業は飛び飛びで少しずつ、また、お昼寝している間は集中して行います。間に合わない、仕上がらないときには、早朝や深夜パソコンと向き合ったり、自治体が行っている子ども預かりサービスを利用します。
来年は子どもが幼稚園に入るのを機に、扶養範囲を超えて仕事の幅を広げることを検討中。ただし、家事や子育てに影響が出ないよう、在宅ワークでの仕事を続ける予定です。
プログラミングにも種類がある!
いろいろな働き方ができるプログラマーですが、実は、プログラミング自体にも種類があるのです。ちょうど、日本語、英語、中国語、マレーシア語など、それぞれの国によって異なる言語があるように、プログラミングにもさまざまな言語があるのです。
いくつか代表的な言語をご紹介します。
■HTML
習得が簡単で、初心者にもおすすめのプログラミング言語。皆さんが見ているウェブサイトにも使われています。実際は、次に紹介するJavaScriptやCSS、PHPなどの言語との組み合わせることで、便利で使いやすいサイトになっている場合が多いです。したがって、あくまでプログラミングの基礎として学ぶ方が多いです。
なお、パソコンに入っているメモ帳などに書くだけでOK。ブラウザで開けば、プログラムを確認することが可能です。
■JavaScript
ウェブサイトをみるためのブラウザ上で働く言語。申し込みフォームなどにメールアドレスなどを入力する場合、適切な形で入力されているか確認をしたり、パスワードに適さない文字を入れるとお知らせをしてくれたりします。
また、一度表示されたサイトの一部を変更したり、拡大したりするときにも、このJavaScriptが働いています。
使い方としては、HTMLで書いたプログラミングの一部に<script>・・・</script>とJavaScriptを書くという宣言を行ってから。コードを書きます。ただし、最近では別ファイルに記述する場合が多いです。その場合は、<script type=”text/javascript” src=”呼び出したいファイル名を入れる”></script>と書きます。Web制作を目指したい場合は、HTMLのほか、このJavaScriptを学ぶことがおすすめです。
■PHP
JavaScript同様、HTMLに組み込むことができる言語です。HTMLだけで書かれたウェブサイトより、動的で、見ている人にとっても見やすいサイトにできることが特徴です。
たとえば、HTMLで書かれた掲示板は、アクセスしたタイミングでの表示で,5分たっても10分たっても画面は変わりませんが、PHPが使われている場合、どこかのユーザーが書き込む度にその内容が反映されていきます。PHPは掲示板だけでなく、問い合わせフォームやショッピングカートなどにも使用されます。小さな小売店でもWeb販売する会社が増えていますので、
非常に有望な言語だと言うことができます。ほかにも、ユーザーがある記事を見ていると、関連記事を自動的に紹介していくなども可能。よりユーザーを惹きつけるウェブサイトを構築することができます。
また、現在、世界中のウェブサイト制作に使われているWordPressでも、このPHPが使われています。関数などの知識が必要となりますが、需要がある言語なので、これからプログラミングを学ぼうとしている方におすすめの言語と言えます。
■Python(パイソン)
需要が急増しつつあるPython。いま、最も注目されている言語の1つです。比較的シンプルなコードで分かりやすいので、初心者にもおすすめ。現在Pythonを教えるスクールも増えています。
もともと、大学や研究機関などに限られた言語でしたが、Webサービスに使われたり、人工知能(AI)などに活用されるなど、使用用途も広がってきています。実は、皆さんもよく知っているYouTubeやGoogleのWebサービスでも使用されています。また、オンラインストレージサービスとして有名なDropboxは、すべて、このPythonで書かれているということは有名な話です。
求人が多いわりには、まだまだエンジニアが少ないこともおすすめする理由の1つ。最新分野に挑戦したいという方は、ぜひチャレンジしてみてくださいね。
■Java
JavaScriptとよく間違えられる言語、Java。一見、JavaScriptの略のようですが、実際には全く異なります。さきほどのJavaScriptは、Netscape Communications社という企業が開発した言語で、おもにWeb制作に使用される言語です。一方Javaは、Sun Microsystems社が開発した言語で、企業内で使用する業務システム、例えば、銀行のシステムや、スマートフォンなどのアプリで使用される言語です。やりたいことがWeb系のものであればJavaScriptを学ぶ必要がありますし、企業内の基幹システムを構築したいという方は、Javaを選択することとなります。なお、Javaは、業務システムやアプリから、TwitterなどのWEBサービス、ゲームまで幅広く使用されています。つまり、仕事の幅もそれだけ広いということです。しかも、OSを選ばないので、使い勝手の良い言語とも言われています。しかし、デメリットもあります。それは、習得が難しいということです。もしくは、習得ができても、それをうまく使いこなすのが難しく、一人前になるには、年数がかかると言われています。また、独学で学ぶことも非常に難しい言語でもあります。お金をかけてスクールに通い、それでも一人前になるまでに年数がかかるとなると、なるべく早く仕事を得たいという方には、あまりむかない言語と言うことができます。ただし、前述したように、活躍の場は広く求人にも困りません。時間をかけてでも頑張りたいという方は、ぜひチャレンジしてください。
■C#(シーシャープ)
C#は、マイクロソフト社が独自に開発した言語の一つです。というと、Windowsなどマイクロソフト社のOS上でしか使用できないと誤解されがちですが、実際には、MacOSやiphoneなどのApple社のOSにも使用可能。また、Androidアプリや、Webサービスにも使うことができます。なお、一般的な企業で使用する業務システム、たとえば、財務会計や給与計算など、汎用性が高いプログラムもこのC#で開発可能です。また、十分習熟すれば、教育用アプリの開発も可能。将来、こんなシステムを作り上げたいなんて夢をもっている方には、おすすめの言語です。
なお、高度で汎用性の高いシステムが組めるプログラミング言語でありながら、C++や先に紹介したJavaよりも難易度は低めです。
ちなみに、プログラミングを行うには、原則IDE(直訳すると、統合開発環境のこと)が原則必要です。メモ帳でもコードをかけるHTMLよりは準備に手間がかかりますが、無料のダウンロードサービスもあるので、費用はかかりません。また、C#を教える無料サイトも多く、独学で学ぶことも可能。書籍も販売されているので、ハードルは低めと考えて良いでしょう。
■C++(シープラスプラス)
さきほどのC#と混同されやすいのがC++という言語。古くから使われている言語である
「C言語」に拡張機能を持たせ、効率の良いプログラミングが可能となりました。C言語をもとにしているということで、互換性があるのもポイントです。業務システムや、スマートフォンアプリ、またWeb上で動くアプリなどに使われています。ただし、Web上で動くアプリは、先に紹介したPHPやPythonが主流になりつつあります。したがって、Web上のサービスに興味がある方は、そちらを学ぶと良いでしょう。
とはいえ、C++の良いところは、軽くて、動作が速い点。複雑な処理を必要とする大規模システムにぴったりです。公共機関のシステムに使用されることもあり、求人に困ることもないでしょう。そういった意味では、安定的に仕事を得たいという方におすすめ。習得は難しいのでスクールでしっかり学ぶことをおすすめします。
■Ruby(ルビー)
手軽にプログラミングできるということで知られるRuby。実は、まつもとひろゆき氏という日本人が開発した言語です。
プログラミング言語は、一般の言語と異なることが、習得を難しくしていると言われていますが、このRubyは、記号を減らし、短くてシンプルで覚えやすいと評価されています。一方で、「習得が簡単な言語だと簡単なことしかできないのでは?」と不安を口にする方もいますが、複雑なことも組めるので、世界中で使用されています。
Webアプリや、デスクトップアプリケーションなどによく用いられており、ショッピングサイトの構築やスマホアプリ、ゲーム開発など、さまざまな種類の業務が存在します。有名なところでは、Cookpad、クラウドワークス、Gunosy(グノシー)、Airbnb、価格comといったようなサイトがあります。
なお、学習環境も良好と言えます。もともと日本で開発された言語であるため、書籍や解説サイトが多く見つかります。また、IDEもダウンロード可能。まずは自宅PCで気軽に試してみるなんてことも可能です。
■Swift(スウィフト)
Apple社が開発した言語、Swift。おもに、iphone上で動くアプリケーションの開発に使用されています。簡単にアプリを開発することができるという特徴があります。ただ、残念ながら汎用性は低めで、macOS搭載パソコンやiPhone、iPad、Apple Watchなど、Apple社提供のデバイスに限られてしまいます。将来的にはほかへの広がりが期待されるところです。
なお、言語自体は使いやすく、初心者でもミスしにくいのがメリット。プログラミングはバグとの戦いですので、このあたりは、初心者にもおすすめポイントと言えます。また、プログラムを書いた後、プログラムを実行させ、きちんと動くか確認をするといった作業も、ツールを使えば簡単。そういったところも初心者に人気の秘密と言えます。
■GO/golang(ゴー)
現在、注目株のプログラミング言語といえば、GOではないでしょうか。すでにプログラマーとして活躍中のエンジニアからも人気のプログラミング言語です。シンプルなコードであるうえ、実行速度が速いので、大量のデータと同時に処理させるようなものにもむいていると言えます。また、拡張性も高いこと、PHPの苦手分野である並行処理・エラーチェックも得意であることから、PHPになり代わる言語として使われるケースも増えてきています。
メルカリやクックパッドなど、有名なサイトやアプリでの実績もあります。また、オンラインで学べるサイトもありつつ、求人情報も増えているという背景が、GOの人気を加速させています。今後いろいろな分野での活用が期待されているので、興味がある方は、ぜひチャレンジしてください。
■Scala
2003年に開発された、比較的新しいプログラミング言語です。先に紹介したJavaと互換性があるため、使用される機会が今後期待できます。具体的には、Javaで書かれたシステム内でも使用できるということ。コードがシンプルで、記述も少なくて済むといった特徴もあり、Javaの後継言語とまで言われています。Javaは人気の言語であること、しかし、習得には時間がかかることから、この新しいプログラミング言語であるScaraが注目されているといってもいいでしょう。まだ、市場の動向としては大きくありませんが、今後の市場の動向に要注目です。
■R
今後、ますます需要が高まるデータサイエンスにおいて注目のプログラミング言語が、Rと先に紹介したPythonです。データサイエンスとは、集められたデータを分析し、科学的な分析に基づいたアプローチを行うといったもので、企業のマーケティングには必要不可欠な技術であると言えます。ビッグデータの活用が叫ばれる今、まさに求められているプログラミング言語なのです。また機会学習を行うにも統計を分析するといった作業が必要です。限られた分野で使われる言語でありながら、今後発展する分野での活躍が期待されていることが、Rの人気に火を付けていると言えるのではないでしょうか。
なお、Rを学ぶための環境作りは簡単で、無料でダウンロード可能です。より簡単に習得できるよう訓練用のパッケージも用意されており、初心者の方にもおすすめの言語と言えます。
なお、どの言語が現在人気を集めているかというランキングが発表されています。これは、AI(人工知能)やビッグデータなど、新しい分野の発展に伴う世の中の動向を表しているとも言えますが、世界中に影響するような災害や戦争といった出来事で、一時的な変化を表すこともあります。つまり、人気ランキングを見て、学ぶ言語を選ぶ場合は、一年限りではなく、少なくとも2,3年間の動向を見ることをおすすめします。
1位:C・・・前回順位は2位。変化率+2.82%。
2位:Jaza・・・前回順位は1位。変化率+0.28%。
3位:Python・・・前回順位は 4位。変化率+1.29%。
4位:C++・・・前回順位は3位。変化率-1.97%。
5位:C#・・・前回順位は6位。変化率+0.30%。
6位:Visual Basic・・・前回順位は5位。変化率-1.01%。
7位:JavaScript・・・前回順位は7位。変化率-0.01%。
8位:PHP・・・前回順位は9位。変化率0.00%。
9位:SQL・・・前回順位は8位。変化率-0.47%。
10位:R・・・前回順位は21位。変化率+0.90%。
2020年5月TIOBEインデックスの1位~10位を抜粋(前回順位は2019年5月時点)
プログラミングの仕事(プログラマー)で稼げる年収
プログラミングの仕事で得られる年収は、中央値が500~600万円くらいが多いです。
納品時期が迫っていると深夜作業が多いこともあり、決して、楽な仕事とは言えませんね。
しかし、1,000万以上の年収をもらっている人もいるのは事実。なかには、1,300万円以上のエンジニアもいて、企業の上層部にいるよりよほど稼いでいる人がいるのです。
また、特徴として、一般企業の平均収入とは異なり、年齢にあまり関係がないということも挙げられます。30代後半や40代など、まだ一般企業では若い方の年代でも、1,000万円超えの方も多くいます。一方で、400万円程度で苦労している人も多くいます。良くも悪くも、実力次第の職業だということがお分かりいただけると思います。
なお、年収の差には、実力だけでなく、使用する言語によっても差が生まれます。
<<年収中央値ランキング>>
1位:Go 年収中央値600万円 最大提示年収1,600万円 求人数2,202件
2位:Scala 年収中央値600万円 最大提示年収1,300万円 求人数1,489件
3位:Python 年収中央値575.1万円 最大提示年収1,499万円 求人数9,344件
4位:Kotlin 年収中央値575万円 最大提示年収1,200万円 求人数961件
5位:RypeScript 年収中央値575万円 最大提示年収1,200万円 求人数667件
6位:R 年収中央値574.8万円 最大提示年収1,000万円 求人数220件
7位:Ruby 年収中央値550万円 最大提示年収1,200万円 求人数11,676件
8位:Swift 年収中央値550万円 最大提示年収1,200万円 求人数3,353件
9位:Perrl 年収中央値525万円 最大提示年収1,200万円 求人数4,509件
10位:C 年収中央値525万円 最大提示年収1,000万円 求人数9,347件
求人検索エンジン「スタンバイ」プログラミング言語別年収ランキング2018より
ご覧のとおり、年収中央値はそれほど大きく変わりません。最大提示年収は、10位のC言語だと1,000万であるのに対して、Goは1,600万と600万も開きがあります。Goは、フリマアプリ、メルカリ内にあるバナーツールに使われているなど、注目を集めている言語です。また、メルカリが、「開発はすべてGoを使います」と宣言したことは有名です。実際に、スマホ決済アプリ、メルペイも使用しています。ほかにも、ほかの言語からGoに乗り換える企業も出てきていますが、まだエンジニアが少ないという現状があります。そのため、メルカリでは、社外の人向けに無料で学べる場を提供しているほど。求人数は多くはありませんが、そういった背景が最大提示年収の高さにつながっていると言えるでしょう。
初心者が学びやすいプログラミング言語は
それぞれのプログラミング言語の特徴や活躍の場、習得のしやすさなどは、プログラミング言語の箇所で説明しましたが、たくさんある中から、どの言語が初心者におすすめなのかが疑問ですよね。
まず、初心者がチェックしたいポイントは以下のとおりです。
<<初心者がチェックしたいポイント>>
○シンプルで習得しやすい言語か(習得に長い時間を必要としないもの)
○学べる環境があるか
○求人が多いかどうか
<<初心者が次にチェックしたいポイント>>
○年収が高いか
○将来性があるか
習得に時間がかかったり、求人募集が少ないものは、いくら興味がある分野でもおすすめしません。また、「稼げるプログラマー」になるためには、言語に人気があって、高い年収での仕事がオファーされているかが重要です。さらに、活躍する分野に興味がある場合とない場合ではモチベーションにも差が生まれるため、できるだけ興味のある分野で使われている言語を選ぶと良いでしょう。
先に述べた条件が当てはまる、つまり初心者におすすめの言語は以下のとおりです。
○PHP・・・Web制作に欠かせない言語。フリーランスでの仕事も多いので、独立したい方、在宅ワークをしたい方などにおすすめです。習得もしやすいので、とにかく早く仕事を得たいと考えている方に最適です。また、Webという一般の人に広く見られるものを作れるので、やりがいが大きいとも言えます。
作れるもの:オンラインショッピング、ブログ、SNS、お問い合わせフォーム、オンライン予約
○Ruby・・・シンプルなコードで、習得しやすいのがおすすめの理由。また、日本人が開発した言語であることもあり、日本語の解説サイトが多いことから、とりあえず自分で学んでみたいという方にもおすすめです。求人数も多め。また、スタートアップ企業が募集しているケースも多く、初心者でも仕事が探しやすい言語です。
作れるもの:Webアプリケーション、ブログ、オンラインショップ、SNS、スマホアプリ、スクレイピング(ウェッブサイトから情報を抽出すること)
○Pyrthon・・・求人はそれほど多くないものの、学習がしやすいこと、データ分析というこれから発展する分野に使われていることから、今後期待がもてます。年収は平均的といったところですが、応用力や実績次第であがっていく可能性も。データ分析、AI(人工知能)、IoTのシステムなどの分野に興味がある方におすすめです。
作れるもの:Webアプリケーション データ分析ツール、AI(人工知能)
プログラミングを学ぼう
プログラミング言語の種類、プログラミング言語ごとの年収や求人数を理解し、自分が習得したい言語が決まったら、次は、学ぶ方法を知りたいですよね。
学ぶ方法は主に2種類あります。
■実際のスクールで学ぶ
もっとも簡単な方法は、プログラミングを教えるスクールで学ぶことです。
東京や大阪など大都市であれば、何校かあるので、いろいろ選択肢もあります。スクールでは、プログラミングの言語だけでなく、ビジネススキルやパソコンのハード面での知識など、総合的に学べることがメリットです。プログラミングは、言語さえ習得すれば良いというものではなく、より高い年収を獲得するためには、ビジネスやパソコン全般に対する総合的な知識が必要だからです。社会経験やビジネスに関する知識が乏しい方は、スクールをおすすめします。
また、オンラインと異なり、講師陣に手軽に質問ができたり、同じくプログラミングを学ぶ学生と友達になれたりするメリットもあります。友達をつくっておくことで、将来独立したときにも情報の交換ができたり、仕事を紹介してもらうなんてこともありえます。また、居場所ができることで挫折を防ぐことができます。すぐに諦めてしまいがちな性格な方は、スクールを選択すると良いでしょう。コスト的には一番かかりますが、プログラマーとしての道を歩める可能性も高まります。
<有名なスクール>
・TECH CAMP・・・国内最大級。渋谷・新宿・池袋・大手町や名古屋、大阪の梅田と6校あります。オンライン受講も実施。
■オンラインスクールで学ぶ
コストを抑えつつ、しっかりと学びたいという方におすすめなのが、オンラインスクールです。
数も多いので、いろいろな選択肢があるのもメリット。
「1週間で学べる!」と謳うところから、「マンツーマン」「専門のアドバイザーがつく」など、さまざまなポイントがあります。初心者の方は、習得期間の短さより、質問できる場や機会が設けられているかを重要視することをおすすめします。講義を聞いているだけなら、ついていける場合が多いですが、実際に自分でプログラミングを行ってみると、エラーが出たりして、つまずく場合が多いからです。現在プログラマーになりたい人が増え、オンラインスクールも増えつつあります。低価格や短期間で習得できることを売りにしているところは、別のプログラミング言語を習得している方が、新たなプログラミング言語を学ぶ場合には問題がなくても、全くの初心者がスタートするにはむかない場合も多いです。
丁寧にサポートしてくれるところを選ぶことをおすすめします。
<有名なオンラインスクール>
・TechAcademy・・・1コース129,000円(4週間)から受けることができます。また、いろいろな言語や知識を学びたいという方におすすめ。1コース12週間で学ぶコースの場合は229,000円ですが、2コースだと308,000円、3コースだと24週間で429,000円と割引価格で受講することができるのです。なお、ウケ放題プランも。約5ヶ月で398,000円で受講することができます。
・GEEK JOB(ギークジョブ)・・・未経験、初心者を対象としたオンラインスクール。実際の開発現場で使われている内容をカリキュラム化しており、卒業したあと仕事で実際に役立つ知識が学べることが最大のメリットといえます。Webアプリ学習コースであれば2ヶ月で132,000円と割安な価格設定なのも魅力。専業主婦や子育てをしながら仕事をしたいというワーキングママにもおすすめです。また、無料で学べる「転職 / 就職コース」などユニークなプランも実施しています。
・ディープロ(旧称:DIVE INTO CODE)・・・本格的に、しっかりと学びたいという方におすすめなオンラインスクール。何を習得したいかと目的別に応じて学べるので、「学びはじめてみたら、思っていた内容と違った!」というギャップを防止することができます。たとえば、就職達成プログラムは4ヶ月で498,000円 ですが、「新規事業創造プログラム」の場合は10ヶ月で498,000円です。同じ金額でも学ぶ期間が異なるのは、期間で費用が決めるのでは無く、目的に応じたカリキュラムを組むことにより確実な習得を目的としているからです。なお、根幹から学びたいという方向けに、「機械学習エンジニアコース」も用意されています。
■独学で学ぶ
目的意識や自己管理能力が高いという方におすすめなのが、独学で学ぶ方法です。
ただし、HTMLのようにメモ帳など汎用ソフトで組めること、または無料のIDEが用意されていることなど条件が揃えば、独学で学ぶことは可能です。
次に重要なのが、学びたい言語に関する書籍があるか、またWeb上で手軽に手に入るかという問題です。スクールを利用しない場合は、段階的にうまく学べるようなカリキュラムがないので、書籍や解説サイトを下がることから始める必要があります。解説サイトといっても、初心者向けの解説サイトや役立つコードを紹介しているサイト、問題などを提供してくれているサイトなど、必要に応じて自分で探して習得するしかありません。
費用はそれほどかかりませんが、準備に手間はかかります。
また、わからないときにも質問先がないので、自らその答えを探していく努力も必要です。
また、習得期間についても制限がないため、自己管理能力が必要となります。「明日にしよう」が繰り返されると、気がついたら諦めていたということにもなりかねません。
最初、独学である程度学んでからオンラインスクールに入るという手もあります。自分が分からない点に集中して授業を聞いたり、確実な質問ができるからです。
費用をあまりかけられない方は、チャレンジしてみてください。
プログラミングにむく人って?
言語によって習得が難しい、挫折する可能性があると言われるプログラミングですが、そもそも、プログラミングにむく人というのはあるのでしょうか。
■なにかつくり上げることが好きな人、
地道な作業の繰り返しであるプログラミング。ひとつひとつは、ただのコードなので、すぐに形になっていくわけではありません。しかし、地道に造り上げた結果、それが業務システムやWebアプリケーションとして日の目をみたとき、大きな喜びを得ることができます。とはいえ、その間はバグとの戦い。根気強さが必要です。地道に何かをつくりあげることに喜びを感じられる人は、プログラミングにむくということができます。
■頭で考えることが好きな人
とりあえずやってみよう!という行動力は重要ですが、プログラミングの場合には、「やりたいこと」を明確にとらえたあと、「どのようにすれば良いか」を、まず頭で考える必要があります。ゴールにたどり着くことが最終目的ですが、どのようにゴールにたどり着くか、その方法もこのプログラミングにおいては重要なのです。やみくもに始めるのではなく、あらかじめ全体を見通し、戦略を練ることが求められます。その際には、いわゆる論理的思考が役に立ちます。
■人とのコミュニケーションがとれる人、人の気持ちがわかる人
プログラミングというと、パソコンさえ相手にしていればいいというイメージがありますが、実際には、人とコミュニケーションをとることができ、人の気持ちが理解できることが、いいプログラマーになる近道です。
なぜなら、プログラムは人のためのものであるからです。ユーザーにとってより使いやすいシステムをつくることが、よいプログラマーと言えるのです。
■より良いものを作るための努力を惜しまない人
プログラミングは、その言語のルールが分かって、動くものをただ書けばいいというものではありません。バグを潰すことも仕事のうちだと説明してきましたが、より高収入を得るには、ほかにも要件が必要です。
それは、効率的なプログラムを書くことに他なりません。効率的なプログラムの反対は、無駄が多いプログラムということができます。下記はその例です。
―――――――――――――――――――――――――――――――――――――――
たとえば、S店に行って、りんごとトマトを買ってくるようにお母さんから頼まれたとします。
Aちゃんは、真っ直ぐS店にむかい、りんごとトマトを買って20分で戻ってきたとします。
一方、Bちゃんは、S店に向かう際に、スキップしたりでんぐり返しをしたりして、遊びながらたどり着きました。そこで、りんごとトマトを買ったほか、ついでに余ったお金でお菓子まで買い、食べながら帰ってきました。家に戻ったのは、30分後。Aちゃんの1.5倍かかりました。
―――――――――――――――――――――――――――――――――――――――
以上の例では、どちらが効率的と言えるでしょうか。
確かに、Aちゃんも、Bちゃんも、「目的=S店でりんごとトマトを買う」については、同じように達成できました。
しかし、Bちゃんは無駄なことをしていたため、時間がかかってしまいました。
家で待っていたお母さんには、BちゃんがどのようにS店に向かって帰ってきたかはわかりませんが、結果としてAちゃんのほうが早く着いたことはわかるはずです。
プログラミングも同じです。「○○ができるシステムを構築する」といったゴールを達成できたとしても、無駄なプログラムがなく、「処理速度が速い」「エラーが少ない」ほうが、優秀とされるのです。
つまり、「ゴールしました。はい、納品します」ではなく、よりよいものをかき上げる熱意や努力が必要なのです。
無駄のないプログラムを書けたとき、自分なりに「美しい!」「すっきりした!」と思える心がある人のほうが、よりプログラミングにむいていると言えます。
ちなみに、ハンドメイド作家がプログラマーを目指すケースも。地道な物づくり、しかもより完成度の高い商品を造り上げることに喜びを感じる性格が、プログラミングにもむいていると言えるかも知れませんね。
まとめ
今回は、「プログラミングに興味がある」「プログラマーになりたい」という方向けに、プログラミングに関する解説をお届けしてまいりました。IotやAIという新しい技術が開発されるなかでプログラミングの重要性が増していることから、プログラミングを教えるスクールも増えてきました。また、テレワークや在宅ワークが急速に進むなか、プログラマーは注目を集めています。
プログラミングを解説するサイトが増えるにつれて、情報が手に入れやすくなり、コストをかけなくても手軽に学べるようになったことも、プログラミングに注目が集まっている背景のひとつでしょう。しかし、スクールであれば、学んだあと、働ける企業を紹介してくれるなどのメリットもあります。自分である程度学んだものの、実績がないとなかなか雇ってもらえないという声もありますので、スクール代は必要な投資と割り切って考えることも必要です。上手に活用しながら、プログラマーを目指してくださいね。