/note/tech

コード不要論からコード表現への回帰 - デベロッパーツールの現在

端的に言うと、少なくともここ1年くらいで新しく登場するデベロッパー向けのツールを見ていると、コードが不要になる場面が増えると思いきや、逆にコードをしっかり書くツールが増えてきたな、という印象を持っています。

ソフトウェアエンジニアがほぼいない組織、あるいは集計・分析用のDBが分かれていてそこからデータを読み取る用途(レコードの更新によってエンドユーザーに対して甚大な影響を及ぼす危険性がない場合)に限定して言えば、基本誰でも触って良いケースが多いです。 誤ってスロークエリを発火させない限りは強力な業務効率化が望めるため”民主化”が概ね歓迎されると言えます。

逆に、ソフトウェアエンジニアが大きな割合を占める組織や、データを更新・作成する用途だと、誰でも開発を分担できてしまうと統制面で問題になることもあります。

統制面で問題になるのは、具体的には成果物のメンテナンス責任とアクセス権限の管理責任の2つの観点です。

非エンジニアがノーコード・ローコードによってUI上で設定をしても、運用に乗ってからメンテする責任がエンジニア側に寄ってしまう場合、ブラックボックス化されたシステムの面倒を見ることになります。

当然、初期のレビューを誰も通さず、今後も中身がわからない(あるいは大してhuman-readableではないJSONなどの中間表現でしか出力できない)ツールだった場合、メンテ責任がエンジニアによってしまうケースだと途中から体験が悪化してしまうでしょう。

また、アクセス権限の管理責任にも問題が生じます。誰でもシステムのたたき台を作れて良いとしても、誰でも好きなデータにアクセス、更新して良いわけではありません。

やはり通常は権限体系を整理した上でないと、ソーシャルエンジニアリングや人為的なミスを誘発するおそれがあります。

そうした事象の回避のためにも、権限体系の設計やミスが少ない画面遷移の設計に技術的に知見のある人間が責任を持たないと、不安が生じます。

これは海外のデベロッパーツール界隈でも同様に起きている事象ですが、私見でいうと彼らはこの問題を、想定利用者を非エンジニアではなくエンジニアに全振りすることで解決しようとしているように見受けられます。

MEMO: