Avatar

Palash Nigam

Software Developer Intern

Cloud Native Computing Foundation

Biography

Hi, I am Palash. An open source developer and programming language enthusiast interested in distributed systems. I enjoy building backend services and developer tools and contributing to open source projects in my free time. You can find me on Github and Openhub.

I have been writing open source / production grade code since 2018. I started out with Python as my primary programming language but soon my curiousty made me explore other langauges as well. Most of the code that I get paid to write is in Go besides Go I have also written some Ruby and these days I am tinkering with Rust, Clojure, Elixir, Zig, Nim, Pony, etc.

Besides programming langauges my newfound interests include distributed systems (especially databases), web assembly and infrastructure engineering. I am always on the lookout for challenging projects and work opportunities that include one or more of my aforementioned interests. If you would like to hire me feel free to reach out through Linkedin, Twitter or email: palash-at-fastmail-dot-com

Interests

  • Distributed Systems
  • DevOps and Infrastructure
  • Cloud Computing
  • Open Source Software Development
  • Programming Languages

Education

  • B.Tech in Computer Science and Engineering, 2016-20

    IIIT Bhubaneswar

Experience

 
 
 
 
 

SDE Intern

Hackerrank

Jan 2020 – May 2020 Bengaluru, India
  • Git skills (a git analytics dashboard to help provide CTOs and engineering management insights into the org’s developer skills)

    • Wrote the git analysis engine in Go from scratch.
    • Worked on the rails backend for the web app
    • Designed the elasticsearch schema
  • CodeRunner (Hackerrank’s code exection service written in Go)

    • Reduced the compile time for Rust submissions from 20s to 0.52s by reusing build artifacts across submissions

Tech Stack: Go, Ruby on Rails, Elasticsearch

 
 
 
 
 

Intern

Cloud Native Computing Foundation

Jul 2019 – Aug 2019 Remote

Work Highlights:

  • Wrote a coredns plugin to serve dns records from Google Cloud DNS

Keywords: Go

 
 
 
 
 

Backend Engineering Intern

Atlan

May 2019 – Jul 2019 New Delhi, India

Worked on a data collection tool called Collect which is used by hundreds of organizations across 50 countries.

Work Highlights:

  • Rewrote the analytics API for collect in Go.
  • Deployed the analytics API on GCP.
  • Ported some parts of the NodeJS monolith to Go.
  • Did a POC on adding full-text search capabilities to collect backend leveraging Elasticsearch.
  • Did a POC on improving the Elasticsearch cluster topology for collect.

Keywords: Go, Python, Elasticsearch

 
 
 
 
 

Software Engineering Intern

Appbase

Sep 2018 – Jul 2019 Remote

Working on the following products:

  • abc: A data ingestion pipeline and CLI tool.
  • Arc: an Elasticsearch API gateway.

Work Highlights:

  • Wrote unit/integration tests for the various plugins in https://github.com/appbaseio/arc
  • Wrote a Redis adaptor to transport data from a Redis database and index it onto elasticsearch as a selection task for the internship.
  • Added gitlab login support for appbase.io to the CLI tool
  • Wrote an analytics switch for the CLI tool that displays analytics data for a particular app
  • Added support for cluster management to the CLI tool.
  • Wrote a homebrew formula for abc

Keywords: Go, Redis, Elasticsearch, Ruby

 
 
 
 
 

Google Summer of Code Student

coala

May 2018 – Aug 2018 Remote

Worked on coala’s core repo with a special focus on caching, I/O & the NextGen-Core. The following features were implemented during GSoC:

  • Improved coala’s I/O mechanism by implementing FileFactory class. An abstraction layer to interface with file content instead of dealing with actual files. This way files are now lazy loaded thereby improving the performance.

  • Implemented Directory class which provides details about a project’s sub-directories. This feature can later be used to enhance the NextGen caching by implementing an Ignore Directories Functionality.

  • Provided support for unordered collection types (e.g. sets and dicts) in PersistentHash module enhancing coala’s NextGen-Core’s ability to deal with complex task objects by pickling and hashing them to generate unique hashes for every task objects which increases the accuracy of the caching mechanism.

  • Further improved performance by caching the properties provided by FileFactory by memoizing the function calls.

  • Integrated FileFactory by writing a middleware called FileDict. The middleware mimics a dictionary and keeps the contents of the file-dict same (providing support for future integration with the NextGen-Core) but also provide the core with the actual file contents (using the file access properties provided by FileFactory) instead of the FileFactory objects on get calls (thereby maintaining backwards compatibility with the old core).

  • Wrote the documentation for the aforementioned features.

Keywords: Python

Project link on the GSoC site Final GSoC Report

Accomplish­ments

Got selected as a GSoC student

Formulated informed blockchain models, hypotheses, and use cases.

Skills

LanguagesDBsTooling
GoElasticsearchDocker
RustMongoDBGit
PythonRedisKubernetes
Ruby--

Recent Posts

An Undergrad's Guide To Salary Negotiation

Note: the information below is based on my personal experiences and some of my friends whom I have talked to recently. This post is …

(Re)Writing unix tools in Rust

I wanted to learn Rust and was looking for a small and straightforward project to get started with and the wc command in unix caught my …

Projects

wc-rs

The unix wc command re-written in Rust.