Hariprasad Subramanya Rao (Hari Rao)

Polyglot Programmer - Primarily Java

I am a passionate Agile - Developer / Coder / Programmer with more than 18 years of experience. I have worked in all phases of SDLC. I have been working in United Kingdom since 2009.

My daily job in a nutshell

  • Understanding the requirements and story sizing
  • Arranging and participating in architectural meetings to come up with a high level design.
  • Participating in daily stand ups.
  • Coding, keeping clean code rules in mind
  • Refactoring, keeping “The Boy Scout Rule” in mind.
  • Writing JUnit tests.
  • Participating and raising code reviews.
  • Helping other developers when required
  • Helping QAs’ and BAs’ to accomplish their tasks.
  • Providing checkout testing Dev support
  • Documenting the lesson learnt and sharing with the team.
Summary of experience
  • Have worked in large investment banks
  • Have worked in large trading exchange
  • Worked in start up where I have buit complex microservices from scratch
  • Worked in scale up where I done changes that brought significant improvements and standards to the existing microservices

Work Experience

  • Senior Software Engineer - Shaype
    October 2022 - Present

    Platform
    Engineering improvements to existing 41 microservices.

    • Working with Product Manager, Operations, Senior Engineers and Junior Engineers
    • Come up with the high-level architectural design. Present and discuss with the team
    • Research on what technology, design and product to pick
    • Build scalable, reliable and maintainable microservices
    • Enforce coding standards and test coverage
    • Coding, review, unit testing, integration testing, load testing and resilience testing

    ASL
    Clonning existing Shaype's API and tailoring it to fit for ASL

    • Work with Product Manager, Team members, operations team and vendors
    • Understand the existing APIs' / microservices
    • Understand the requirements
    • Come up with highlevel design
    • Enforce coding standards and test coverage
    • Coding, review, unit testing, integration testing, load testing and resilience testing
  • Principal Software Engineer - Congurity360
    August 2020 - October 2022

    Research Google Drive
    This is a green field project on building a stable, scalable, future-proof and adaptable method of searching, classifying and acting upon customer data stored on Google Drive so that we can grow and retain a competitive advantage, by quickly servicing the changing data processing needs of all our customers current, and future. Customer data is like a living being, it never sits still and continuously evolves. Our goal is to provide a solution that helps customers understand what they have, so they can protect their assets and throw away excess noise

    • Working with Product Manager, Senior Engineers, Junior Engineer, Operations and Chief Development Officer
    • Come up with the high-level architectural design. Present and discuss with the team
    • Research on what technology, design and product to pick
    • Work with operations and devOps for containerizing and deployment
    • Build scalable, reliable and maintainable microservices
    • Enforce coding standards and test coverage
    • Coding, unit testing, integration testing, load testing and resilience testing

    Modelling Services
    This is a green field project on AI/Machine Learning. Microservices are being built using Spring Boot, Java 11, Python, CUDA, ElasticSearch, Kafka, Apache Solr, Docker, K8s/K9s etc. Objective is to identify / classify peta bytes of data.

    • Working with Data Scientists, VP of Engineering, Sales, Operations and Chief Development Officer to understand the requirements
    • Come up with the high-level architectural design. Present and discuss with VP of Engineering
    • Research on what technology, design and product to pick
    • Productionise the Data Scientist's models by co-ordinating with them
    • Work across teams to fit modelling microservices
    • Work with operations and devOps for containerizing and deployment
    • Build scalable, reliable and maintainable microservices
    • Enforce coding standards and test coverage
    • Coding, unit testing, integration testing, load testing and resilience testing
  • Principal Software Engineer (Contractor) - Citigroup
    May 2020-August 2020

    TPS (Trade Processing Services)
    TPS is a single, scalable, highly available system for cross asset trade capture and processing services across bonds and derivatives used by FI trading desks. Sales use cross asset Sales Workstation and Trading monitors their trades through Trading Workstations built on a common framework. Middle office monitors the trading activity through an exception based workflow. TPS supports STP across various E-Trading venues, Sales/Trading/Middle-office Trade Capture applications, Clearing houses, Affirmation and Allocation venues and the respective back-office systems TPS is based on a service oriented application with a modular unified user interface that talks to multiple back-end services (server code). Individual components in the client can be developed and deployed independently. This system is built in Java 8, Spring, Oracle, Junit, Mockito, Maven, ELK and OpenShift (Cloud). This is a Microservices application

    • Working with BAs'to understand the requirements
    • Get involved from design through deployment
    • Help Senior, Junior and placement students when required
    • Help QAs' to test the functionality
    • Help BAs' to scope the requirements
    • Be part of Dev support during and after deployment day.
    • Coding, unit testing and integration testing
  • Senior Developer (Contractor) - Citigroup
    Jan 2020-March 2020

    OneConnect
    OneConnect is an ultra low latency microservices application. Using the OneConnect clients connect and send orders that are then validate, enriched and sent to exchange and CitiSmart. This system is built in Java 8, Junit, Mockito, Python Scripts, Ambrosia Framework, Sysbase DB, TeamCity and Udeploy

    • Working with BAs'to understand the requirements
    • Bug fix the code and co-ordinate the deployments
  • Lead Developer (Contractor) - Citigroup
    2018-2019

    TPS (Trade Processing Services)
    TPS is a single, scalable, highly available system for cross asset trade capture and processing services across bonds and derivatives used by FI trading desks. Sales use cross asset Sales Workstation and Trading monitors their trades through Trading Workstations built on a common framework. Middle office monitors the trading activity through an exception based workflow. TPS supports STP across various E-Trading venues, Sales/Trading/Middle-office Trade Capture applications, Clearing houses, Affirmation and Allocation venues and the respective back-office systems TPS is based on a service oriented application with a modular unified user interface that talks to multiple back-end services (server code). Individual components in the client can be developed and deployed independently. This system is built in Java 8, Spring, Oracle, Junit, Mockito, Maven, ELK and OpenShift (Cloud). This is a Microservices application

    • Working with BAs'to understand the requirements
    • Get involved from design through deployment
    • Help Senior, Junior and placement students when required
    • Help QAs' to test the functionality
    • Help BAs' to scope the requirements
    • Be part of Dev support during and after deployment day.
    • Coding, unit testing and integration testing
  • Lead Developer (Contractor) - Citigroup
    2017-2018

    Worked in TPS Hammer
    This is a greenfield project. This is a Test Platform that is used across all of Trade Processing Systems to perform end to end regression testing. This platform is built in Java 8, Spring, Selenium, Cucumber - BDD, Oracle, MongoDB, Junit, Mockito, Linux, Maven, ELK and AngularJS

    • Working with BAs'and QAs' to understand the requirements
    • Design the test platform
    • Help Senior, Junior and placement students when required
    • Help QAs' to test the functionality
    • Help BAs' to scope the requirements
    • Be part of L3 support
    • Coding, unit testing and integration testing
  • Software Engineer - CME Group
    2014-2017

    Worked in ClearPort, Global Repository Services and CMEOne

    • ClearPort - It is used to clear OTC derivatives trades
    • Global Repository Services - It is used to persist and reconcile trades
    • CMEOne - This was the common UI Library that was used across all the applications in CME Group
    These applications were built in Java, Spring, Spring Boot, Oracle, Struts, JUnit, Mockito, Linux, Informatica, Encache, Tomcat, Nexus, Bamboo, Hibernate, Maven, UC4. Kafka and IBM MQ

  • Software Engineer - Kainos Software Ltd
    2012-2014

    Worked in Evolve, KBC and Ultra

    • Evolve - A patient managment product
    • KBC - Mortgage lending application
    • Ultra - A product used in Pathological Laboratory
    These applications were built in Java, C#.Net, Asp.Net, C, DB2, SQL Server, Oracle, Ant and Struts

  • Software Developer - Allstate Northern Ireland
    2009-2011

    Worked in Property Services- IRV and PRI

    IRV and PRI are the front end applications of Risk Management Property Services through which the inspections are managed. Photos, Diagrams and business information are uploaded to EDMS.

    These applications were built in C#.Net, Asp.Net, DB2, Shell Scripts and C

  • Software Engineer - Steria India Ltd
    2006-2009

    Worked for Axa Sunlife Insurance company in an Application called Annuity Systems and PCMT problem mangment tool.

    Annuity Systems were built in Legacy technologies like Cobol and DB2. PCMT was built in C#.Net, Asp.Net and SQL server

Education

  • Master Of Computer Engineering
    2006

    Sathyabama University, Chennai - India

My Address

Apartment 54 Victoria Place
20 Wellwood Street
Belfast BT12 5GE
United Kingdom

Mobile Number

07794423845

Email Id

hari.rao@outlook.com

Citizenship

British Passport Holder

GitHub

https://github.com/hariraogotit