A software storage solution might be less obvious than you think.

I was recently having a design conversation with some engineers on my product team. We were discussing the implementation of a feature that dealt with saving user settings on a web app. When thinking about the concept of persistent storage, my brain automatically tended to go straight to the obvious tool that provided programmatic persistent storage: a database.

Databases generally provide a flexible paradigm for storing different formats of data and standard APIs to read and write that data programmatically.

However, the more we discussed and the more I thought about it, this was a case where storage locally on…


Diving deeper beyond the surface of microservice interactions

Photo by Denys Nevozhai on Unsplash

Think back to the last time you checked the tracking information for a package you were expecting to receive. You might have followed a link in your email that gave you a breakdown of where and when your package was received and shipped out of various locations. You could make a mental map of what shipping facilities passed through around the world it and how long it spent there and on the road. …


Image Source: https://scotch.io/bar-talk/secure-dependencies-with-github-and-dependabot

I’m a big proponent of keeping software up to date. Especially in the modern day where it feels like new critical security vulnerabilities are popping up in software every other week.

There’s a whole industry, multiple academic fields, and career tracks just focused on this topic of software security. Smart people are always finding ways to make it easier for devs to implement best security practices when writing code.

One of these many best practices is always keeping your dependencies up to date and actively upgrading them when known vulnerabilities are published. In the past, this was a mostly manual…


Design and Mockups

This is part 2 of my developing series documenting my process of recreating a web game I made a few years ago using the things I’ve learned between then and now. For some background, check out part 1!

Design Before Code

I like writing code a lot. I feel pretty comfortable when a task ahead involves writing code. Most of the personal projects I work on usually start with me tinkering around with building something and stumbling my way through learning it to the point where I’ve produced a decent product. …


Why I want to remake a web game I built 4 years ago

Photo by Kah Lok Leong on Unsplash

From Humble Beginnings (aka Flash Games)

I have a group of friends who I’ve known since high school that I’ve played video games with for years. Back in college, we used to play an online multiplayer flash game hosted on Kongregate called Lolcaptions.

The loop of the game was simple:

  1. Vote on an image from a random set that you thought you could caption with something funny
  2. Submit your hilarious caption
  3. Vote on all the captions submitted by you and other players
  4. See the winning caption on the image
  5. Have a laugh and win some points if your caption was the winner

We spent so many…


Fighting the inevitable pains of legacy code

Photo by Leanna Cushman on Unsplash

One of the most common tropes of working as a software engineer I’ve noticed is the constant lambasting of old code. Anything older than a few years was never described by my peers as anything close to elegant, easy to read, maintainable, or generally pleasurable to work with.

There are many existing posts out there (at least one I’ve read) that outline how to emotionally deal with the inevitable headaches of old code. It came off as something to be coped with, not something that could be solved.

This got me thinking about a few things:

  • Is the reduction of…


What I learned moving my personal website to GatsbyJS

There are lots of tools to build websites freely available to download and use online. You might want to go at it with just plain HTML, CSS, and some JavaScript. This is how I built my first personal website and unless you’re trying to get fancy with frontend features or content, this might have worked well for you.

Overtime, I got the itch to move my website development to something a little more robust in terms of tooling. Not so much because the content there was complex enough to merit a full-fledged frontend framework, but more so I could have…


Photo by Alex Holyoake on Unsplash

In 6 steps

In my last post, I outlined what open source is and presented some steps for how to get involved. Every open source project available today, even those with many thousands of contributors, all started with at least one person who had the drive to make what they were creating available for other to freely use and contribute to.

If you fall into this category of people but don’t have a good idea of how to get started, then this is hopefully a good place for you to start. …


A beginner’s guide to participating in open source

Photo by Alina Grubnyak on Unsplash

Did you know that a large part of the software you use everyday was probably built with tools and technologies that are freely available for anyone to download, install, study, and modify?

The operating system running the server that’s delivering this webpage to you. The library securing your network traffic to this website. The framework used to build this website. All of these thing were build on or with the help of open source technology.

Software being open source means that not only is all of its source code available to download…


What tools do cloud platforms provide and what software problems can they solve for you.

Photo by Samuel Ferrara on Unsplash

As software engineers, there are lots of tools available for us to use. We might start simple with a programming language or two. From there, we might explore software libraries that help us be more productive when solving problems, or tools to help with collaboration. If our use-case requires it, we could reach for advanced monitoring tools to alert us when our software is doing something it shouldn’t.

At some point in this process, many of us might have crossed paths with the new hotness in software development: The Cloud.

If you’re reading this, then you might have at least…

Sanjay Nair

Software Engineer. Atlanta, GA, USA

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