Shikhar Bhushan
Employment
Confluent Inc
Palo Alto
Software Engineer
Jun 2016 to Jan 2017

Worked on Kafka Connect, the Apache Kafka framework for streaming data import and export between Kafka and other data systems. I helped get three connectors (JDBC Sink, Elasticsearch Sink, and Cross-DC Replicator) to the finish line, and proposed and implemented several framework improvements (KIP-89, KIP-66). I also independently developed a DynamoDB connector.

Heap
Remote
Software Engineer
Jan 2016 to Mar 2016

My primary project involved improving resilience of the ingress pipeline, by shifting aggregations that were part of Heap's data collection service to be performed downstream of Kafka using Flink stream processing jobs.

Etsy
NYC; Remote
Senior Software Engineer
Jul 2012 to Dec 2015

Worked on the Search Infrastructure team that builds and supports the backend for all user-facing search features. Contributions include:

  • Elasticsearch infrastructure for new use cases and porting several of our existing indexes.
  • Improving ingest pipeline for search indexes with an intermediary datastore for denormalized data, reducing maintenance burden of divergent indexing code.
  • Build improvements such as modularization, better IDE integration, and internal release workflows.

  • Confidence building such as request replay tooling and Zipkin-based distributed tracing integration.
  • Performance improvements using a variety of techniques like caching, parallelization, and simply reducing computational work.
  • Debugging tricky problems like deadlocks and memory leaks.
  • Deeply involved in all aspects of our stack such as upgrades, monitoring, sharding of the primary search index, etc.

Bloomberg LP
London
Financial Software Developer
May 2010 to Jun 2012

Largely worked in the Fixed Income Electronic Trading team.
  • Led reengineering effort of clearing house integration for swaps. Delivered a well-factored suite of backend applications that increased maintainability, reliability and ease of support. Automated regression testing with production data.
  • Developed a solution for replicating legacy databases to a relational database thereby easing data access patterns.

  • Wrote and maintained Python bindings for key libraries such as for RPC and database access. These were actively used firm-wide. Delivered talks introducing developers to Python.
  • Helped improve performance of an in-house Scheme interpreter by 2-3x with the incorporation of the Boehm garbage collector and better tail-call optimization.

conject AG
Munich
Software Engineer
Jan 2010 to Apr 2010

Development and maintenance of a web application for real estate project management. Made a significant contribution to reduction of bug backlog in my time there.

Apache Software Foundation
Remote
Google Summer of Code Student
May 2009 to Aug 2009

Incorporated support for the SSH and SCP protocols into the Apache Commons-Net Java library. Beyond Summer of Code, I continued to independently develop it as sshj, and it came to be used by a number of companies and open-source projects. Handed over the reins in 2014.

Conferences
Berlin Buzzwords · Diving into Elasticsearch Discovery
Jun 2015

Spoke about the cluster coordination mechanisms used by Elasticsearch drawing upon my experience building eskka, an alternative to the default Zen Discovery shipped with ES.

Lucene/Solr Revolution · Search-time parallelism: an experiment
Nov 2014

Spoke about composable segment-level parallelism for Lucene as a way to improve search performance. Some of my proposals, like separating index and segment-level Collector abstractions, were incorporated in Lucene 5.

IPOM · NCClient: A Python Library for NETCONF Client Applications
Oct 2009

Developed as a final year guided research project at Jacobs University Bremen. It continues to be maintained and used in the NETCONF community. S. Bhushan, H.M. Tran, J. Schönwälder: NCClient: A Python Library for NETCONF Client Applications. 9th IEEE International Workshop on IP Operations and Management (IPOM 2009), Springer LNCS, October 2009.

Volunteering
Five Pumpkins · Android Developer
Jan 2010 to Mar 2010

Refactored codebase for suite of educational applications into shape. Developed "On-the-Go" app on this basis (100,000+ downloads).

Education
Jacobs University Bremen, Germany
B.Sc. Computer Science 2009
Specialization courses in Networks and Protocols, Distributed Systems, Databases and Web Applications, Artificial Intelligence.
Skills
Programming
Java
Python
C, C++
Scala
PHP
Javascript
Shell
Databases
SQL
Redis
Data modelling
Search
Elasticsearch
Solr
Lucene
Streams
Kafka
Flink
Tools
Git
IntelliJ
Platforms
Linux
OS X