How did I learn full-stack development? - A tech start-up founder pathway

This is the post where I shared my experiences and recommendation in learning full-stack web development

How did I learn full-stack development? - A tech start-up founder pathway
Photo by Fatos Bytyqi / Unsplash

 Hi there, my name is Mark; I am working on a new venture with my business partner, Seth Harding, to empower software engineers to achieve with the power of knowledge management driven by the latest AI technologies. Building such a project required a strong foundation in application development using various technologies. So today, I would like to share what I learned from being a tech entrepreneur building a full-stack web application for SaaS businesses.

 Firstly, you need a strong computer science foundation to quickly learn such concepts in full-stack application development. For example, if you would like "POST" a request to the backend server to send the message to the database, you would need to learn the basics of HTTP methods and some of the foundational knowledge of computer networking.

 However, often as a beginner, we are constantly overwhelmed by the amount of knowledge or experience we need to have before actually learning the subject. Therefore, I propose a technique that might help you to deal with these problems. The method is so-called, Meta-learning. The idea of meta-learning originally came from the book, Ultralearning by Scott Yang. This technique helps you to oversee the concepts, facts, and practices you need to learn before you actually know them.

 Beyond learning how to learn, there is some technical knowledge you need to pick up to become a full-stack software engineer. Firstly, let us talk about frontend development, which creates an interactive and beautiful user interface with a library like React or a framework like Vue.js. Learning front-end development can be a fun experience, but getting started can be overwhelming as there are many options out there. But here are some of my recommendations.

React - The Starting Point

React is a front-end library that allows developers to easily create an interactive interface, even a website, from zero to one. To get started with React, you must be familiar with the basics of JavaScript and Node.js environment. Then, you will need to learn the basics of the following React tools,

  • React States - How to use React States to control a component
  • React Context - How to use React context to communicate with other components  
  • React DOM - How to manipulate a virtual document object model with React
How to learn React.js from zero to hero
This post is where I shared my experiences learning React.js by building a front-end development experience.

UI Library - Accelerate your Development

Once you learned how to build a simple website with React.js. You would need to explore various UI styles and its library. Material UI and Chakra UI are prevalent in today's website development communities.  

MUI: The React component library you always wanted
MUI provides a simple, customizable, and accessible library of React components. Follow your own design system, or start with Material Design.
Chakra UI - A simple, modular and accessible component library that gives you the building blocks you need to build your React applications.
Simple, Modular and Accessible UI Components for your React Applications. Built with Styled System

Front-end to Backend - From POST Request to GET Response

Now that you have learned how to build a stylish website with React and the UI kits you love, it is time to integrate with the backend server or content management system (CMS) of your choice. Building such functions requires skills and knowledge of computer networking, like how HTTP requests work between clients and servers. If you want to post a request, you can do it with Axios, one of the best HTTP request libraries for React or JavaScript.

Getting Started | Axios Docs

Once you have learned how to build a front-end website, you will need to learn how to establish and deploy a backend server on your own to fully unleash the power of a web application.

Backend - Where Data Meet Servers

The backend server is just like a restaurant's kitchen where all of the requests (data) are sent back to the kitchen for further process to return, if needed, a proper response to the front-end client (Like what we built by using React). Therefore, you will need to learn three things in mind,

  • Backend Logics and Development Frameworks
  • Backend Server Deployment and Operation on Clouds like Azure or AWS
  • Database Deployment and maintenance

However, since there are many things to learn in backend engineering, I suggest just starting with a simple backend framework like Express.js in JavaScript or Flask in Python so that you can understand the basics of dealing with data from the client to the database.

Nextly, from my experience, you will get through a pretty painful process in learning these technologies as it's a massive amount of background knowledge and try-and-error. However, if you can enjoy the process of debugging, then I believe that this kind of learning curve will meet your need for learning.

Can't wait to see what you can create with your passion and creativity