# Software Developer
Hello everyone! Many years ago when I started programming, the first language I fell in love with was Python. With its simple yet powerful language features ranging from comprehensions to generators, the language enabled me to solve complex problems efficiently.
In the past few years, my daily work started involving less coding with Python and more with TypeScript. Frankly, moving from a type-less system to a typed one made my life a whole lot easier, however, I started missing some of the great flavours that Python gave me out of the box. Read More...Oftentimes I find myself struggling with Typescript code style and readability due to complicated types. In this article we are going to take a look at a couple of utility types provided natively by TypeScript that might help you too to clean up your type systems for a leaner and meaner codebase.
1. Using the Partial utility type TypeScript has a bunch of utility types that help you with cleaning up your code and making your shapes scale better. Read More...Network-level architecture We’ve gotten this far, congratulations. It’s time for us to talk about network level architectures, or how different groups of software communicate with each other.
Whenever we are talking about communication, there is always a phrase that comes up in software that defines the nature of how code talks to other code. This concept is the concept of a protocol.
What is a protocol Protocols are widely used in both software and non-software communication across the globe. Read More...