ABHAY KUMAR

Technologist at Heart , Developer by Choice


Work Experience

Software Development Engineer II, OlaCabs (ANI Technologies Limited)[April 2018 - Present]
  • Designed and Developed Aadhaar Vault backend to store various entity’s Aadhaar data encrypted using HSM, meeting all government regulations.
  • Enriched Inventory Management System with features like EU’s General Data Protection Regulation, Document Digitization Framework etc.
  • Regularly reviewed peer’s code to help maintain code quality and make others aware of technical/flow bugs.
  • Improved application alerting and monitoring by adding custom integration with Prometheus and Grafana.
Software Development Engineer I, OlaCabs (ANI Technologies Limited)[July 2016 - March 2018]
  • A key engineer in improving Inventory Management System backend performance by 3X and have helped it scale to more than 4X throughput.
  • Built Compliance Engine to ensure driver compliance and safety, keeping code extensibility, performance and changing laws as a major design goal.
  • Revamped Document Management of Inventory Management System to version and digitize properly, helped in maintaining its lifecycle properly.
  • Instrumental in Infrastructure Improvements, have always looked out for limits and involved respective teams to improve like increasing IOPS limit on MySQL server, increasing memory as well as sharding Redis, adding containers, pipelining deployments, load testing setup.
  • Improved code quality and productivity through Test/Behavior Driven Development, Refactoring, Pair Programming and Agile Development.
  • Enriched Inventory Management System with features like multiple time zone support, DST support, various entity's lifecycle management etc.
  • Fixed many bugs like race conditions, Cassandra's consistency usage, unnecessary fan-out queries from hibernate, API authentication, connection pool optimization, adding rate limit for spike loads etc., which helped reduce the error rate in several backends.
  • Mentored peers into achieving self-reliance in developing features, following Agile practices, independent deployments, performance and scalability aspects and managing production bugs, thereby improving their overall skills.
  • Took regular informal sessions on common bugs/mistakes while using Java, Spring, Hibernate, Redis, Kafka, MySQL, MongoDB, Cassandra etc.
  • Developed a robust communication interface between FAED drone and a Ground Control Station
  • Devised a Ground Control station on Java based Interactive Spaces capable of sending missions to drones and also getting telemetry data back from drones
  • Automated the drone to follow a mission i.e. take off, follow waypoints to a particular location and then return back and land at the base
Internship, Acoustics Research Laboratory, National University of Singapore [May 2014 - July 2014]
  • Incorporated Battery Management System (BMS) on the Autonomous Underwater Vehicle (AUV) Project. Involved in designing BMS's sensor board
  • Developed BMS's driver on ARM micro controller compatible with DSAAV software architecture
  • Developed driver for AUV's Inertial Measurement Unit (IMU) compatible with DSAAV software architecture
  • Worked on modelling and control of the Vector thrusters. Studied mapping between control input and resulting thrust

Education

Indian Institute of Technology, Kharagpur

Bachelor and Master Of Technology in
Ocean Engineering and Naval Architecture
2011 - 2016

Projects

  package com.iit.kgp.auv;
  import com.iit.kgp.auv.KrakenVehicle;
  /**
   * This vehicle was designed to maneuver and perform predefined tasks in underwater environments autonomously.
   */  
  class Kraken {
    public static void main(String [] args) {
        KrakenVehicle vehicle = new KrakenVehicle();
        vehicle.buildTeamAndDesign(); //Spearheaded a group of 30 multi-disciplinary students.
        while(!vehicle.test()) {
            //Developed Vehicle’s Control System and location estimator by fusing sensor data like Hydrophones, IMU, DVL etc.
            //Implemented Drivers for Depth Sensor, IMU, DVL, Hydrophones, Thrusters and other actuators on ROS.
            vehicle.codeAndDevelopHardware();
        }
    }
  }
          
  package com.rk.hardware.2015;
  import com.rk.hardware.2015.SkyWalkerRobot;
  /**
   * This robot was designed to fly and walk and crawl on towers.
   */  
  class SkyWalker {
    public static void main(String [] args) {
        SkyWalkerRobot robot = new SkyWalkerRobot();
        robot.conceptualiseAndDesignWithUseCase();
        robot.gatherMaterialAndManpower(); //Headed 25 multi-disciplinary students.
        robot.buildArchitecture(); //Designed robot’s Software Architecture which integrated codes of Quadcopter and Quadruped.
        while(!robot.test()) {
            //Designed the electrical circuitry and looked after the fabrication and assembly of these PCBs and other components.
            robot.codeAndDevelopHardware();
        }
        robot.walk();
        robot.fly();
    }
  }
          
  package com.rk.hardware.2014;
  import com.rk.hardware.2014.OptimusRobot;
  /**
   * This robot was designed to move like a car and walk like a human.
   */  
  class Optimus {
    public static void main(String [] args) {
        OptimusRobot robot = new OptimusRobot();
        robot.conceptualiseWithTeam();
        while(!robot.test()) {
            //Co-Developed a highly modular architecture for implementing control strategies with a robust Maneuver state machine.
            //Devised various maneuvers like walking, kicking and transforming into a car and back to human form.
            //Developed Driver for the Dynamixel motor on Atmega-32 Micro Controller.
            robot.codeAndDevelopHardware();
        }
        robot.transform();
    }
  }
          
  package com.rk.hardware.2013;
  import com.rk.hardware.2013.DexterRobot;
  /**
   * This robot was designed to have very dextrous hands which could perform tasks in hazardous environment.
   */  
  class Dexter {
    public static void main(String [] args) {
        DexterRobot robot = new DexterRobot();
        robot.workWithTeam();
        while(!robot.test()) {
            //Defined Communication Protocol to make scaling and calibrations of Servos fast, intuitive keeping modular design.
            //Interfaced Servos, Potentiometers, ZigBee with Atmega-16 Micro Controller of humanoid and exoskeleton.
            robot.codeAndDevelopHardware();
        }
        robot.demonstrate();
    }
  }
          

Skills

Scalable Applications and Distributed Systems
80%
Backend : Java Spring Hibernate
95%
Databases : MySQL Cassandra MongoDB Redis
80%
Events : Kafka
75%
Micro Controllers and Embedded Systems
65%
Cloud Infrastructure : AWS
75%
MATLAB
70%
Mentoring
85%