Photo by Florian Olivo on Unsplash

I have been interviewing candidates from the past 5 years. A lot of candidates are not sure what to learn and where to learn from, here is a short blog post about what you should know and where to learn from. If you think you are well versed with the following things, drop a message we are always hiring. This post is meant for candidates applying in a startup with some experience.

Frontend Engineer

Should know Javascript well.

  1. A good place to start — You don’t know JS
  2. Should follow good coding guidelines, I generally adhere to

Part 1: The Problem

They each have their own database layers that they connect to (Redis, Mongo, Mysql etc.). With different micro-services connecting to different db versions.

When a new developer joins the team, he/she wastes a lot of time installing all the dependencies, and hates it.

And lastly, we want to keep our dev stack as close to production stack as possible.

Consider the Following Project Architecture

Our Project Architecture

Service A is dependent on

  1. Redis
  2. MySql
  3. Service B
  4. Service C

And So on..(You get my point)

Now Imagine, starting all of the above, with proper language versions and database versions. …

This post is about how I ended up being a web developer despite pursuing Civil Engineering at IIT Delhi. How I learned development and developed a lot of projects at scale. What are the key takeaways for coders who want to learn the art of web development?

TLDR; Action Bias, if you have a product in mind start building it. I started my development journey by printing out “Hello World”.

A journey towards an awesome project begins by printing “Hello World”.

Why and How the Journey Started? How should you start yours?

I was pursuing a startup(well who isn’t) idea during my final year, with a classmate of mine. …

Get the basics right early so your project’s styles can scale

Medal Tally for the 2016 Summer Olympics. Source: Wikipedia

CSS specificity is an interesting topic. As the project gets bigger, the number of CSS rules in our CSS files get larger — and things start behaving in an undesired manner. This leads to many of us using the !important condition with different elements.

To understand specificity, let’s revise some basics, and I’ll add some of my own nomenclature to it.

Different Selectors

There are three different group of selectors.

  1. The #id selector
  2. The .class selector, the attribute selector (a[target=”_blank”] ), and the pseudo-class selector (button:hover).
  3. Elements (nav) and pseudo elements (p::first-line).

To make things simpler and easier to understand, I’ll call…

We all love ES6 syntax, and we have been using it in our front-end applications build on react and other frameworks.
It would be nice to be able to use ES6 syntax for our backend nodejs application.
It is very easy to set up and pretty straightforward. We’ll use an exiting project created using express-generator and then would add babel compiler to use es6 syntax.

What is babel? It is a compiler that would compile our es6 code into nodejs understandable code. For more information on babel go to

For those who directly want to see code, go here…

Part 1: Mathematics

Let’s start with two simple mathematical functions. You need to assume the following works.

Encrypt and Decrypt. They look like the following.

EncryptedString = Encrypt(String, EncryptKey)

String = Decrypt(EncryptedString, DecryptKey)

Encrypt function takes in a string and a encrypt key and return an encrypted string as output.

Decrypt functions takes in an encrypted string and a decrypt key and returns the actual string.

EncryptKey and DecryptKey form a unique pair, anyone can create their pair of encrypt and decrypt key. They always exist in pair and decrypt key can only decrypt strings encrypted using an encrypted key.

In Secure connection…

Photo by Brooke Lark on Unsplash

When we collaborate on a project, it’s better (almost every time) to use some common coding style so other developers can read your code with ease (and so they don’t come looking for you). But how do you make sure everyone knows the common coding style? And how do you ensure everyone is following the common coding style?

The answer to the first question is by using some kind of linter, a program that highlights the deviation from a common coding style guide. For JavaScript, ESLint is the de facto choice of developers.

The answer to the second question is…

Part 1 Introduction

What is Single Sign On ? It is an authentication mechanism by which one may use one central authentication system to login into multiple apps, like using one google account to login into “gmail”, “play store”, “google maps” etc.

When and Why to use SSO? When you have multiple apps and you don’t want to burden your users to remember multiple account usernames and passwords(they need free mental space to remember their anniversaries) then one should use SSO. The growing complexity of your system should not be borne by the users, but by the system itself.

I’ll explain a basic…

After building a lot of REST APIs in the last 6 years, I have finally converged on one single signature for all my responses.

There are 6 keys that I send in every response.

Data, Status Message and Status Code

These three keys are simple and straightforward.

Data contains any data that you want to send back to the user, in case of a successful response.

Status Message is the is a message for the front-end developer as a one line summary about the request processed for eg. “Post created successfully”.

Status Code is an integer HTTP response, in the above case it would be 201.


Product Manager | Engineer | Educator | IIT |

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