9 Reasons Why

My career started 4.5 years ago. I was basically a competitive programmer. Up to that point, I didn’t need to build anything real apart from doing some small university project.

So I started learning Android after getting my first internship which landed me my first job. But I was so frustrated with it!

After 1.5 years I switched to React and never looked back. Here is why I think I should’ve never gone that way.

1. Different Solution for the Same Problem

For some weird reason in many cases, there are multiple ways to do a single thing. You may think

Isn’t that a…


Habits that make the difference

A man sits at a laptop coding.
A man sits at a laptop coding.

Getting the job done is the most important thing in software development. But how do you separate yourself from others? Well, from my experience, I can say the difference is in the approach.

Over the years, I’ve worked with a number of React developers. Here are some things that separate a great developer from an average one.

1. They Don’t Use Index as the Key

When we render a list, usually we get a warning saying that we need to provide a key for each list item. We lazy people often use the index as the key.

Something like this:

But in the React documentation, they…


Things I wish I did earlier

React is a great tool to learn. It allows us to do things in our own way. It's both powerful and limiting at the same time.

For new developers, there’s no clear guideline on which tool is best for which use case, and as a result there are multiple solutions to every problem. And sure enough, I also fell into this mistake and was late to adopt some best practices.

Today I am sharing the top 6 things that I should have started doing earlier in my React development journey.

1. Testing

For a long time testing was my weakness. I didn’t…


If you’re writing enterprise-level code, you need to know this

Over the years I have had the privilege to work on some large-scale react projects. Today I am gathering some essential things to keep in mind when building a new project or enhancing the functionality of any large scale application.

We will start from the absolute basics and then go deeper. So buckle up!

1. Project Structure

When I started with React it was intuitive for me to keep files by their types. Bus as I had the privilege to work on some larger projects I understood how difficult it can be to navigate through your files as any project grows bigger

Take…


And with it, 3 years of work.

The year was 2018. We were about to graduate. We had a great idea which we thought would make us billionaires (spoiler: It didn’t).

But once a great mind said that a great idea itself doesn’t count. You need execution.

So needed to build the damn thing. And we had to do it fast. But we were a team of only 4 members.

So we all started doing our research (Google Search Mainly 👊) to find out the fastest and easiest way to build something that we could ship to millions of our customers overnight.

The answer was Firebase. We…


React has its downsides with SEO. Let’s tackle them

Man looking through binoculars
Man looking through binoculars

We all love React. It’s awesome for its performance and simplicity. However, we’re often told that React is not SEO-friendly.

Is this really the case?

Today, we will take a deep dive into this topic and see how we can tackle the problems and boost the SEO performance of our React applications.

What Is SEO?

SEO means search engine optimization. It basically indexes your website for search engines like Google.

The better your website ranks, the higher it appears on the search result page.

Why Should You Care?

According to Staskshare, Google has around a 92.4% share of the search engine market. …


Build Performant and Clean Forms for Your Web Application

Handling form inputs are an absolute necessity for any modern web application. React is no exception. We can handle form in multiple ways. But ensuring re-usability and performance is especially critical for forms.

Because forms are some of the most dynamic components and if you handle it incorrectly your users will feel the pain of using a sluggish application.

Today we will look into an awesome library named react-hook-form which enables us to create clean and performant form components.

But what about other solutions?

Good question. There are other libraries like Formik and Redux Form doing almost the same thing in a different approach. …


A look at the SOLID principles in action

Camera parts
Camera parts

SOLID is a set of principles. They are mainly guidelines for software professionals who care about their code quality and maintainability.

React is not object-oriented by nature, but the main ideas behind these principles can be helpful. In this article, I will try to demonstrate how we can apply these principles to write better code.

In a previous article, we talked about the single-responsibility principle. Today, we will discuss the second principle of SOLID: the Open-Closed principle.

What Is the Open-Closed Principle?

According to Thorben Janssen on Stackify:

“Robert C. Martin considered this principle as the ‘most important principle of object-oriented design.’ But he wasn’t…


A look at the single-responsibility principle (SRP) in action

Clean desk setup
Clean desk setup

The main purpose of SOLID principles is to work as a guideline for software professionals who care about their craft. People who take pride in building beautifully designed code bases that stand the test of time.

Today, we will start with a bad code example, apply the first principle of SOLID, and see how this can help us to write small, beautiful, and clean React components with clear responsibilities.

Let’s get started.

What Is the Single-Responsibility Principle?

What the single-responsibility principle tells us is that each class or component should have a single purpose of existence.

Components should do only one thing and do that…

Mohammad Faisal

Passionate about Clean code and SOLID Architecture

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store