Senior Software Engineer
2017 - PRESENTThe Global Tote, Topbetta (TBH)- Designed and developed the core modules of a betting engine such as bet placement, price pool calculation, and more in a parimutuel betting server which can scale horizontally.
- Designed the interactions of the core modules of the server with RabbitMQ message brokers, Redis Memcache, distributed mutexes, and a Percona relational database.
- Optimized the bet acceptance performance by reducing the IO overhead and reducing the number of critical sections in the code created by the distributed mutexes.
- Designed and developed an inter-Tote protocol server called ITSP server which can communicate between Tote servers all around the world in real time.
- Designed and developed new exotic bet types like straight8, trifecta, first four, and exacta. This involved the handling of all the requirements like jackpot money, horse scratchings, flexi bets, calculating pool dividends and payouts for winning bets.
- Debugged critical production issues and looked after the whole Global Tote infrastructure which has servers located at different locations around the world.
Technologies: Amazon Web Services (AWS), Inversion of Control, InversifyJS, Amazon Route 53, AWS Simple Notification Service (AWS SNS), AWS Step Functions, Serverless, JSON Web Tokens (JWT), Authorization, Authentication, OAuth 2, Amazon Cognito User Pools, Amazon Cognito, Docker, GraphQL, Laravel, Locust, GDB, Valgrind, AWS Cloud Development Kit (CDK), Amazon Simple Queue Service (SQS), Amazon DynamoDB, AWS ALB, Amazon Elastic Container Registry (Amazon ECR), Amazon API Gateway, Amazon Elastic Container Service (Amazon ECS), AWS Fargate, Event Sourcing, CQRS, TypeORM, NestJS, TypeScript, Google Test, RabbitMQ, Percona, Redis, Boost, C++, Service, Distributed SystemsTechnical Lead
2013 - 2017Samsung Research- Developed an application stack for voice over LTE (VoLTE) and rich communication services (RCS) on Samsung devices deployed across the world.
- Worked on and modified Android framework modules like a telephony manager, connectivity manager, RIL, and more to suit the requirements of Samsung mobile devices.
- Worked on Android NDK, the UI development of the messaging app, and Orange RCS utility app.
- Constructed the RCS Presence server for providing presence information of RCS capable endpoints with in enterprises.
- Built an instrumentation test framework from scratch for Samsung Mobile Android RCS application.
Technologies: Inversion of Control, GDB, Valgrind, Rich Communication Services (RCS), Multimedia, SIP, Tizen, C++, Java, AndroidSenior Software Engineer
2012 - 2012MetaObject Infotech- Designed and developed back-end REST APIs in the MVC PHP YII framework for SCADA monitoring and control server for water supply networks.
- Composed algorithms for digital pulse counting, GPRS connectivity, GSM Messaging.
- Designed the whole software memory architecture for RAM and Flash storage of RTCU-based embedded devices of Logic IO deployed at remote locations.
- Developed a kernel driver for PPP protocol to communicate with any kind of interface other than standard interfaces like RFCOMM, ethernet, and more.
Technologies: Valgrind, C, C++, Yii, PHPSoftware Engineer
2009 - 2012Sonus Networks- Designed and developed features like selective call rejection, cancel call waiting, selective call acceptance, and more for the Sonus VoIP server.
- Designed and commercialized a multithreaded media capture tool to capture media flowing through the Sonus VoIP server.
- Added support for HD voice codecs like G722.1, Microsoft RT Audio in the Sonus VoIP server.
- Programmed a critical live software upgrade process to upgrade servers in client networks without affecting stable calls on the VoIP servers.
- Developed an automation test suite to test features of the Sonus VoIP servers.
Technologies: Valgrind, VoIP, SIP, C, C++