副業/在宅ワークのお仕事ブログ

コロナの影響で本職を失いかけている現状を打開すべく副業から始めた在宅ワーク。自分が経験した失敗談や学んだことをアウトプットしていくブログです。

プログラミングとは?はじめての方への入門編

f:id:takumi5610:20210303221634p:plain

こんにちは。副業、在宅ワークについての記事を書いています匠です。

今回は「プログラミング」について調べています。

在宅ワークをしたいけど、どんな仕事があるの?」

っていう思いから
「プログラミング」
について知りたい!

とおもっているあなたに、「プログラミング」についてをわかりやすく解説していきたいと思います。



[目次]

①プログラミングとは?

プログラミングとは、「プログラム」を作る作業のことを言います。

じゃあそのプログラムって何?

これは、コンピューターにさせる行動(処理)を順番に書き出したもの。
コンピューターは自分で考えて行動できないので、誰かが指示を与えてあげなくてはいけないのです。
コンピューターはその指示通りに行動します。

例えば、「歩く」という指示をコンピューターにさせようとすると、単に「歩け」と指示をしてもコンピューターは
理解してくれません。

「右足を前に出して重心を前に移動させる。そのあとに左足を上げ右足の前に移動させる」

という一つ一つの行動を指示を与えて初めてコンピューターは理解し「歩く」という行動をします。

この詳しい動作をコンピューターに教えてあげることができる文章が「プログラム」というわけです。

身の回りにある身近ないろんな「プログラム」


コンピューターに関係のないことでも、「プログラム」という言葉は使われています。

運動会のスケジュールや、入学式、卒業式等の式典の順序などにも「プログラム」という言葉は使われていたりします。

これらは「やるべきことが順番に書かれている」ことから同じ言葉で「プログラム」という言葉が使われているわけです。

ただ、何が違うのかというと、プログラムを作る人やそのプログラムに従って行動する相手が違いますね。

人を行動させる場合、我々日本人であれば日本語であったりするわけですが、人にはその人物が住む地域や人種によって使われている言語が存在します。

コンピューターを行動させようとするならば、コンピューターが理解できる「言語」でプログラムを作らなければなりません。


その専用の「言語」を使ってコンピューターを行動させることが「プログラミング」ということです。


スマホやゲームも実はプログラムで動いています。


私たちの身近にある機械は、実はその「プログラム」によって動いています。

人が通ると点灯するライトを例に例えると、

「センサーが反応したらライトを点灯させる」

というプログラムで動いています。

他の機械。スマホやテレビ、家庭用電化製品なんかも全て「プログラム」で動いているわけです。


ホント、便利な世の中になりましたね♬


それは全て自動化が進んだためですが、仕事の在り方もこれによって大きく変化をしてきました。

頭を使うことを人間が行い、実際の作業はコンピューターにやってもらう。

ということが主体となってきています。
これからもこの波はどんどん進んでいくんだと考えられます。

だからこそ、最近では「プログラミング」が学校の必須科目になるとまで言われていますね。


②プログラミングができると、どんな良いことがあるの?

f:id:takumi5610:20210303222934j:plain

論理的思考力を身に付けられる


プログラミングは一部でも間違えてしまうと、自分が行動させたいことについてうまく行動してくれなかったり、
全く動かなかったりします(泣)

正常に自分が行動させたいように動かすにはあらゆるケースを想定して正確に実装しなければうまく動いてくれません。

プログラミングはパズルのようなものなので、いくつかの行動を組み合わせて一つのプログラムを作ることになります。

組み合わせによって上手く動かなかったりもします。違う行動をしてしまうかもしれません。
実行結果が違うものにならないように、慎重に考えながら作る必要があります。

一つ一つの行動に整合性を確認しながら正しく考えなければならないので、論理的な思考力が身に付くわけです。

事務系の業務の効率化につながる


プログラミングに関する知識は事務系の作業の効率化にも応用できます。

大量のデータ入力や、表計算、集計などの作業も。
プログラミングを使えば効率化できます。

表計算等の事務系ソフトで有名なMicrosoft OfficeでのVBAやマクロなど、作業を効率化するための発想や技術は活かすことができます。

業務効率化の代表としてはGoogle関連サービスの間で利用できるGoogle Apps Scriptが挙げられますね。

自分の力で稼げるようになる


プログラミングができる人はまだ少なく、特殊なスキルの一つでもあります。
これからのIT技術の進歩に需要もさらに高まっていくスキルでもありますね。

システムエンジニアプログラマーとして個人で稼げるようになるっていうのも、魅力の一つでもあるのではないでしょうか。スマホのアプリなども自分で開発できるようになると、凄い収入になるでしょうね♬

ただ初めからスマホアプリを開発しよう!

といったことにチャレンジするのではなく、

作業の効率化

を目的としたプログラムをつくれるようになる!といった目的でプログラムの勉強はした方が良いでしょう。


③プログラミングを生かした職業にはどんなものがある?

f:id:takumi5610:20210303222252j:plain


プログラミングを生かした職業っていうのははたしてどんな職業なのでしょうか。

それをまとめてみました。

プログラマー

プログラマーとはコンピューターに指示を出す言語を使いこなし、様々なサービスや機械を動かすための
「中身」を作る人の職業です。

「プログラムを書く」といっても書く人によって効率の良さは大きく変わります。

作りたいサービスや機械ののことを考えながらいかに効率の良い作業ができる手順を考えてコンピューターの指示を書くか。
これが重要な要素になってきます。

同じ機械でも「中身」次第でその機械を効率よく動かすことが可能かどうかが決まります。
プログラマーとはその「中身」を作るプロフェッショナルとも言える職業でしょう。

システムエンジニア


現在のコンピューターシステムは複雑で一人が全てを作りこむことは不可能になってきています。

時には一つのシステムに数百人のプログラマーが一つ一つのプログラムを作るということも珍しくありません。

そのシステムのまとめ役を担うのが、システムエンジニアという職業です。


システムエンジニアは全体的なシステムを把握し、プログラマーのグループや個々のプログラマーに対しての割り振りや、
人員・予算・工程の管理等を統括する役割もあります。

多くの企業では、プログラマーからシステムエンジニアへとステップアップをしていくキャリアプランを実施しています。

データサイエンティスト


10年前までは名前をほとんど聞いたことのない職業だったでしょうが、ここ最近では注目され高収入も期待できる職業となっています。

例えば、高速道路で走る車の数や全車両の動きを分析して混雑状況を予測する場合、データをどう分析して結果を出すか。
AIの判断をサポートする役割を担う人が必要になってきます。

これがデータサイエンティストのお仕事で、ビッグデータ、AIの知識だけでなく数学や統計学の考え方を熟知してしている知識と洞察力が必要となってくる職業になります。

Webデザイナー


データサイエンティストが数学・統計学スペシャリストなら、Webデザイナーはクリエイティブ・デザインセンスがもとめられる職業です。

情報サイト、ニュースサイト、ショッピングサイトなど、様々なWebサイトの企画から携わりHTML/CSSJavaScriptなどを用い、実際の動きをコンピュータに指示を出します。

いかに便利につかってもらえるか

を考え、実用面での効率性や合理性を実現する力が必要になります。

それと、「パット見ておしゃれ」「かっこいい」などのデザインのセンスも求められる職業です。



④プログラミングは稼げるって?


これは実際にプログラムを作成する「内容」や「技術」によってイエスともノーとも言えます。

指示に従ってただ単純作業を繰り返すだけのプログラムでは難しいでしょう。

ただ世界中の誰も生み出せなかったプログラムを作ったりビジネスモデルを開発できたとしたら、億万長者も夢ではありません。とくに近年ではIT人材が稼げる世の中になっています。理由について具体的に考えていきましょう。

