見出し画像

Make.comの何が良いのかわからん

最近業務でノーコードツールの make.comを触る機会があり,いろいろと思うところがあってなんとなく書きたくなりました…


注意事項

  • スタンスとしてはアンチです

  • 社会人2年目のWebエンジニアの叫びです

  • 多分に非論理的な感情論が含まれます

はじめに

私はWebエンジニアで主にpythonやTypeScriptを使って開発をしています.今回は社内業務の自動化のためにノーコードツールを使用することになりました.この自動化はもともと自動化構築をサービスとして提供している会社に外注して作ったものでした(例とえばこんな感じのサービス :https://www.merinc.co.jp/diver).それの保守は自分たちでやろうということで,お鉢が回って来たという感じです.

具体的にノーコードツールで何をしているかというと,各種CRMやマーケティング関連のSaaSを連携させて,業務の効率化を図るというものです.定形業務を自動化し,業務効率をあげることには,当たり前だと思いますが,賛成です.今回はそれを実現する手段についての話です.

Makeのつらいとこ

  1. 他人が作ったシナリオを読むのがつらい

  2. デバック実行ができない

  3. マウスでポチポチやるのが単純にしんどい

1.他人が作ったシナリオを読むのがつらい

とにかく保守し辛いです.そもそも他人が作ったシナリオ(make.comでいうところの一つのスクリプトみたいなもの)を読むのがつらすぎます.モジュール(Make側が事前に用意しているブロックのようなもの,これを繋げてシナリオを組む)が数十個あって,処理の分岐も数パターン以上あるとなるとカオスです.一覧性が低いので読み解くのに相当な認知負荷がかかります.

また,DRYに作ることができないので,同じような処理が分岐ごとに書いてあったりして,修正が大変です.一応シナリオ内からmakeのAPIを通じて他のシナリオを呼び出せるのですが,シナリオを呼び出すたびに課金されるので積極的には使いたくないです.

変数も基本的にはグローバル変数です.各モジュールの出力にたいして,シナリオ内のどこからでもアクセスできます.

かくして,プログラミングのアンチパターンが多分に含まれるシナリオが創造されるわけです.外注さんの能力が低いだけでは?と最初は思ったのですが,自分でも触ってみてコーディングのようにきれいに作ることを目的としてない感はあるなと感じました.

もう一つつらいのが,例えばCRMツールの特定のアクションやら,フィールドがどのシナリオでどの用に書き換えられているのか探すにはすべてのシナリオを探索する必要があることです.シナリオの内容をJSONで出力できたりはするので,全シナリオのJSONに対して全文検索かけてとかするのですが,楽ではないです…

2.デバック実行ができない

できないというか,やり方は探せばあるんでしょうが,そもそもMakeで検索しても,Makeファイルの方しかヒットしないし(Integromatで検索しないといけない),公式のドキュメントにも見当たらないのでできないことにします.

ちゃんと探せよと言われるかもですが,そもそも非エンジニア向けのノーコードツールなので,簡単にやり方が見つけられないということはないも同然です.

3.マウスでポチポチやるのが単純にしんどい

わがままです.まぁディベロッパーエクスペリエンスは皆無です.

いいとこもあります

エラーの通知とか,再実行をいい感じにしてくれるとことか,OAuth連携が楽にできるとか,学習コスト低いとか,いいとこはもちろんあります.

要はつかいどころ

シンプルな自動化ならその威力を発揮するでしょう.シンプルとはモジュール数が10個以下で分岐も3個以下ぐらいですかね.ただ,往々にしてあることですが,要件は複雑化します.限界はすぐ来ます.

要はつかいどころなんですが,ノーコードの対象ユーザーって非エンジニアなわけで,システム開発の素人が使い所なんてわかるわけないんですよね.それで,まあ学習コストは低いわけだから複雑なものも作ろうと思えば作れてしまいます.で,結局保守できなくなってエンジニアがババを引かせられるわけです.

終わりに

この記事はただの愚痴です.ストレス発散ですw

でも,ノーコードは将来的に負債になると本気で思ってます.小さい,個人的な自動化には積極的に活用していきましょう.初期開発と保守する人が別とか,複雑な要件の場合はコードで管理しましょう.






この記事が気に入ったらサポートをしてみませんか?