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 SaaS incubator startup with their engineering. I love travelling, speaking at tech conferences and playtime with my dog.

Expertise

Code

I started my career in 2013 by programming in Embedded C. Then learnt Python and became proficient in it. Later I fell in love with the simplicity of Golang. Past 9 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 also developed my own programming language on the side as a learning exercise. I am currently building a computer from scratch on breadboard.

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 worked 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 heavily rely on Obsidian.md app, Todoist and Fantastical to organize my notes, projects and time.

OS

Linux 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.