IT人材の不足


社会のいたるところでIT化が進んでいる中、優秀なプログラマー、データサイエンティスト、Webデザイナーは常に不足している状況です。

現在自動AIによる自動プログラミングは実際に開発が進んでいるそうですが、着想・創造・企画するのはやはり「人」なわけなので、これらが考えられる人材は今後も必要とされていきます。

転職やキャリア採用の条件が良い

これまでの仕事のイメージでは「転職」はマイナス評価となっていましたが、IT関連では事情が異なっています。
常に人材が不足しているため一定の経験を積んだ方なら、過去の経歴は逆にプラスの評価として認識され高い給料で
採用する企業も珍しくありません。

実力さえあれば自分の意思で職場が選べるのがIT関連の強みですね♬


⑤プログラミングを学ぶにはどうしたら良い?

f:id:takumi5610:20210303222816j:plain


じゃあプログラミングを勉強したい!と思った場合、どんな手段があるのでしょうか?

ここではいくつかの学び方をご紹介しメリットやデメリットもまとめてみました。


市販の参考書を購入する


書店に行けばズラッと並ぶ「プログラミング入門」のマニュアル本。近年ではたくさんのマニュアル本が出版されています。

大体二千円から三千円くらいで販売されている本が多いようです。

マニュアル本での勉強は、自分のペースで勉強ができるのがメリットです。
自分に合ったマニュアル本をよく比較して検討して購入しましょう。

ただ、マニュアル本での勉強は、わからないところが質問できないというデメリットがあります。
自分で調べて解決しなければならないので、その分時間がかかるかもしれません。

また、「入門」と書かれていてもレベルにかなり差がある本が多いので、中身をよく確認して自分が理解できそうな
マニュアル本選びが大切です。難しいところもやっぱりあるので、挫折しないようにしましょう。


教室に通いながらサブテキストとしてマニュアル本を利用するというのも有りだと思います。

オンラインを検索して情報を得る


ネットを検索するとビックリするほど多くの無料コンテンツが出てきます。それだけ注目されている分野とも言えませね。

根気強く情報を検索していけば、無料でプログラミングをマスターすることも不可能ではありませんが、興味本位で学ぶためなら得策な手段と言えるものだと思います。

本格的にプログラミングを学ぼうとするなら、体系的な知識を得ることは難しいです。

一方である程度知識を得たところで、補足的に利用するとか、わからない部分を知るために利用するという面では、
役立つツールといえるでしょう。

↓↓↓もし学習アプリの利用を考えているならこちら↓↓↓
takumiblog.work

プログラミング教室を利用する


子ども向けの教室から、就職準備やプロが知識を補強するための教室まで、プログラミング教室は増えてきています。
中にはオンラインサービスもある教室も近年では多くなってきていますね。

学校と同じく先生に教えてもらえるので、わからないところはその都度質問して解決できるのがメリットです。

ただ、「教室に通う」ということなので、お金がかかることがデメリットと言えるでしょう。

↓↓↓プログラミングスクールについて詳しく知りたいあなたはこちら↓↓↓
takumiblog.work

⑥主流のプログラミング言語まとめ


f:id:takumi5610:20210303221911p:plain


地球には様々な地域に住む人が居て、その地域によって「言語」があるように、プログラムにも様々な用途に合った「言語」が存在します。その「言語」をいくつかご紹介します。

あなたがプログラミングでやりたいことを踏まえたうえで、その用途にあった言語を勉強することをお勧めします。

Python(パイソン)

Pythonはオランダ人のグイド・ヴァン・ロッサム氏によって開発された汎用性の高いプログラミング言語です。

アプリケーション開発や人工知能、データ解析を主に用途に使われている言語です。

文法が最大限に単純化された言語で、わかりやすさの向上や「読みやすさ」「書きやすさ」に定評のある言語です。

