開発者のジレンマ

既存のサービスまたはプラットフォームを使用するか、独自のプラットフォームを構築するかを決定する

今、私が直面している大きな問題があります。

さまざまなプラットフォームを試して、将来コースをホストできる場所に適しているかどうかを確認しています。

私が現在使用しているプラットフォームは、カスタム統合とノーコードツール(Airtableなど)を使用してインターフェイスする静的サイトに基づいています。支払いとコースのサインアップは、Node.jsサービスを使用して管理されます。あなたはそれを呼ぶことができますJAMstackサーバーレス、または今日流行に敏感な任意の派手な用語。

実際、コースごとに、すべて類似したSAASプラットフォームがいくつかあります。私は物事をできるだけシンプルでわかりやすくするのが好きです。私が最初に始めたとき、私はコースのウェブサイトを作りました。

それから、別のコースを作成するとき、私はそのWebサイトをコピーして、別の「バージョン」を作成しました。

現在、コースの数は7に急増し、私が使用しているインフラストラクチャ全体を再検討する時が来ました。

私が最初に考えたのは、使用できるプラットフォームを使用することでした。このプラットフォームは、コース教材の集中ハブとして機能し、自分で作成する必要のない機能を提供できます。

そこで私は外に出て、Teachable、Podia、その他多くの人気のあるサービスをいくつか試しました。

しかし、私は開発者のジレンマと呼んでいるものに遭遇しました。

一見すると、これらのプラットフォームは素晴らしいです。うまく設計されており、インターフェースは洗練されており、マーケティングは輝いていて、本当に見栄えがします。

それから私はそれらを使い始めました。

そして、私は欲求不満のスケールを登り始めました。

  1. 「これは素晴らしく見える」
  2. 「全体的には気に入っていますが、それは違うかもしれません」
  3. 「編集者は最悪だ」
  4. 「マークダウンを使用できたらいいのに」
  5. 「バグがあります。これに遭遇したのは私だけである可能性はありますか?」
  6. 「サポートでこの問題が発生しました」-「エンジニアリングチームに報告しました。引き続き投稿します」
  7. 「OMG私はすでにこれで多くの時間を失いました」

私は怠惰な開発者です。私はこれを私の技術的能力の中で最高だと考えています。

あなたが怠惰な開発者である場合、ソフトウェアの過剰設計は問題ではありません。それは決して起こりません。タスクを実行するために必要な最小限のコードを書くだけです。

私は複雑さに抵抗します。

なぜこれが素晴らしいのですか?明日のニーズ、明日の問題を予測することはできません。そして、私はこれを時間をかけて学びました。

請負業者として、私は泣きたいほど複雑なコードベースに取り組みました。できる限り、複雑すぎることよりも単純すぎることを好みます。

怠惰な開発者であることも、ソフトウェアを書く前によく考えさせられます。

ソフトウェアを書くのは責任だからです。

あなたはあなたが将来あなたと一緒に取るつもりの重みを書いています。

コースプラットフォームの選択について上記で書いたことを続けて、独自のコースプラットフォームを作成することにしたとします。

これは、最初にコーディングする必要があることを意味します。

私は決断を下す必要があります。正しくなる可能性のある決定、間違っている可能性のある決定。

そして、私が夢見ているソフトウェアをビルドした後、将来的にコードを維持する必要があります。私はそれに対して責任があります。 「サポートを依頼」ボタンはもうありません。

開発者として、私たちは必要なツールを作成するこの信じられないほどの能力を持っています。ただし、責任を負います。

しかし、それは所有権のジレンマでもあります。今後5〜10年間、この特定のプラットフォームに依存したいですか?彼らが下す決定が私のものと一致しない場合はどうなりますか?彼らが価格を上げたらどうなるでしょうか?簡単に離れることはできますか?

理想的なシナリオでは、他の人が管理するプラットフォームではなく、常に自分のプラットフォームを選択します。しかし、私も常に最も簡単なルートを選択します。

私にとって最大かつ最も貴重なリソースは時間です。既存のソリューションを選択することで、はるかに多くの時間を費やすことができました。

自分のコースプラットフォームを作成するのに1か月を費やす必要がありますか?

これが、私が直面している開発者のジレンマの現在の事例です。

私はそれのために可能なすべての既成の解決策を試しました。

彼らは皆、何らかの形で彼らの約束(または私が心に抱いていた彼らのイメージ)を果たすことができませんでした。

私は自分の解決策を書くことにしました。もちろん、最も簡単な解決策です。


その他のラボチュートリアル: