ココナラでハイパーメディアクリエイター見習いとして働いている首藤と申します。新規事業開発を担当しており、いつの間にか開発陣の中でも最古参となっているお局的存在です。今回は人生初の会社ブログエントリということで、僕が新規プロダクトを作った時や(社内的に)新技術を採用した際に感じたこと、その際に必要となった「覚悟」についてのお話をしたいと思います。僕自身、技術者としてはう◯こだと思っているのでただの妄言だと思ってテケトーに読んで頂けますよう。予防線を張らせて頂いたところで本題です。はじめに(自己紹介)ココナラはスキルを売り買いできるオンラインマーケットプレイスということで、Web版とモバイルアプリ版を提供しています。僕が入社した当時はまだエンジニアも4名しか居らず、モバイルアプリもいわゆるガワネイティブと言われるWebViewコンポーネントをベースとしたAndroidアプリしかありませんでした。1的なポジションに突っ込まれます。それでいいんだと思います。モチはモチ屋が一番ウマいんですから。そんなことなので、僕はココナラの衛星プロダクトとでも言うべき、「ココナラ法律相談」や「ココナラハンドメイド」、ココナラ出品者プロフィールサイトなど、主に本体と呼ばれるもの以外(社内ツール除く)のプロダクト立ち上げに関わってきました。立ち上げては少し運用してバトンタッチみたいなイテレーションを回し続けたココナラ人生となります。沢山の人々からのヘイトを稼いでいます。新規プロダクトを作るということは当然のことながら会社的な文脈から言えば完全なる投資です。いろんな難しい係数を勘案してこれはイケそうだとか経営メンバーが判断したら、さぁ、ものづくりのはじまりです。こと弊社のような企業が投資する最大で最長のコストは人的資本でしょう(経営のことはよくわからないので多分です)。企画→デザイン→開発みたいな一連の流れには少しの電力と多大な人力がかかりますが、新規プロダクト開発というのは既存プロダクトの機能改修と比較して、支払うべきコストが当事者の想像の範囲を余裕で超えてきます。これは僕自身の見積もりスキルの無さということにも起因しますが、それを抜きにしてもそれなりの覚悟が必要というのが個人的な感想です。そんな新規プロダクトづくりに関わっていると、やりたくなってくることがあります。それは(社内的に)新しい技術の導入です。既存プロダクトを運用していると、当然のことながら定期的なアップデートをしない限り使用している技術が古くなっていくことになります。会社の成長期においては得てして技術のメンテナンスよりもビジネス的な都合の方が優先度は高いものです。動いているものに対して、パフォーマンスの改善やセキュリティの向上、技術的な新機能の利用のためなどのあまり目に見えない改修はビジネス的な説得力が薄く、大事なのはわかっているけどそれよりもまずはこの機能の実装を、となるのが世の常です。技術的な正しさの実現とビジネス的な優先度というのは必ずしも時間軸が一致するものではないのです。ココナラは正直に言うとそんなジレンマをダイレクトに抱えたまま今に至っています。それを人々は愛憎を込めて「負債」と呼びます。人の子であればみんなそんな借りを返したいものです。日々それらを直接触る技術者であれば尚の事でしょう。いった負債はある臨界点に達すると技術的な範疇を飛び越えてビジネス的な足かせとなって経営計画に影を落とし始めます。(技術者も含めて)人々はこの頃やっと気付き始めます。これは全社的な借金なのだと。この頃になるとプロダクトは大きくなりすぎているため、当然のことながら作り直すにも容易ではなく、部分的に引き剥がすにも影響範囲が掴みにくいというような状況に陥ります。なると新技術の導入はおろか既存技術のアップデートさえも簡単ではなくなってきます。それを実行するには技術者自身はもちろんのこと、ビジネスサイドの人間もある一定の覚悟を持たなければなりません。そんな経験を見聞ではなく実体験として踏んでくると、新規事業開発などのまっさらな環境に放り込まれた時にやりたくなるのが、(社内的に)枯れていない新しい技術の導入です。「社内的に」と括弧付きで書いているのは、世の中では枯れていたりするけどウチでは使ったことがないので「枯れている」なんて大手を振って言えるほど安定して使うことができないという意味です。この「新規プロダクト」と「新技術」というのは相性がいいのです。