プログラミング

ノーコード開発で将来プログラミングは不要?我々は何を学ぶべきなのか

amazon AWS Honeycode NoCode プログラミング学習
ノーコード開発で将来プログラミングは不要?我々は何を学ぶべきなのか

 

近年、プログラミングの需要は増え勢いを増していますが、それ以上にノーコードというソースコードを打たなくでもアプリ開発ができるというソフトウェアやプラットフォームが普及してきました。

これにより一部の期待感とは別に、プログラマーという職業は今後不要になるのではないかと危機感を抱く人が出てきたのも紛れもない事実です。

 

今回は「ノーコード開発で将来プログラミングは不要?我々は何を学ぶべきなのか」をテーマに、今後のシステム業界がどうなるのか、プログラマーやエンジニアを目指す人は何を学ぶべきなのかについてまとめました。

 

 

ノーコードとは

 

ソースコードを書かないでもアプリ開発ができるという状況は昔から徐々に力をつけてきていましたが、近年はソフトウェアの進化によってその勢いは著しいものとなっています。

中でもAmazonの「Amazon Honeycode」が発表されたりと、大手企業の参入はIT業界に今以上の吹き込んできているのです。

 

AWSという独自のサービスを持っているAmazonからすれば、それを関連付けたノーコード開発ができるソフトウェアを提供するというのは予想できたことですが、いざ本格参入するとなればやはり注目は集まります。

 

今まで黒い画面に英数字の文字列を打ち込んでいたプログラマーというイメージは一新され、エクセルのような画面に値を入力したり、デザインをするかのようにオブジェクトを組み合わせたりして視覚的にアプリ開発ができるようになるため、これまでのプログラミングとは異なり「簡単そう」というイメージを多くの人が抱けるようになるかも知れません。

これは、現在技術職と呼ばれるプログラマーやシステムエンジニアからすれば、危機感を覚える方もいるというのは頷けます。知識を培ってきた人たちが、何の知識を持たない人たちに軽々と凌駕されてしまい、淘汰される側へと回ってしまうからです。

 

 

メリット

 

では、ノーコードは現在のプログラミングと比べてどういったメリットが有るのでしょうか?

 

それはやはり、開発工数の短縮です。

今までサイトづくりやアプリケーション開発で1ヶ月や半年とかかっていたものが、ものの1〜2週間で作れるようになるのです。

私がメインとしているPHPに関しても、完全ノーコードではありませんがWordPressというオープンソースのソフトウェアがあります。基本的にはノーコードで開発することはありませんが、お問い合わせフォームの導入や管理画面の実装など、管理画面でプラグインなどを組み合わせていけばノーコードで実装されている部分も少なくはありません。そして、それによって開発に要する時間は大幅に短縮されています。

 

Honeycodeも含めノーコード開発では、更にその上位互換と表現しても過言ではありません。それだけ、ソフトウェアは進化して、自由度の高い開発を可能にしています。

そして、アプリでは多く採用されるメッセージや投稿機能など一般的なものは、基本的にノーコードで実装することが想定されており、クオリティと自由度の高い開発が実現できるのです。

 

セキュリティやクオリティといった面だけを見ても、ノーコード開発では近年力を見せており、それこそが最大のメリットだという声もあります。

ユーザビリティの高いインターフェースはもちろん、そのバリエーションやデザイン変更の簡易化、ネットワークを介した情報のやり取りや保存、保管といった点に置いての標準で実装されたセキュリティ対策は、これまで集められた膨大なデータ量で計算された結果をもとに成り立っているからです。

インターネットの普及により、これまで以上にデータが資産になると言われ、計算機能が発達した現代、それが至る場所で実現されているということが証明されているのです。

 

スマートフォンアプリなどの開発においては、iPhoneAndroidなどメジャーなデバイスはすべて網羅し、1つの開発で互換あるアプリができるというのも大きなメリットです。今まではリリースするプラットフォームによってそれぞれ適したコードを使った開発を行ったり、サイトづくりであればブラウザによって挙動が異なるというケースがありました。ですが、ノーコード開発ではそういった類似作業をなくすことを1つの目的としているため、汎用性の高いアプリを作り上げることができるのです。これも開発工数の短縮という点において大きなアドバンテージとなっています。

 

 

デメリット

 

技術が進化し続けても、メリットにはデメリットが隣り合わせとなります。ノーコード開発であれば、どれだけ自由度が高くなったとしてもやはり自由度はデメリットと言わざる終えません

より広い視点で見れば、自由度の高さは年々高まり、気にならない程度へと変化を遂げていますが、細かなパラメータの設定やデータの受け渡しなど開発を進めていけば少なからずその壁に当たると言っても良いでしょう。例えば、イラストレーターの方であれば「手書きであればもっと簡単に繊細な表現をもたせることができる」といった悩みは少なからず1度は抱えたことがあるはずです。本質的にはそれと似ており、全体で見れば自由度の高さというメリットは目立つものの、ほんの些細なことが自由という不自由さを物語っていることがわかるのです。

 

また、ノーコード開発ではプログラムが全く動いているわけではありません。あくまでインターフェースを使って開発をしていますが、その後ろでは操作どおりに適したプログラムが生成され、組み合わさっているに過ぎません

そのため、細かな自由度を追求するために「ノーコード」と「コーディング」を組み合わせるというのが主流かつ、切っても切り離せない関係になっています。複雑かつ幅広い知識は必要ないとしても、最低限のプログラミングの知識がなければ、それには対応することはできません。実は多くのノーコード開発では、プログラミングの知識があることを前提にしているものが多く、その見た目や便利さとは裏腹に、より専門的知識のある人だけが便利だと感じられるような玄人向けのソフトウェアだったりするのです。

 

私も以前アプリ開発の話を持ちかけられ、それがノーコードのソフトウェアを使った開発だったということがあります。一般にもリリースされているものですが、まだ一般的ではなく日本語化もされていないものでしたが、開発者から話を聞けば自由度の高さやメッセージ機能や管理機能などノーコードで十分にクオリティの高いアプリ開発ができるものだということはわかりました。ですが、WebhookAPIを使えばどうしても想定しているサービス以外はコーディングでデータの加工などをしなければいけないなど、自由度を追求するには知識が必要な部分が存在するということでした。

 

ですが、これはよりノーコード開発で自由度とその将来性を見据えるためには必要なことでもあります。ただ使いやすさやわかりやすさだけを追求するだけでは良いものはできず、それを扱う人間という操縦士のレベルも高くなければ、トータルで見れば進化とは言えないからです。

 

 

我々が学ぶべきこと

 

では今回の本題に移ります。

ノーコード開発のサービスが普及していけば、プログラミング学習は不要になるのでしょうか?

※ここでは、ノーコードのソフトウェアを作る人が必要とするプログラミングではなく、サイトやアプリ開発を仕事とする人が覚えるべきプログラミングだということで話を進めていきます

 

実はプログラミング学習は不要だとは言い切れません。ですが、必要な人と不要な人は今以上にカテゴライズされ、より学習レベルが求められることになると私は考えています。

 

現在サイト制作やアプリ開発でサービスをしている人や企業は、基本的にプログラミングは不要になる可能性は高いでしょう。それは、マイナス的な考え方ではなく、より効率をあげるためにはプログラミングの知識をつけるよりも、ノーコードのソフトウェアに関する知識をつけるだけで十分な仕事になるということです。

 

そして、より高度かつこれまでに実現しなかったような技術を使った開発をするためには、プログラミングのスキルが要求されるため、よりプログラミングを深く理解した人がプロジェクトに見合うだけの一定数必要になります。そのため、プログラミング学習をするのであれば、今まではOKだとされていた基準が一気に高くなるのです。

 

 

プログラミングを本格的に学ぶ

 

サイトもアプリも今以上に量産型となり、殆どの企業ではプログラマー以上に採用しているノーコードのソフトウェアを使える技術者が求められるようになります。今まで以上に案件数は増える分、開発にかかる時間は短くなるため、複雑なシステムを組み上げられるというよりも、効率よく量産できる人こそが重宝されるのです。

一方、銀行のシステムやセキュリティ重視のシステムであったり、より独自性の高いものを作るためには、プログラミングを本格的に学んでいなければ実現し得ないでしょう。

 

今まではプログラミングを身に着けようとしても、躓いてしまえば仕事には思ったように活かせないということが多かったはずですが、最低限の知識があればノーコード開発という方向へシフトすることができるため、潰しが利くようになったと言えばプログラミング学習の可能性は広がったと言えるでしょう。もしより理解を深めていくことができ、専門的なレベルまで到達できれば、より高度なアプリケーション開発へ携わったり、ノーコードを提供する側としても可能性が見い出せるため、より段階が明確になったという意味では、現実的かつ将来性の高い仕事に繋がるとも言えます。

 

 

技術力より発想力

 

もちろん段階が明確になればなるほど、ピラミッドの先端はより鋭利になり、下層から中層が飽和状態になります。そこで効率重視は間違いなく重宝されるのですが、それだけでは時間の経過とともに消耗戦となります。そうならないためにも、技術力以上に発想力が求められるでしょう。

ノーコードが一般的になれば、一般的な要求を満たすものは短期間でそこそこ高品質な物が出来上がります。だからこそ、意外性を突いたものや、それらを発想で応用した新しい感覚を生み出すようなサイトやアプリを武器にしなければ、勝ち抜いていくことができないでしょう。

 

一定レベルまで理解すれば、そこから更に高みを目指すべきか、それとも発想力やマーケティングなど、そこに付属するスキルを伸ばし、飽和した環境で突出するような知恵が求められるのは間違いありません。

 

 

実践力より理解力

 

今までのプログラミング、特に下層から中層では「動かすことができる」という実践的なスキルがより求められてきました。ですが、ノーコード開発では「基本的に動く」ということが当たり前となるでしょう。だからこそ「本当に理解しているかどうか」という点については今以上に注目されるでしょう。

 

これは、クライアント側の目線から見れば一目瞭然です。今までであれば、プログラミングなど一般的には高度な技術と考えられているものを提供できる人は少数派であり、できないクライアント側からすれば、動いていれば出来ていると判別してくれていました。ですが、より技術が一般化して今以上に量産型に移行すれば、動くというのは判断のたった1つに過ぎず、その理由付けや差別化される部分へと視点は向けられるのです。

現在でも、システムがもたらす利益や可能性という点においては追求されていますが、それ以上に我々開発者側の領域に入ってきて、判断ができるようになるということです。

ただ実践する力で満足するのではなく、自分が動かしているものを理論的に説明ができ、ほぼ100%の回答とその自信が今以上に必要なるのです。

 

 

まとめ

 

いかがだったでしょうか。

今回は「ノーコード開発で将来プログラミングは不要?我々は何を学ぶべきなのか」をテーマに、プログラミング学習の必要性システムエンジニアやプログラマーの今後についての考察をまとめました。

これからプログラミング学習を始めようとしている方や、現在システム関係の仕事についている人は、ぜひ参考にしてみてくださいね。

 

注目の記事

PHPポケモン(α)攻略wiki「最初のポケモン」
雑記
PHPポケモン,wiki,ポケモン
PHPポケモン(α)攻略wiki「最初のポケモン」

リリースから一ヶ月、遂にPHPポケモン(α)の攻略Wiki(仮)が公開です!   というのは大嘘で、内部の大幅変更の関係上、今回はPHPポケモンをプレイするにあたってのオススメなどをまとめて見た次第です。 ちなみに、バトルシステム自体は本家に沿って作成しているので、種族値や技性能に精通している人はブラウザ...

なぜ、お金を配るの?悪質メール・SNSを利用した詐欺的手法への対処法とは
ネットワーク
amazon,SNS,Twitter,お金配り,楽天,迷惑メール
なぜ、お金を配るの?悪質メール・SNSを利用した詐欺的手法への対処法とは

定期的に書きたくなるコラムのコーナー! 今回は、迷惑メールやSNSのDMを活用した悪質な勧誘、巷で流行っているお金配りを隠れ蓑のした巧妙な詐欺的手法などをいくつかご紹介、その対策・リクス回避の方法をまとめました。   まず結論からお伝えすると 「怪しいと思うなら手を出すな」 です。その詳細を知りたい...

事業所検索サービス「児発ねっと」児童発達支援・放課後等デイサービス
ビジネスモデル
SEO対策,プログラミング,児童デイサービス,児童発達支援,放課後等デイサービス
事業所検索サービス「児発ねっと」児童発達支援・放課後等デイサービス

どうも、児発ねっとの中の人です。 この度は児童発達支援・放課後等デイサービスといった療育施設の事業所検索サービス「児発ねっと」を開始することになりました。 本ブログでは、プログラミングやデザインといった内容のコンテンツを紹介しているため、児発ねっとのサービスは少し異色になります。なので、今回...

壁技編(リフレクター・ひかりのかべ)PHPポケモン 51
プログラミング
PHP,PHPポケモン,ポケモン
壁技編(リフレクター・ひかりのかべ)PHPポケモン 51