特徴はやはり汎用性のある言語だということでしょうか。
データ分析や解析等にもよく使われている言語なので、企業によってはこの言語を利用したシステム開発をされている企業が多いのではないでしょうか。

仕事(業務)の効率化

を目的としたプログラム開発や、androidアプリ開発にも使われていますので、
アプリを作りたい方にはオススメな言語ですね。

Rnby(ルビー)


Rubyは、まつもとゆきひろ氏が1995年に発表したプログラミング言語です。
日本人が開発したプログラミング言語として有名ですね♬

「ストレスなくプログラミング」ができる言語として特徴のある言語です。


他のプログラミング言語と違って、楽しくプログラミングできるように設計された言語になります。

プログラミング言語特有の「記号」をなるべく避け、拡張性を備えたオブジェクト指向を採用し、世界中のWeb開発現場で使われています。

Rubyは、プログラミング未経験者でも比較的早く技術習得できる言語の一つと言われています。

ブログサイトやショッピングサイト、ポータルサイトを作成する際によく使われている言語で、クラウドソーシングサイトで有名なクラウドワークスも実はこの言語が使われています。

PHP(ピーエイチピー)

PHPデンマーク系カナダ人のラスマス・ラードフ氏が基礎をつくった汎用プログラミング言語で、
その後オープンソースプログラムとして、世界中のエンジニアが成長させてきた言語です。

動的なWebページを作成するのに向いているといわれ、インターネットホームページの作成に力を発揮しています。

他のプログラミング言語と比較して仕様や文法が簡単なため習得しやすいと言われていますね。

またMySQLなどのデータベースとの連携が容易なことなどから、WordPressを含めたWebアプリケーションの開発にもよく使われる有名なスクリプト言語でもあります。

Java(ジャバ)


Javaは1995年にサン・マイクロシステムズによって後悔されたプログラミング言語です。
構文はC++によく似ていますね。

世界的にも1番有名な言語と言えるでしょう。

なぜここまで人気が高いのか?

「多くの現場で使われている」
「汎用的でOSに依存しない」

という特徴があります。WindowsでもmacOSでも安定して動作することで多くのプログラマーが実用的に利用している言語です。

金融システムなどの厳しい要件でも対応することが可能ですし、あの有名なMicrosoftもこの言語が使われています。
ゲームを作成する際に適した言語です。

他のメリットは処理速度が高いこと。実際の業務をモデル化してプログラムを作りやすいと言われています。

しかし、その分プログラミング以外の作業が大変というデメリットもあります。
実際に動かせるまでのハードルの高さもあります。

html(エイチティーエムエル)


WebサイトといえばHTMLと言われるほどに、ホームページのづくりにはなくてはならない画面を見え方を指定する言語として有名です。

タグと呼ばれる指定記号によってさまざまな画面表示ができます。
文字の色付けや塗りつぶし、リンク、引用などもできます。

私たちが普段見ているwebサイトのページは基本、この言語が使われています。





⑦まとめ


今回は、プログラミングって何だろう?
について、「プログラム」というものを解説させていただきました。

「人」の住む地域によって「言語」があるように。
「コンピューター」にとっても理解できる用途に合った専用の「言語」があるということ。

その「言語」をつかって機械を動かすために指示を出す順番を詳しく説明するための「説明書をつくる」ことが。

「プログラミング」

というわけです♬

「言語」を学ぶのは簡単ではないかもしれません。

ですが、「便利さ」を追求することには必要不可欠になってきています。

そしてその分野のお仕事が今注目されていて、学ぶ方が増えてきているというのも事実です。
在宅で仕事ができる分野としてもそうですね。

まずは簡単な目標を設定してみて。
それについて「言語」を学んでみてはいかがでしょうか。

身近にある「これを自動化させると便利だな」
って思うものを自動化させることができたなら。とてもうれしいのではないでしょうか。

長文読んで頂き誠にありがとうございました♬