Lalitha Kolla, Software Developer in Denver, CO, United States
Lalitha Kolla

Software Developer in Denver, CO, United States

Member since March 12, 2020
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.
Lalitha is now available for hire

Portfolio

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

Experience

Location

Denver, CO, United States

Availability

Part-time

Preferred Environment

Amazon Web Services (AWS), Celery, Redis, Apache Kafka, MySQL, AWS, 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.

Employment

  • 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, AWS, 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

Experience

  • 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.

Skills

  • Languages

    Python, C, C++
  • Frameworks

    Django
  • Libraries/APIs

    Django ORM
  • Paradigms

    Microservices, Object-oriented Programming (OOP)
  • Platforms

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

    Datadog, MySQL, Redis, Elasticsearch
  • Other

    AWS, Loggly, Data Structures, Algorithms, Networking, Machine Learning, Galera Cluster, HAProxy
  • Tools

    Celery

Education

  • Bachelor's degree in Computer Science
    1999 - 2004
    Birla Institute of Technology and Science, Pilani - India

Certifications

  • Machine Learning
    MARCH 2020 - PRESENT
    Coursera

To view more profiles

Join Toptal
Share it with others