Resume and work history
Career Profile
Sr. Software Engineer, Twitter April 2020 – November 2022
· Designed and implemented backend for Author View Counts and Public View Counts feature using Strato, GraphQL, Manhattan(NoSQL), Cache(based on memcached)
· Designed and implemented Pinned Replies feature for the Tweets Backend team using Scala, Java, GraphQL stack.
· Designed backend for Statuses feature and implemented search and discovery using Java, Earlybird Index(Twitter Internal tool based on Apache Lucene)
· Migrated all of the team’s event streams from legacy EventBus to Kafka Event streams.
· Automated the team’s development environment scripts to assist a newly added Data Platform Front End Team.
Software Engineer II, Twitter June 2018 – April 2020
· Designed and implemented the HDFS DAL Coverage Analysis Tool. The tool scrapes through the Hadoop FsImages for all HDFS clusters maintained by Twitter’s Data Platform, and finds all unregistered data. The tool was part of the company’s number one priority around Privacy & Data Protection (PDP) initiative in 2019 Q1& Q2 and was used by all of Engineering in meeting their PDP requirements. The resulting reports were used by the highest levels of the Engineering staff in tracking progress around this initiative. The project was specifically cited for the “Earning People’s Trust” award for the ADP team.
· Migrated Rails ETL jobs for calculating dataset health reports to Scala. This migration and subsequent optimizations lead to execution time of the job falling from 1hr per run to 2min per run.
· Lead the effort to re-design the EagleEye web application - which is the internal web portal for DAL – to work with React.js/Fintra stack as an alternative to the legacy stack that included: Rails, Plumage.js, Backbone.js, React.js. Mentored a front end intern in Summer 2019 as part of this work.
Software Engineer II, RichRelevance April 2016 – May 2018
· Designed and implemented Catalog API for streaming updates to clients’ catalog. The clients send their catalog update requests through http requests which are queued in Kafka and processed by kafka consumers to execute updates to our data store. This is the Command side of Command Query Responsibility Segregation(CQRS) principle at work.
· Redesigned and implemented our new Catalog Service and Entity Store for managing entities and accessing catalog through a data store independent api framework. Used Scala’s expressive type system, functional idioms and multiple inheritance to write concise and powerful apis that can be extended by our existing entities. This is the Query side of CQRS principle followed in the design of the catalog service in the company.
· Built Spark streaming pipeline for consuming user events and rolling them into user profiles to be used in segmentation. Used the Spark Streaming Java API.
Jr. Software Engineer, RichRelevance September 2014 – April 2016
· Designed and developed Back-end REST-ful services in Java for the Engage Dashboard. Engage is a platform to develop highly relevant and highly personalized content targeting promotional campaigns leveraging the unique capabilities of the RichRelevance omni-channel personalization platform.
· Designing and developing our Targeting Service which forms the basis for segmentation of users based on contextual and historical data. Targeting Service evaluates rules which are defined in the form of highly nested logical expressions that define a “segment”. This allows us to classify the users as belonging to a segment.
Education
MS, Computer Science, The University of Texas at Dallas GPA: 3.788/4.0 August 2014
B-Tech, Computer Science and Engineering, Jawaharlal Nehru Technological University (JNTU), Distinction. May 2012
Technology
Programming Languages
Java 8, Scala, JavaScript, R, C/C++,
Database
MySQL, PostgresQL
Big Data Technologies
Hadoop, Scalding, Apache Spark, Presto, BigQuery
Message Streams
Apache Kafka, Eventbus
Service Frameworks
RPC (Thrift), REST (Java web services, Finatra), GraphQL