Skip to main content

Introduction

What is this?

Frontend Garage is place where you can learn the foundations of Software Engineering although in essence it is my personal archive where I keep those things I have learned.

My main goal is to learn by sharing, I hope this resources will give you the foundation you need to be a better Engineer.

Many developers focus only on the things that they need to have a job and I think thats fine, but if you want to be a better Engineer you must have a solid foundation of the fundamentals like Algorithms, Data Structures, Object Oriented Programming, SOLID, Design Patterns, etc.

If you want to be a better Engineer you are in the right place, because I will share with you everything that I think will help us to be better.

Notice that there are a lot concepts, you don't need to learn every thing in a month or a year, these concepts are necesary for your whole career. So, take it easy and enjoy it.

How should I learn this concepts?

Start with the most basic data structure until you understand how it works, time complexity, and how to implement it. Then you will need to practice algorithms based on the data structure you learned, and eventually you will be able to use this knowledge to solve programming problems.

Once you are comfortable with algorithms and data structures, you should start to learn or improve your low-level design by studying and practising:

  1. Design Principles (DRY, YAGNI, KISS, etc.)
  2. SOLID
  3. Object Orinted Programming (OOP)
  4. Design Pattterns

Note: I will be adding these concepts as time goes by.

Frontend Garage wiki structure

Algorithms and Data Structures

In-depth explanations of the most common Algorithms and Data Structures.

  • Definition
  • Analogy (real life example)
  • Uses cases
  • Runtimes
  • Link to implementation

Implementation

The implementations will be in this repository.

Each implementation will be documented and tested.