既存のサービスまたはプラットフォームを使用するか、独自のプラットフォームを構築するかを決定する
今、私が直面している大きな問題があります。
さまざまなプラットフォームを試して、将来コースをホストできる場所に適しているかどうかを確認しています。
私が現在使用しているプラットフォームは、カスタム統合とノーコードツール(Airtableなど)を使用してインターフェイスする静的サイトに基づいています。支払いとコースのサインアップは、Node.jsサービスを使用して管理されます。あなたはそれを呼ぶことができますJAMstack、サーバーレス、または今日流行に敏感な任意の派手な用語。
実際、コースごとに、すべて類似したSAASプラットフォームがいくつかあります。私は物事をできるだけシンプルでわかりやすくするのが好きです。私が最初に始めたとき、私はコースのウェブサイトを作りました。
それから、別のコースを作成するとき、私はそのWebサイトをコピーして、別の「バージョン」を作成しました。
現在、コースの数は7に急増し、私が使用しているインフラストラクチャ全体を再検討する時が来ました。
私が最初に考えたのは、使用できるプラットフォームを使用することでした。このプラットフォームは、コース教材の集中ハブとして機能し、自分で作成する必要のない機能を提供できます。
そこで私は外に出て、Teachable、Podia、その他多くの人気のあるサービスをいくつか試しました。
しかし、私は開発者のジレンマと呼んでいるものに遭遇しました。
一見すると、これらのプラットフォームは素晴らしいです。うまく設計されており、インターフェースは洗練されており、マーケティングは輝いていて、本当に見栄えがします。
それから私はそれらを使い始めました。
そして、私は欲求不満のスケールを登り始めました。
- 「これは素晴らしく見える」
- 「全体的には気に入っていますが、それは違うかもしれません」
- 「編集者は最悪だ」
- 「マークダウンを使用できたらいいのに」
- 「バグがあります。これに遭遇したのは私だけである可能性はありますか?」
- 「サポートでこの問題が発生しました」-「エンジニアリングチームに報告しました。引き続き投稿します」
- 「OMG私はすでにこれで多くの時間を失いました」
私は怠惰な開発者です。私はこれを私の技術的能力の中で最高だと考えています。
あなたが怠惰な開発者である場合、ソフトウェアの過剰設計は問題ではありません。それは決して起こりません。タスクを実行するために必要な最小限のコードを書くだけです。
私は複雑さに抵抗します。
なぜこれが素晴らしいのですか?明日のニーズ、明日の問題を予測することはできません。そして、私はこれを時間をかけて学びました。
請負業者として、私は泣きたいほど複雑なコードベースに取り組みました。できる限り、複雑すぎることよりも単純すぎることを好みます。
怠惰な開発者であることも、ソフトウェアを書く前によく考えさせられます。
ソフトウェアを書くのは責任だからです。
あなたはあなたが将来あなたと一緒に取るつもりの重みを書いています。
コースプラットフォームの選択について上記で書いたことを続けて、独自のコースプラットフォームを作成することにしたとします。
これは、最初にコーディングする必要があることを意味します。
私は決断を下す必要があります。正しくなる可能性のある決定、間違っている可能性のある決定。
そして、私が夢見ているソフトウェアをビルドした後、将来的にコードを維持する必要があります。私はそれに対して責任があります。 「サポートを依頼」ボタンはもうありません。
開発者として、私たちは必要なツールを作成するこの信じられないほどの能力を持っています。ただし、責任を負います。
しかし、それは所有権のジレンマでもあります。今後5〜10年間、この特定のプラットフォームに依存したいですか?彼らが下す決定が私のものと一致しない場合はどうなりますか?彼らが価格を上げたらどうなるでしょうか?簡単に離れることはできますか?
理想的なシナリオでは、他の人が管理するプラットフォームではなく、常に自分のプラットフォームを選択します。しかし、私も常に最も簡単なルートを選択します。
私にとって最大かつ最も貴重なリソースは時間です。既存のソリューションを選択することで、はるかに多くの時間を費やすことができました。
自分のコースプラットフォームを作成するのに1か月を費やす必要がありますか?
これが、私が直面している開発者のジレンマの現在の事例です。
私はそれのために可能なすべての既成の解決策を試しました。
彼らは皆、何らかの形で彼らの約束(または私が心に抱いていた彼らのイメージ)を果たすことができませんでした。
私は自分の解決策を書くことにしました。もちろん、最も簡単な解決策です。
その他のラボチュートリアル:
- このブログを実行するために使用するスタック
- ソフトウェア開発者になる8つの理由
- ブログを書く開発者のためのSEO
- 本のレビュー4時間労働週
- ライフスタイルビジネスを構築する
- 独自のプラットフォームを構築する
- インディーメーカーとして、どのような商品を作っていくべきですか?
- 独自の雇用保障を作成する
- 開発者、マーケティングを学ぶ
- 製品ビジネスの自由
- 価値を生み出す
- あなたのビジネスに目的を持ってください
- アイデアは何もない
- ニッチ
- ソフトウェア開発者のためのリモートワーク
- 製品/市場適合
- フロントエンド開発者向けの最高のポッドキャスト
- なぜメーリングリストを作成する必要があるのですか?
- お金から時間を切り離す
- ソフトウェア製品に適用される希少性の原則
- 社会的証明の原則
- ウェブサイトにダークモードを追加した方法
- ディープワークの本に関する私のメモ
- 退屈なスタックを使用することの長所
- プログラミング時間を見積もる方法
- 開発者として独立することについて
- 学ぶ方法学ぶ方法
- プログラミングの仕事の面接の質問がとても難しいのはなぜですか?
- プログラマーになるには学位が必要ですか?
- 誰もがプログラミングを学ぶことができます
- 生産的になる方法
- 静的サイトの実際のページビュー数を取得する方法
- 今日、開発者バケットを埋めましたか?
- ビデオの録画方法
- 私が過去に行ったすべてのソフトウェアプロジェクト
- チュートリアルメーカーの観点からのチュートリアル煉獄
- すべての開発者はブログを持っている必要があります。これが理由であり、それに固執する方法です
- 開発者のためのビジネスマインドセットを持つ
- メンテナンス不可能なコードの書き方
- インポスター症候群とは
- 夢中にならずに自宅で仕事をする方法
- 心配するのをやめ、JavaScriptエコシステムを愛することを学んだ方法
- Webページのプロトタイプを作成する方法
- あなたはあなたのチームで最悪の開発者でなければなりません
- Hugoを使用してブログを開始する方法
- 知らないことを書く
- uBlockOriginを使用して気を散らすものをブロックする方法
- コーディングは芸術です
- 私は2年間毎日1つのブログ投稿を書きました。これが私がSEOについて学んだ5つのことです
- 火事への対処
- ジェネラリストであることについて
- 開発者のジレンマ
- My plan for being hired as a Go developer. In 2017
- MacとiOSデバイスを使用することによる生産性の向上
- チュートリアルから独自のプロジェクトに移行する方法
- これは私の小さなデジタルガーデンです
- 開発者としてフリーランスを始める方法
- ソフトウェア製品ビジネスの構築に向けた旅の共有
- サブフォルダーとサブドメイン
- 時間を節約するためにテキスト展開を使用する方法
- ソフトウェアは超大国です
- 私は本が大好き
- 新しいプロジェクト管理アプリを作成することにした方法