壁技とは 前回実装した「しろいきり」と同じく、初代から実装されたフィールド効果技が存在します。それが「壁技」です。 壁(ポケモンwiki) https://wiki.ポケモン.com/wiki/壁 壁とは、バトルにおける場の状態の一種、およびその場を形成するわざの総称。わざとしては第一世代から存在するが、場の状...

戦闘不能による交代編 PHPポケモン84
プログラミング
PHP,PHPポケモン,ポケモン
戦闘不能による交代編 PHPポケモン84

戦闘不能による交代 ポケモンが戦闘不能になった際、もし手持ちに戦える状態のポケモンが残っていれば「交代」か「逃げる」の2択になります。今までは手持ちポケモンが1匹のみで判定を行っていたので、今回は交代の選択肢も含めて勝負の判定の見直しをしていきます。   パーティーを含めた勝負判定 味方または...

命中率補正と交代技編 PHPポケモン 45
プログラミング
PHP,PHPポケモン,ポケモン
命中率補正と交代技編 PHPポケモン 45

命中率補正とは ダメージ計算や行動順判定には補正(ランク)を計算した結果を反映していましたが、命中率補正についてはまだ未実装だったため、今回はこちらを作成していきたいと思います。 まずはwikiを参考に、計算方法を見ていきましょう。 命中(ポケモンwiki) https:// wiki.ポケモン.com/wiki/命中 第...

PHPポケモン「バトルシステム編 〜バトル終了判定〜」28
プログラミング
JavaScript,jQuery,PHP,PHPポケモン,ポケモン
PHPポケモン「バトルシステム編 〜バトル終了判定〜」28

バトル終了判定 今回はバトル終了判定を実装しましょう。今までは「にげる」による戦闘離脱のみで、ひんし状態でも殴り合うことが出来たので、それを解消するためにも戦闘結果による判定を導入します。   ひんし状態の監視 まずは「ひんし」の監視です。現在は交代ポケモンどちらか一方がひんし状態になれば、そ...

get_template_partで引数を渡す方法(WordPress5.5以降)
プログラミング
PHP,WordPress
get_template_partで引数を渡す方法(WordPress5.5以降)

WordPress5.5へのバージョンアップで、大きく機能が追加されました。中には変更に戸惑っている人もいるかも知れませんが、個人的にはエンジニアの要望を大きく取り入れて自由度がアップした印象があります。 今回はその中でも、多くの方が待ち望んでいた「get_template_part」の変更点についてご紹介します。 ge...

カテゴリ

SEO対策 イベント デザイン ネットワーク ビジネスモデル フリーランス プログラミング マーケティング ライティング 動画編集 雑記

タグ

5G Adobe AfterEffects AI ajax amazon Animate api artisan atom Automator AWS Bluetooth CSS CVR description EC-CUBE4 ECショップ ESLint Facebook feedly foreach function Google Google AdSense Honeycode htaccess HTML IEEE 802.11ax Illustrator Instagram IoT JavaScript jQuery jQuery UI keyword LAN Laravel Linux MacBook MAMP meta MLM MySQL NoCode note OS OSI参照モデル Paypal Photoshop PHP phpMyAdmin PHPポケモン PremierePro rss SEO SEO対策 Sequel Pro Skype SNS SSH Symfony TCP/IP title Toastr Trait Twig Twitter UCC V系 WAN WebSub Wi-Fi wiki Windows WordPress XAMPP xml Xserver YouTube YouTuber Zoom アーティスト アウトプット アクセス層 アニメーション アフィリエイト イーブイ インターネット インプット エンジニア オブジェクト指向 お金配り クリック単価 クリック数 コミュニケーション能力 コロナ コンサルティング サムネイル システムエンジニア スタートアップ スタイルシート スパム データベース ディープフェイク デザイナー デザイン テレワーク ナンパ ニュース ネットワークモデル ノマドワーク バナー ピカチュウ ビジネス フィード フリーランス ブロガー ブログ プログラマー プログラミング プログラミング学習 プログラミング教育 プロトコル ホームページ制作 ポケモン マークアップ マーケティング メール リモートワーク レンダリング 三井住友 三宮 仕事依頼 児童デイ 児童デイサービス 児童発達支援 公開鍵 初心者 助成金 勉強法 営業 広告 広告収入 必勝マニュアル 放課後等デイサービス 朝活 楽天 深層学習 無線LAN 独立 神戸 福祉 秘密鍵 翻訳 自己啓発 英語 見積書 計算機 読書 起業 迷惑メール 配列 銀の弾丸 集客 雑学力