Decide between using an existing service or platform and building your own service
I have a big problem now.
I am experimenting with various platforms to see if they are suitable for hosting my courses in the future.
The platform I am using is based on a static site that uses custom integrations and no-code tools (such as Airtable) for interaction. Payment and course registration are managed using Node.js service. You can call itJAMstack,Serverless, Or any fashionable term that is popular today.
In fact, each of my courses has several SAAS platforms, and all platforms are similar. I like to keep things simple and clear. When I first started, I was a course website.
Then, when I needed to make another course, I just copied the website and made another "version" of it.
Now the number of courses has jumped to 7, and it's time to revisit the overall infrastructure I use.
My first idea was to use a platform that I can use, which can be used as a centralized hub for course materials and provide functions that do not need to be built by myself.
Therefore, I went out and tried some popular services, including Teachable, Podia and many others.
But I encountered the so-called developer dilemma.
At first glance, these platforms are great. Well-designed, exquisite interface, radiant marketing, it really looks great.
Then I started using them.
I began to increase my frustration.
- "Looks great"
- "I like it overall, but that thing might be different"
- "The editor sucks"
- "I hope I can use the reduced price promotion"
- "There was an error. How could I be the only one encountering this error?"
- "Hey, support I encountered this problem"-"We have submitted it to the engineering team, and we will notify you in time"
- "Oh my God, I have spent a lot of time on this"
I am a lazy developer. I think this is my best technical ability.
When you are a lazy developer, over-designed software is not a problem. It will never happen. I just write the minimum code needed to perform the task.
I resist complexity.
Why is it so good? You cannot foresee tomorrow's needs, tomorrow's problems. Over time, I learned this.
As a contractor, I work on a very complex code base that I want to cry, and I try to oversimplify as much as possible when it is too complicated.
Being a lazy developer also makes me think a lot before writing software.
Because writing software is a responsibility.
You are writing the weight to bear in the future.
Supposing to continue my content about choosing a course platform above, I decide to write my own course platform.
This means I have to encode it first.
I need to make a decision. Maybe the right decision, maybe the wrong decision.
After building the software I dream about, I need to maintain the code in the future. I am responsible for this. There is no longer an "Ask for Support" button.
As developers, we have a strong ability to create the tools needed. But at the cost of responsibility.
But this is also an ownership problem. Do I want to rely on this particular platform in the next 5 to 10 years? What should I do if their decision is inconsistent with my decision? What if they raise the price? Can I get rid of it easily?
Ideally, I will always choose my own platform, not a platform managed by someone else. But I will always choose the simplest route.
For me, the biggest and most precious resource is time. By choosing existing solutions, I can have more time.
Should I spend a month writing my own course platform?
That is the current instance of the developer dilemma I face.
I tried all possible prefab solutions.
They all failed to fulfill their promises (or the impression of them in my heart) in one way or another.
I decided to write my own solution. Of course, the simplest solution.
More experimental tutorials:
- The stack I use to run this blog
- 8 good reasons to become a software developer
- SEO for blogging developers
- Recalling "4-Hour Work Week"
- Build a lifestyle business
- Build your own platform
- As an independent manufacturer, which product should you manufacture?
- Create your own job security
- Developers, learning marketing
- Product business freedom
- Generate value
- For your business
- The idea is nothing
- Niche Market
- Remote work for software developers
- Product/market fit
- The best podcasts for front-end developers
- Why create an email list?
- Break the link between time and money
- The scarcity principle applies to software products
- Social proof principle
- How do I add dark mode to my website
- My notes on Deep Work
- Advantages of using a boring stack
- How to estimate programming time
- Become an independent developer
- How to learn how to learn
- Why are interview questions for programming jobs so difficult?
- Do I need a degree to become a programmer?
- Everyone can learn programming
- How to increase productivity
- How to get the actual pageviews of static websites
- Have you filled the developer’s bucket today?
- How do i record my video
- All the software projects I have done in the past
- Tutorial Purgatory from the Perspective of Tutorial Makers
- Every developer should have a blog. This is why and how to stick to it
- Have the business mindset of a developer
- How to write unmaintainable code
- What is imposter syndrome
- How to work from home without going crazy
- How do I make a web prototype
- You should be the worst developer on the team
- How to start a blog with Hugo
- Write things you don't know
- How to use uBlock Origin to stop interference
- Coding is an art
- I wrote a blog post every day for two consecutive years. Here are 5 things I learned from SEO
- Put out the fire
- About becoming a generalist
- The developer's dilemma
- My plan for being hired as a Go developer. In 2017
- Use Mac and iOS devices to improve work efficiency
- How to move from the tutorial to your own project
- This is my little digital garden
- How to start freelancing as a developer
- Share the journey of building a software product business
- Subfolders and subdomains
- How can I use text extensions to save time
- Software is superpower
- I like books
- How do I decide to create a new project management application