DEV Community

Samuel Earl
Samuel Earl

Posted on • Edited on

Part 1 - Web Development For Entrepreneurs Who Don't Know Where To Begin - Introduction

If you just want to get straight to the tutorial then skip to part 2.

Raise your hand if...

Raise your hand if you have ever wanted to learn something, but you were so lost that you didn't know even where to begin. That describes me when it comes to web development— even after being involved in it for a few years. I love web development, but it also drives me crazy with how fast some things change.

This article describes how I would begin a new web project today, but I want to give a few caveats that will help to shape my decision for the tech stack that I will use:

  • My goal is to launch an MVP for a startup company.
  • I am not a programmer with an entrepreneurial idea. I am an entrepreneur who sees web development as a way to reach a lot of people.
  • Let's assume that I am pretty new to web development, so the learning curve for the languages and frameworks has to be as shallow as possible. I know some HTML, CSS, and a bit of JavaScript. But I am also willing to put in the time and cut my teeth while working toward my entrepreneurial dream.
  • I want my tech stack to get out of my way and let me get work done. So I want my tech stack to be as intuitive and as easy to use as possible.
  • I want to use frameworks that are as close to open standards as possible, so I want to keep the domain-specific language features to a minimum.
  • I have a small budget, so I want to keep hosting costs down as much as possible.
  • I might want to turn my web app into a progressive web app (PWA) at some point in the future, so I would like for that to be as easy as possible.

There are other factors to consider when choosing a tech stack, like the size of the developer community, documentation, tech support options, etc. I might not be able to get everything I want with my tech stack, but I'll try to strike the right balance for the things that are most important to me.

Remember that my purpose is to build apps as an entrepreneur, so I am not as concerned about the marketability of the skills that I will develop while I work with my tech stack. If I were trying to get a job as a web developer, then I would probably go with React.js, Express.js, and a SQL database and move on with my life. But we're not talking about practicality here. :)

You can also read My advice to someone who wants to begin a career as a web developer, if that is what you are looking for.

My Tech Stack Of Choice (Today)

I know the suspense must be killing you, so here is the tech stack that I would use today:

You could throw in GraphQL later on (or maybe a GraphQL alternative like Deepr — if it becomes a thing), but that is a bit too complex right now for a n00b like me.

NOTE: I love graph databases! I think they are the most intuitive types of databases around. So you could swap out FaunaDB for Neo4j or Dgraph and you would be perfectly fine. I have read that graph databases should be used for very specific use cases, but from what I understand you could use a graph database pretty much anywhere you might use a SQL database or some other NoSQL database. The one knock against graph databases has been that they don't scale, but that is a thing of the past. Both Neo4j and Dgraph (and I'm sure others) claim that their graphs will scale without limits. The reason why I would go with FaunaDB today is because it is built for serverless architecture. The pricing model also fits the serverless model, so you can keep your budget under control.

Top comments (1)

Collapse
 
mccurcio profile image
Matt Curcio

Good starting article, I'll read over your other ones too. I fancy myself a Data Scientist but I feel I need more front end skills, so thanks.
Matt