About Me

Hi 👋 I am Naren.

I am a Software Consultant with expertise in building robust backend and scalable systems. Currently, I am helping a stealth startup to build a multi-currency wallet and a Japan based enterprise finance company to build investment management portals. I love travelling and speaking at tech conferences.

Expertise

Code

I started my career in 2013 by programming in C, especially Embedded C. Then learnt Python and became proficient in it. Later I fell in love with the simplicity of Golang. Past 6 years, I have built 15+ production (micro)services using both Python and Go. I have also explored other languages like C++, Java, Rust, Nodejs, Ruby and Lisp(Scheme). Nevertheless, I strongly believe in choosing the right tool for the right job.

I am also developing my own programming language on the side.

Data Systems

I’ve worked on some databases: Postgres, MySQL, Cassandra, Redis, CouchDB, InfluxDB and BoltDB. I have good experience in designing object-oriented relational schema for products. I have deployed and scaled Redis as in-memory DB, queue, pub-sub and LRU cache. Schema design, query execution plan analysis, optimizing queries, partitioning and scaling are some of the things I have done in PostgreSQL. I have also used different queues like AWS SQS, Kinesis and RabbitMQ for asynchronous processing.

Infrastructure

I have a good experience in architecting, developing, deploying and scaling robust backend infrastructures. I am aware of most of the AWS services and for many years I have architected solutions using the same. Recently I have also been working with Azure Cloud and GCP to architect solutions. Not to mention that apart from the managed solutions, earlier I have architected and deployed services in bare metal servers too.

I use some kinds of stuff that aren’t completely terrible

Infra and Hosting

Primarily I have used AWS, Azure and GCP in my day job (well, in that order). I use Digital Ocean and Oracle Cloud to spin up servers for my personal projects.

Version Control

Since I started working on software from 2013, fortunately, I did not struggle with version control systems as my senior devs did. I started using git right away. I host all my public and private projects on Github.

IDE and Editors

I started loving emacs from day one. I got frustrated that I have to install emacs in all the servers I ssh into. So I am getting used to Vim these days. Now I am in a state where I lost touch with emacs and trying to push Vim bindings into muscle memory. I was using JetBrains IDEs but recently I switched to VScode. I rely on Bear Notes app and Remember the milk to organize my notes and projects.

OS

Ubuntu, Debian in servers and mac OS for development.

Do you have the next big idea? Or want to scale your existing product?

Hire me to help you craft software the right way.