How to Design a Supreme and Robust API

A guide on how to design an almighty and powerful API. We will be building a very powerful, yet flexible, GraphQL API based on Nodejs with Swagger documentation powered by MongoDB. The main backbone of our API will be Hapi.js. We will go over all the technology in substantial detail. At the very end, we will have a very powerful GraphQL API with great documentation. The cherry on top will be our integration with the client.

Tschüss, Object Oriented Programming!

Goodbye, OOP. I’ve been programming in Object Oriented languages for a decade. I was gung-ho to leverage the benefits of InheritanceEncapsulation, and Polymorphism. The Three Pillars of the Paradigm. I was eager to gain the promise of Reuse and leverage the wisdom gained by those who came before me in this new and exciting landscape. I couldn’t contain my excitement at the thought of mapping my real-world objects into their Classes and expected the whole world to fall neatly into place.

Let’s talk Timeseries

Here’s a riddle: what do self-driving Teslas, autonomous Wall Street trading algorithms, smart homes, transportation networks that fulfill lightning-fast same-day deliveries, and an open-data-publishing NYPD have in common?

Let’s talk REST Security

REST is a modern architectural style that defines a new approach to designing web services. Unlike its predecessors, HTTP and SOA, it’s not a protocol (read: a strict set of rules), but rather a number of recommendations and best practices of how web services should communicate to each other. The services that are developed in compliance with the best REST practices are called “RESTful web services.”

How to become a DevOps Engineer

DevOps is really hot at the moment and most of my friends, colleagues, and senior developers I work with are putting a lot of effort in learning how to become a DevOps engineer and project themselves as DevOps champions in their organization.

What scares me about AI

If you were around in the 1980s and 1990s, you may remember the now-extinct phenomenon of “computerphobia”. In the early 2000s, as personal computers were introduced into our lives, in our workplaces and homes, quite a few people would react with anxiety, fear, or even aggressivity. While some of us were fascinated by computers and awestruck by the potential they could glimpse in them, most people didn’t understand them. They felt alien, abstruse, and in many ways, threatening. People feared getting replaced by technology.

Kubernetes: Essentials

Cloud computing, containerization, and container orchestration are the most important trends in DevOps. Whether you’re a data scientist, software developer, or product manager, it’s good to know Docker and Kubernetes basics. Both technologies help you collaborate with others, deploy your projects, and increase your value to employers. In this article we’ll cover essential Kubernetes concepts. There are a lot of Kubernetes terms, which can make it intimidating. I’ll help you make a mental model to speed your understanding of the technology.

Agile, you have been a bad friend

Agility is a good thing, no doubt, and the Agile Manifesto isn’t unreasonable. Compared to a straw-man practice called “Waterfall”, Agile is notably superior. Yet, so much of Agile as-practiced is deeply harmful. The biggest myth of agile development :  faster, cheaper and better outcome.

Zero Downtime DB Migration

You are sitting peacefully in your cosy little corner of the office completely minding your own business and then suddenly your come up with an idea that can skyrocket the interactions on your app.  A few API calls to another micro-service, a DB migration and done for the day. It seemed like a trivial task. But destiny had something else written for me.

The top 1%

What makes a software engineer better than 99% of others? My first inclination was to disclaim, “Not top 1%, maybe top N%” where N is some slightly higher integer, because false precision makes great humble-brags