エンジニア体験談

現役エンジニアが実感するプログラミングのメリット3選【非エンジニアもOK】

こんにちは。現役Webエンジニアの三年坊主です。

 

今回は、プログラミングが気になっていて、勉強してみようか迷っている初心者の、このような疑問に答えます。

「プログラミングを学ぶメリットを知りたい。プログラミングができるようになると、実際のところ何の役に立つんだろう?あと、効率よく勉強するコツがあるなら、それも知りたい。」

 

 

この記事では、現役エンジニアが実感するプログラミングのメリットと、それを最大限生かしてプログラミングを効率よく勉強するコツを紹介します

 

私は、大学の研究・自分の趣味・会社の業務で合計5年以上のプログラミング経験を積んできました。

大学に入学してからは複数のプログラミング言語を学んできたので、内容の信頼性と、勉強方法の再現性にもつながると思います。

 

単なる羅列ではなく、体験から本当に実感したプログラミングのメリットと勉強法のコツを知りたい方は、非エンジニアの方こそ、ぜひ記事を読み進めてみてください。(3分ほどで終わります)

 

この記事の内容

  • プログラミングを学んで実感したメリットを3つ厳選
  • プログラミングのメリットを生かして効率よく勉強するコツ

 

プログラミングを学んで実感したメリットを3つ厳選

プログラミングを学んで実感したメリットを3つ、厳選してお伝えします。

 

退屈なことを代わりにやってくれる「秘書」を作れる

プログラミングを学んで使えるようになると、退屈なことを自分でやらずに済ませることができます

 

一度完成したプログラムは、何度も繰り返し行う作業や細かい確認作業がとても得意だからです。

 

例えば、航空会社のWebサイトにアクセスすると、メンテナンス中だったのでフライト検索ができませんでした。

なるべく早く検索をしたくて、メンテナンス終了予定時刻を知りたいのですが、あいにく記載がありません。

 

私は「定期的にサイトをチェックしてメンテナンスが終了したか確認する」プログラムをPythonというプログラミング言語で作りました。

このプログラムがなければ、私はいつ終わるか分からないメンテナンスに気を揉み、他のことが手につかない無駄な半日を過ごしたことでしょう

 

パソコンの前にずっと待機して、何度も何度もサイトを確認するのは嫌ですよね。

 

 

似たような例として、

  • 「キャンペーンが始まったらすぐに商品を購入する」
  • 「仮想通貨の値動きを確認して通知する」

など、退屈なことを任せられる「秘書」にはいろいろな可能性があります。

 

このようなプログラムを作ることで、繰り返し行う作業や細かい確認作業といった退屈なことからから自分を解放できます。

 

場所を選ばず気軽に作業できる

プログラミングは、場所を選ばずに気軽に作業できます。

 

プログラムを書いて実行する環境が、パソコンさえあれば簡単に整うからです。

最近では、その気になれば、GoogleのColaboratoryのようなインターネット上にある開発環境をスマホから操作することも可能です。

 

先日、温泉旅行に行ってきました。

旅館では、朝1時間ほど趣味のプログラミングを楽しんでから温泉でリラックスという、心身ともに充実した時間を過ごせました

 

これが例えばピアノのような楽器だったり、色々な装置を準備する必要がある陶芸だったりしたら、おそらく旅行中はおあずけになるでしょう。

 

旅行中にも、場所を選ばないプログラミングの気軽さを実感しました。

 

自分のアイデアを形にできる

プログラミングができると、それを使って自分のアイデアを形にできます。

 

プログラミングといっても幅はとても広く、自分が作りたいものを実現する手段をきちんと見つけることができれば、たいていのものは作れます。

 

私の場合は、目標を管理するWebサービスを作ったり、ブロガーを応援するWordPressプラグインを作ったり、LINEに仮想通貨の価格を通知するプログラムを作ったりして、自分のアイデアを形にできる喜びを味わってきました

 

最近ではパソコンの中だけにとどまらず、Google HomeのようなスマートスピーカーやArduinoのような装置とつなげることもできるようになっています。

 

自分のアイデアを自分の手で形にできると、単純に楽しいですし、だんだんと自信もついてきます。

 

プログラミングのメリットを生かして効率よく勉強するコツ

プログラミング言語の学習法に関するツイートを見つけました。

 

 

中級者向けの内容も含まれているなと思ったので、プログラミング初心者にも当てはまる「効率のいい勉強法」を紹介します。

 

作りたいものを見つける

まずは、自分が作りたいものを見つけましょう。

 

あなたにとって、プログラミングはあくまで手段であって目的ではないですよね?

プログラミングを手段として自分のために何か作れた方が楽しいし、結果的に勉強の効率も上がると思います。

 

上で紹介した「航空会社のサイトを確認するプログラム」を例にすると、

  • メンテナンスが終了したかどうか、何度もWebサイトを確認するのは面倒くさいので、自動で確認して終わったら教えてくれるプログラムを作ってみたい
  • 作っている間にメンテナンスが終わってしまっては元も子もないので、なるべく素早く作りたい

 

このように考えて、作りたいものを見つけていました。

「作りたいもの」と言われても・・・ピンとこない時は、「楽したい」「面倒くさい」という気持ちを大切にしてみてください。

 

どんな技術が必要か分解して考える

作りたいものが決まったら、それを実現するにはどんな技術が必要か分解して考えてみます

 

自分の作りたいものが一見難しそうに思えても、実際には一つ一つの要素を組み合わせていけば、最終的には作れることが多いからです。

 

もう一度、「航空会社のサイトを確認するプログラム」を例にしてみます。

このサイトでは、会員登録・ログインページにアクセスすると「メンテナンス中」であることを示すポップアップウィンドウが出ていたので、今回はこれを使って手軽にメンテナンス終了を判定しようと思いました。

 

実現したいこと必要な技術

Webサイトから情報を取得したい

「Webスクレイピング」といって、Webサイトから情報を取得する方法があるらしい。

→例:Pythonのrequestsモジュール、BeautifulSoupモジュール

実際に自分がブラウザからサイトにアクセスしたことをプログラム上で再現したい

requestsモジュールでは、サイト上でポップアップウィンドウが出現する挙動は再現できないらしい。でも、自分がブラウザからサイトにアクセスしたのと同じような状況を、プログラミングで再現できる方法があるらしい。

→例:PythonのSeleniumモジュール

定期的に処理を実行したい

プログラムを定期的に(5分ごと、1時間ごとなど)実行できる方法があるらしい。

→例:PythonのAPSchedulerモジュール

 

先に全体像をお見せすると、必要な技術を組み合わせて、例えばこのようなコードを数十行書くだけで、

 

5分ごとにサイトのメンテナンスが終了したかどうか確認してくれる秘書ができあがります。

 

もう少しだけ時間をかけて、メールやLINEに通知するように設定することもできます。その時は、さっきの表に「LINEで通知を受け取りたい」という行を追加して、必要な技術を調べるだけですね。

 

今回はPythonを使いましたが、作りたいものを実現するためにどんな技術が必要か一つずつ分解して考えていきましょう

 

「分解して考える」と言われても・・・ピンとこない時は、エンジニア経験者の人に話を聞いたり、Skill HacksTechAcademyの無料体験など、オンラインでプロにガンガン相談できる場所をうまく活用していくのがおすすめです。

 

基礎学習に時間をかけすぎずに、動くものを作る

必要そうな技術がわかれば、その技術の基礎を学習します。ただしあまり時間をかけすぎずに、動くものを作り始めましょう。

 

基礎学習に時間をかけすぎると「作りたいものを作る」モチベーションが下がりますし、作りたいものを作る必要に迫られて覚える知識の方が身につきやすいからです。

 

私が先日作ったブロガーを応援するWordPressプラグインを例にとってみます。

 

WordPressプラグインを作るには、PHPというプログラミングの知識が必要です。

私はPHP未経験者でしたが、そこまで基礎学習に時間をかけませんでした。他にPHPを使う予定がなく、いまのところPHP自体にあまり興味を持てていないからです。

 

PHP経験者から見れば至らない点もあるんだと思いますが、とりあえずは動いているからいいかなという感想です。(コメント・指摘は大歓迎です!)

 

小さくてもいいから動くものを作って、成功体験を積み重ねていきましょう。

 

作ったものを公開するのもオススメです。不完全でも公開してみると、意外なフィードバックをもらえたりして刺激になります。

 

まとめ

記事のポイントをあらためて紹介します。

  • プログラミングを学んで、退屈なことを代わりにやってくれる「秘書」を作れる
  • 「場所を選ばず気軽に作業できる」「自分のアイデアを形にできる」のもプログラミングのメリットとして実感
  • プログラミングを効率よく勉強するには、「楽したい」「面倒くさい」気持ちを大切にして「作りたいものを見つける」のがオススメ
  • 作りたいものを見つけたら、「どんな技術が必要か分解して考える」→「基礎学習に時間をかけすぎずに、動くものを作る」

 

記事で紹介したように、必ずしもエンジニアという職業を選ばなくても、プログラミングで生活を少しだけ彩ることができます

プログラミングを身につけて、少しだけ楽しい生活を送ってみませんか?

 

▼経験の棚卸しで納得のキャリアを▼
▼相場に消耗しない資産運用▼
マネースクエア
目の前の仕事に追われて伸び悩んでいませんか?

エンジニアとして働き早◯年・・・職場の仕事をただ「真面目に」こなし、職場での評価に一喜一憂していませんか?

少し立ち止まって自分の市場価値を確認し、自分のために伸ばしたいスキルを見つけて前向きに働けるかどうかで、1年後・3年後、自分のキャリアに大きな差が出てきます。

中の下・中の上でいま一つ突き抜けられないエンジニアこそ、転職や部署異動という選択肢も視野に入れて、伸び悩むエンジニアから脱出する方法を探してみませんか。

伸び悩むエンジニアから脱出する!

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください