Lalitha Kolla, Developer in Denver, CO, United States
Lalitha is available for hire
Hire Lalitha

Lalitha Kolla

Verified Expert  in Engineering

Software Developer

Denver, CO, United States

Toptal member since July 13, 2020

Bio

Lalitha is a seasoned software engineer known for solving tough problems. She designed an innovative Cut In/Cut Out approach to reduce days of work to mere hours for a telecommunications client, integrated a highly available MySQL solution for Blue Planet's platform, and implemented a low latency, scalable solution to provide stringent authorization checks for a large healthcare provider. Lalitha is highly effective in building robust, scalable code with 100% coverage.

Portfolio

Carium
Amazon Web Services (AWS), Datadog, Loggly, Elasticsearch, Kubernetes, Django...
Cyan/Ciena
HAProxy, MySQL, Docker, Galera Cluster, Apache Kafka, Django, Python

Experience

  • Python - 10 years
  • Microservices - 5 years
  • Django ORM - 5 years
  • Apache Kafka - 3 years
  • Kubernetes - 3 years
  • Datadog - 3 years
  • Machine Learning - 1 year
  • Amazon Web Services (AWS) - 1 year

Availability

Part-time

Preferred Environment

Amazon Web Services (AWS), Celery, Redis, Apache Kafka, MySQL, Kubernetes, Docker, Django, Python

The most amazing...

...solution I developed was a Node Cut-In/Cut-Out feature for the complex task of adding/removing nodes to existing networks. Days of work were reduced to hours.

Work Experience

Senior Software Engineer

2018 - PRESENT
Carium
  • Designed and implemented robust data synchronization solutions to sync heavily used data across multiple microservices using AWS, SNS, and SQS.
  • Developed multiple back-end features for Carium (user group management, feature flags, session management). Responsibilities included requirements gathering, design, development, unit and system testing, and deployment to production.
  • Analyzed and debugged multiple 5xx responses and scale and latency issues utilizing Datadog metrics, APM and Loggly logs in a distributed microservice environment.
  • Designed and implemented a low latency robust authorization system that had very little overhead on API developers. It handled dynamically changing permissions without compromising on correctness.
  • Implemented low latency, secure, scalable, multi-tenant authentication solutions for Carium’s Python/Django-based microservices.
  • Initiated a reminder system that sends reminders to the user's phone. Users can be in different timezones and receive multiple reminders. Setting up a timer for each reminder was not scalable, so I implemented a scalable solution for it.
Technologies: Amazon Web Services (AWS), Datadog, Loggly, Elasticsearch, Kubernetes, Django, Python

Senior Software Engineer

2010 - 2018
Cyan/Ciena
  • Implemented a distributed MYSQL solution for the BluePlanet platform using Galera. As part of this effort, dockerized the service and provided high availability and geo-redundancy.
  • Migrated multiple components of a monolithic product to multiple Docker micro-services.
  • Developed a simple Node Cut-In/Cut-Out feature for a complex task of adding/removing nodes to existing customer networks. Days of work have been reduced to hours with minimal traffic disruptions.
  • Implemented the multi NodeGroup feature, which makes it possible to treat multiple co-located nodes as a single node for all practical NMS features. This opened up new markets for Cyan’s ROADM switches and contributed to the revenue.
Technologies: HAProxy, MySQL, Docker, Galera Cluster, Apache Kafka, Django, Python

Complex User Authorization for REST APIs

Authorization is the process of checking if a user can perform an action on a given resource. At Carium, we had big healthcare providers as our clients. Based on the provider's grouping of patients/coaches/admins and patient sharing preferences, access permissions can dynamically change. Authorization checks should be low latency as it is done for every back-end call. In a microservice architecture, the ability to add authorization with ease is important for developer productivity.

I designed and implemented a low latency, scalable solution, meeting all of the above requirements. Data is modeled so that a single SQL query can determine user permissions on a given resource. Redis cache was used to drive down latency further. Complex scenarios such as parallel permission modifications by providers and patients have been handled.

Data Synchronization Between Microservices

At Carium, the only way to access data from one microservice to another was by using REST API calls, which were getting expensive for frequently used data points like users, patient, and provider settings. I designed and implemented a framework used by microservices to publish/subscribe interesting data points. The publish/subscribe mechanism was based on Amazon SQS/SNS. Special care had been taken to ensure developers could integrate it with minimal configuration. This framework reduced traffic between microservices, reducing the latency for end-user API calls.

HA MySQL Solution for the Blue Planet Platform

Blue Planet is an on-premises networking platform, based on Docker-based microservices. The requirement was to provide a highly available MySQL service.

After doing research and experimentation with different opensource options and HA designs, Galera with master/master replication proved to be the best fit. It was important to bring the cluster up and down on-demand, which was not easy with Galera. I integrated Galera with the Blue Planet platform, solved on-demand requirements by implementing state machines that control the start-up sequence of Galera pods. Later on, the design was extended to support geo-redundancy based on Galera master/slave replication.

Node Cut-in, Cut-out Tools for Brownfield Deployments

Telecommunication providers always expand their networks by adding new nodes and replacing/upgrading existing nodes for higher capacity. The process of adding new nodes is referred to as Cut-In, and deletion is referred to as Cut-Out. It was a major business for Cyan, but was very manual to plan and figure out all the changes needed to be made, ranging from connecting physical fibers to changing software configurations. Each change generates many configuration combinations, which is further complicated by additional changes. Sales/support engineers used to spend weeks figuring out the right combination of changes for optimal network configuration.

I was the lead engineer and implemented easy-to-use components for Node Cut-In/Cut-Out. Changes and possible configurations were aggregated by layer and gave users the tools and options to fix the issues at one layer before proceeding further. Days of work have been reduced to hours with minimal traffic disruptions.
1999 - 2004

Bachelor's Degree in Computer Science

Birla Institute of Technology and Science, Pilani - India

MARCH 2020 - PRESENT

Machine Learning

Coursera

Libraries/APIs

Django ORM

Tools

Celery

Languages

Python, C, C++

Frameworks

Django

Paradigms

Microservices, Object-oriented Programming (OOP)

Platforms

Apache Kafka, Docker, Amazon Web Services (AWS), Unix, Kubernetes

Storage

Datadog, MySQL, Redis, Elasticsearch

Other

Loggly, Data Structures, Algorithms, Networking, Machine Learning, Galera Cluster, HAProxy

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring