プログラミングを学ぶ価値|フロントエンドエンジニアを目指すべき理由 #1-2-1

入門エンジニア
プログラミングを学ぶ価値|フロントエンドエンジニアを目指すべき理由 #1-2-1
Article

本連載FE入門 - 未経験からコーダーではなくフロントエンドエンジニアになるために - では
未経験からフロントエンドエンジニアになるための最短ルートを提示し
そこに到達するまでの内容を記事として紹介していきます。

連載トピックス

第1章 マインドや道筋の理解

今日のゴール

今日のゴールは** プログラミングを学ぶ価値**について
理解できるところを目指します。

-

プログラミングを学ぶ価値

エンジニアを目指すうえで通過点となるスキルとしてプログラミングがあります。
まずはこのプログラミングを学ぶ価値について考えていきたいと思います。

プログラミングを学ぶ価値について考える

  • これからの時代に必要な力を身につける
  • さまざまな業界で有効活用できる
  • AI化する未来や新しい働き方へ適合できる

それぞれ一つずつ詳しく見ていきます。

これからの時代に必要な力を身につける

日本の教育プログラムにプログラミングの必修化が決定しました。 小学校では2020年度から、中学校では2021年度から開始になります。

必修化の具体的な理由は以下のようです。

プログラミング必修化の理由

  • プログラミング的思考を養うため
  • コンピュータを積極的に活用する力をつけるため

プログラミング的思考を養うため

プログラミング的思考

プログラミング的思考とは順序立てて考え試行錯誤し、物事を解決する力です。

自分が意図する一連の活動を実現するためのプロセスを論理的に考えていく力になります。

自分が意図する一連の活動を実現するためのプロセス
  • どのような動きの組み合わせが必要なのか
  • 一つ一つの動きに対応した記号を、どのように組み合わせたらいいのか
  • 記号の組み合わせをどのように改善していけば、より意図した活動に近づくのか
プログラミング的思考

プログラミング的思考はなぜ身につける必要があるのか

日常生活や日々の仕事において問題が山積しており
解決していかなければならないことがたくさんあると思います。

そして今後は情報が増えニーズも多様化し
問題がさらに複雑化いくのではと考えられます。

その中で求められることはいかに早く、いかに効率的に解決していくことです。

そのためのアプローチとしてプログラミング的思考な考え方があります。

解決のゴールを決めてそこに対して
順序立てて考え、さまざまな試行錯誤、解決のための試作を実施し
解決に向けて取り組んでいくというのがプログラミング的思考なアプローチです。

そしてこの考えを軸にプログラミングを繰り返し行なっていくことで
これらの能力が鍛えられていきます。

このようにプログラミングを通しプログラミング的思考を鍛え
これからの時代に必要な課題解決の力を身につけていくことができます。

コンピュータを積極的に活用する力

コンピュータをより適切、効果的に活用していくためにはその仕組みを知ることが重要です。

コンピューターの仕組み

  1. コンピュータは人が命令を与えることによって動作する
  2. この命令がプログラムであり、命令を与えることがプログラミング
  3. プログラミングによって、コンピュータに自分が求める動作をさせることができる

そしてこの仕組みを軸にプログラミングを学ぶ中で
コンピューターを活用するための考えを学ぶことができます。

コンピュータを活用するための考え
  • どんなことができるのか、どのような命令があるのか
  • この製品のこの機能にどういう命令が利用されているのか
  • この命令を組み合わせるとこんな機能が作れそう
コンピューターの仕組み

コンピュータを積極的に活用する力はなぜ身につける必要があるのか

日常生活や日々の仕事において問題が山積しており
解決していかなければならないことがたくさんあると思います。

そして今後は情報が増えニーズも多様化し
問題がさらに複雑化いくのではと考えられます。

その中で求められることはいかに早く、いかに効率的に解決していくことです。

手書きよりもプリンターで印刷した方が時間はかかりません。

コンピュータに任せられる部分は任せることで
時間の効率化人件費の削減など
課題の解決に向けてより良いアプローチが可能になってきます。

この様にコンピューターの仕組みを理解し
それを軸にプログラミングを学んでいくことで活用能力が鍛えられ
これからの時代に必要な課題解決の力を身につけていくことができます。

プログラミング必修化の背景からこれからの時代に必要

プログラミング必修化の背景にプログラミング的思考の強化コンピュータを積極的に活用する力の強化という目的がありました。 その上でこの力は子供たちだけではなく大人たちがこれからの時代に活躍していくために
必要なスキルでもあります。

そのためプログラミング学ぶ過程を通して
プログラミング的思考コンピューターの活用スキルを鍛え
これからの時代に必要な能力を身につけていくことが必要になってきます。

さまざまな業界に有効活用できる

世の中はかなりの速さでIT化が進み ITをベースの世の中が再構築されつつあります。
そんな中、企業に求められることがあります。

ITをベースに世の中が再構築される中で企業に求められること

  • どう業務を効率化していくか
  • どう売り上げをアップさせるか

そのため様々な企業は
上記実現のための取り組みを行っています。

となると企業で働く上で重要・有用なことがあります。

企業で働く上で重要・有用なこと

  • IT化を推進して業務効率を上げる 
  • DX実現へ向けた戦略立案

そして業界は関係ありません。
これらの実現はさまざまな業界で必要になってくるミッションになります。

企業のミッション

IT化を推進し業務効率を上げる

IT化の目的としては大きく2つあります。

IT化の目的

  • 業務の自動化
  • 情報のデジタル化

業務の自動化

人の作業をコンピュータへ置き換えたり
一部自動化を行なっていくことで
人件費削減業務の効率化に繋がります。

情報のデジタル化

情報の管理をデジタル上へ移すことで
情報の共有活用が簡単にできるようになります。

IT化を推進に役立つプログラミングのスキル

IT化を推進する上で大きく役に立つのがプログラミングのスキルになります。
というのもプログラミングを学んでいくと
コンピュータができることの大枠が理解できるため
何が得意で何が苦手なのかが判断できる様になります。

IT化に必要な判断

コンピュータの得意不得意が把握できると
日常の業務に対してIT化するために必要な判断が行いやすくなります。

日常の業務に対してIT化するために必要な判断
  • どの業務のIT化ができるのか
  • どの業務のIT化が早くできるか
  • どの業務のIT化が安価にできるか

これらの判断を基準に
IT化を進める順序が的確に検討でき
無駄なく効率的に進めていくことができます。

DX(デジタルトランスフォーメーション)実現へ向けた戦略立案

最近では企業の社長や役員の方がプログラミングを学ぶのケースを耳にします。
これはDX(進化したIT技術を浸透させ人々の生活をより良いものへと変革させる)という概念があり
これを推進していくためにプログラミングの知識を活かしていくことができると考えられます。

DX実現のために

DX実現させていくためのデータ × AIの活用がというのがあります。

データ

データとは顧客の行動ログや購買ログなどのことです。

具体的な例をECサイトのケースで紹介すると
商品を購入している人のデータなどがあります。

商品を購入している人のデータの例
  • どこから来たのか
  • どの商品をどれくらい見ているのか
  • どんなカテゴリの商品をどのくらい買っているか

このようなデータがDX実現のために集める必要があるべきデータです。

AI(人工知能)

AIとは「Artificial Intelligence」の略で
学習・推論・判断といった人間の知能のもつ機能を備えたコンピューターシステムのことを指します。 種類やできることはいろいろあります。

具体的な例をECサイトのケースで紹介すると
お勧め商品を表示する仕組みなどがあります。

お勧め商品の例
  • お勧め商品
  • お客様が閲覧した商品に関連する商品

あくまですでによく使われているケースの例になってしまいますが
AIがどの商品を進めたらユーザが買ってもらいやすいかを
様々なケースを基準に予測して計算しています。

このように人間が判断するのと同じような予測を
AIを活用することでその人に合ったおすすめ商品を
予測して提示できるようになります。

データ × AIの活用

自社の製品・サービスやこれまでのナレッジなどを生かして
データとAIを活用していくことがDX実現のために必要です。

DX実現のために役立つプログラミングのスキル

これらのベースはプログラミングにあります。 データベースというデータの保存する仕組み
アルゴリズムという概念があり
プログラミングを行なっていく中でこれらの設計を考えていく必要があります。

プログラミングを行なっていく中で考える設計
  • どういった形でデータが格納できるのか
  • どういった形で取り出しすのか
  • どういった形で活用するのか

この考え方が基礎にあると どう言ったデータを利活用できるのかを精度高く検討できる様になります。

プログラミングスキルがさまざまな業界で有効活用

このようにプログラミングスキルを身につけることで
どの業界にも必要となるIT化の推進DX実現というミッションに対して
身につけたスキルを活かしていくことが可能なため
さまざまな業界で活躍できる様になります。

AI化する未来や新しい働き方に適合

  • AI化が進み現在の仕事が代替される未来に備える
  • ニューノーマル、ギグワークなどの新しい働き方に適合

AI化で現在の仕事が代替される未来に備える

最近ではテクノロジーが発展し単純労働など多くの仕事
AIに代替されるという未来が予想されています。

プログラミングを正しく学び
技術や知識を生かせるようになることで
単純労働としてではなく
自分ならではの価値の提供することができるようになります。

ニューノーマル、ギグワークなどの新しい働き方に適合

ニューノーマル

最近は働き方改革やコロナはウィルスの影響により
ニューノーマルを掲げた新しい働き方が求められるようになりました。

その中でを多くの企業がリモートワークの導入を進めています。

プログラミングがベースであるエンジニアの仕事は
パソコンさえあれば会社に行かずとも自宅やカフェで仕事が出来るため

リモートワークとの相性が良く
新しい働き方に適合しやすいと思います。

さらに結果、満員電車通勤のストレス軽減や空いた時間を有効的に活用出来ようになることで
非常に大きな恩恵を受けることが出来ます。

ギグワーク

最近はギグワークという働き方が注目されています。
ギグワークは雇用関係を結ばずに働きたいときに働くといった新しい形の仕事です。

単発で仕事ができることで隙間時間に働くことができ
自由な働き方が可能です。

そしてギグエコノミーという仕事の依頼者とギグワーカー(ギグワークで働く人)を繋げる仕組みがあります。

フリーランスで働かれてる方は利用したことあるかもしれないですが
この仕組みの中にクラウドワークスなどがあります。

クラウドワークスではプログラミング系の案件はたくさんあり
高単価のものも多いため
他の短髪の仕事より稼ぎやすいのではないかと考えられます。

AI化する未来や新しい働き方に適合しやすい

このようにプログラミングスキルを身につけることで
AI化する未来でも活用することができ
ニューノーマル、ギグワークなどの新しい働き方ともマッチしているため
AI化する未来に備え新しい働き方に適合できるようになります。

まとめ

プログラミングを学ぶ価値について理解いただけましたでしょうか。 今回のポイントは以下になります。

今回のポイント

プログラミングを学ぶことで得られる価値

これからの時代に必要な力を身につける

プログラミング学ぶ過程を通して
これからの時代に必要な力である
プログラミング的思考コンピューターの活用スキル鍛えることができます。

さまざまな業界で有効活用できる

プログラミングスキルを身につけることで
どの業界にも必要となるIT化の推進DX実現というミッションに対して 身につけたスキルを活かしていくことが可能なため
さまざまな業界で活躍できる様になります。

プログラミングスキルがAI化する未来や新しい働き方へ適合できる

このようにプログラミングスキルを身につけることで
AI化する未来でも活用することができ
ニューノーマル、ギグワークなどの新しい働き方ともマッチしているため
AI化する未来に備え新しい働き方に適合できるようになります。

理解を深めるために

いきなり全てを理解することは難しいと思います。
内容を理解し知識として定着いくためには、繰り返しの学習が必要になりです。
さらに理解を深めていただくため改めて読み返すことをお勧めします。

参考文献

終わりに

最後までご覧いただきありがとうございます。
この記事ではプログラミングを学ぶ価値|フロントエンドエンジニアを目指すべき理由 #1-2-1 について紹介させていただきました。

これからも皆様の開発に役立つ情報を提供していきたいと考えています。
今後ともよろしくお願いいたします。