ノンプログラミング


初めに

ここ最近ノンコーディングという言葉を聞くようになった。
ひと昔前までは、何かを自動でするためにはプログラミングをする必要があった。
WEBサイトを作りたい?
 ⇒HTML + CSS でWEBサイトを作って、サーバ立ち上げて初めてWEBサイト公開ができる。
エクセルに毎月似たような情報を打ち込んでるのを解消したい
 ⇒エクセルにマクロ組めばいいじゃん。VBA書けばできるよ。

できるか!普段からプログラミング言語に馴染んでる人ならともかく
一般企業のちょっとPC使っているくらいのサラリーマンにそんな難しいことできるか。
勉強しろ?んな暇あるなら営業行って売上上げるわ!今月ノルマが・・・・
って思った人は多々いると思っています。

最近だと
WEBサイトを作りたい?
 ⇒CMSサイト使えばいいじゃん。お絵描き感覚でサイト作れるよ。
  サーバ?なにそれ?ワンクリックで公開できるよ。
エクセルに毎月似たような情報を打ち込んでるのを解消したい
 ⇒RPA組めばいいじゃん。入力ルールを整理して画面でポチポチすれば単純作業はやってくれるぜ!

便利な世の中になったなー

エンジニアでなくても作れる?

ツールの使い方が分からない。やったことないから分からない
という声はよく聞きます。ただよく考えてください。
誰だった最初は分からないです。エンジニアである私でも初めて触るツールは分からないですし戸惑います
一つ一つ調べて使える機能を増やしてやっとツールが使えるようになるだけです。
エンジニアは人よりそういったツールを使っているからこそ
ツールの特徴などの勘所を掴むのが少し早いだけです。
営業だろうと事務の人だろうと普段からツールに触る事に慣れていればそこまでスキル差は出ないと思います。

PCは使えないけどスマフォは得意よ。
私から言わせると意味が分からない。
PCもスマフォのOSがあってその上に様々さアプリが動いているだけである。※少々極端ですが
自分が普段使い慣れているスマフォは自分が気に入ったアプリを入れてよく触っているから分かるだけで
PCも本質は一緒です。
windows やmac と言うOSに対してエクセルやワードというアプリが動いているだけです。

ノンコーディングWEBアプリケーション

今回私が一番言いたかったことはここです。
今時はWEBサイトだけでなくWEBアプリケーションまでノンコーディングで作れる時代です。
CMSみたいなWEBサイトを簡単に作れるってツールはよく聞きます。
有名どころでいうと
・WordPress
・Drupal
・heartcore
などなど

ただ最近では
Webアプリケーションまで自動生成できるWeb Performerなども出てきている。

以下参考
https://www.canon-its.co.jp/products/web_performer/
クライアントサイドだけでなくDB接続、業務ロジック全てノンコーディングで出来る。
それこそSQLやjavaなどの知識がなくてもWEBアプリケーションが出来る時代になっている。

さすがにDB設計したり、ロジックの設計したりと誰でも出来るとまでは言いませんが、
それでも確実にエンジニアへのハードルは下がっていると感じる。

まだ洗練された技術ではないですし、出来ることは限られていると思います。
大手企業で使用するような大規模システムなどには向かないと思いますが、
小規模なシステムでそこまで複雑な業務ロジックを必要としなければこういったアプリの選択肢もありです。

少し余談になってしまいますが、私がエンジニアになりたての頃はフレームワークすら採用されている
システムが少なくHTTPを生で取得してhttpRequestパラメータを解析して取得したり、
DB接続もJDBCドライバで自前でコネクションを張りSQLを組み立てて実行し取得した情報を自前でjavaBeanに設定したりしてました。
今やアノテーション一つでHTTPリクエストがjavaBean形式で受け取れたり、
アノテーション一つでトランザクション管理が出来たりSQLの定義ファイルを用意するだけでSQLを作ってくれたりとソースコードを書く量が当時よりものすごく減っています。
最近ではクライアントサイドの開発が進み、サーバサイドはAPI化して必要な事しかしなくなってたりもします。
こういった流れを見るとそのうちサーバサイドはノンコーディング。DBから情報を持ってくるだけ。ってなったりするのかなーって個人的には思います。
プログラミング好きな人種としては便利さもありますが一定量寂しさもあるなと感じます。

エンジニアとノンコーディング

上記でノンコーディングが流行ってきてる。エンジニアじゃなくてもできると言っていますが
エンジニアはまだまだ必要です。
ノンコーディングで作れるものはまだまだ限られています。
リッチクライアントみたいなJavaScriptでゴリゴリのWEBサイトなどは作れないですし、
サーバサイトで複雑な業務ロジックだったりを組むのも難しいと考えます。

こういったものを全てノンコーディングで出来るようになるのはまだまだ先のことです。
それにそれらのツールを作る人はやっぱりエンジニアでなくては不可能です。
なので、エンジニアじゃない人が出来ることが多くなるだけでエンジニアは
そういった人たちの出来ることを増やすためにアプリづくりにずっと勤しんでると私は考えます。