Senior Software Engineer
-
Paytient
Apr 2024 - present
I am currently working as a senior software engineer at
Paytient.
Full Stack Engineer
-
Pepper IoT
Mar 2023 - Apr 2024
- Designed and implemented Go service framework for rapidly developing Kafka consumers and producers, in addition to managing the auto-scaling of consumers in Kubernetes via KEDA(Kubernetes Event-driven Autoscaling).
- Developed Go service framework for data access services that utilizes Go and Protocol Buffers to provide RESTful and GRPC interfaces as well as automated migrations for MongoDB.
- Led the implementation of Open Telemetry across Kubernetes services, including writing a custom SDK for tracing messages across Kafka topics.
- Developed microservices and AWS Lambda functions to integrate with Alexa and Google Assistant for controlling smart home devices, as well as a configuration platform to allow for rapidly adding new device models and types to the voice assistants.
- Migrated AWS Lambdas and AWS ECS services to Kubernetes clusters as Knative services using Github Actions for building containers, ArogoCD for GitOps, Helm for service configuration, and Terraform for infrastructure and secrets management.
- Responsible for selecting and interviewing candidates to build out a cross-functional engineering team consisting of full stack engineers, data analysts, and DevOps engineers.
- Oversaw the migration from a monolithic service architecture to micro-services to allow for rapid scalability and faster deployments.
- Developed a Python event-driven data ingestion pipeline supporting multiple vendor file formats utilizing AWS Lambda, SQS, and S3. Built custom checkpointing service to monitor data ingestion pipeline to provide observability and customer support.
- Deployed and maintained security controls, including network security, identity and access management, and data encryption, to ensure the confidentiality and integrity of sensitive information in a multi-account AWS infrastructure.
- Configured and managed AWS services including ECS, EC2, S3, RDS, VPC, SQS, and ELB to ensure maximum availability and performance utilizing Infrastructure as Code tools, such as Terraform and Terragrunt.
- Orchestrate the deployment and initialization of servers on AWS Cloud and VMware vSphere using Terraform and Ansible.
- Manage the provisioning, deployment and administration of Kubernetes clusters using Rancher and K3S.
- Author, deploy, and maintain Helm charts for internal applications, as well as charts for open source applications.
- Deploy and monitor multiple Kafka and Kafka Connect clusters via Kubernetes.
- Implement GitOps best practices to automate Kubernetes deployments using FluxCD and Helm.
- Administer Apache Airflow service and DAG deployments and their AWS S3 and MinIO datasources.
Software Developer
-
Farmobile
Aug 2020 - Nov 2021
- Design and implement scalable Python and Go applications to ingest, transform, and store real-time IOT data utilizing Apache Kafka, Avro, and ScyllaDB.
- Develop Go GRPC microservices and Python SDKs to transform and serve IOT data to internal and external stakeholders.
- Author and manage Kubernetes applications to guarantee scalability, as well as ensure reliability by integrating Prometheus and Grafana monitoring into all services.
- Develop Python Django API’s to serve front end applications as well as external API customers.
- Engage in DevOps activities by composing Terraform for AWS resources, implementing mesh networking using Linkerd, and deploying Helm charts to Kubernetes.
- Develop scalable applications for Apache Spark and Hadoop/YARN clusters to be used for data analysis, ETL processes, and machine learning feature engineering.
- Manage the performance and reliability of Apache Airflow and Spark clusters using following site reliability engineering best practices to maintain high availability.
- Build Python frameworks for data science teams to enable efficient access to data via parquet and AWS S3, productionize machine learning models, and provide real time data analysis tooling.
- Develop back end Java ETL applications using Play, Hammock, and Kafka to create a microservice framework for 3rd party data-ingestion and processing into PostgreSQL and ElasticSearch.
- Back-end Java development utilizing SonicMQ and MySQL to run highly available, real time data processing services for FDA regulated application.
- Front-end Java development on an FDA regulated Eclipse E3/E4 RCP application.
- Work in close collaboration with nurses and stakeholders to design and efficiently implement applications for prenatal, labor and delivery, and postpartum maternal and fetal care.
- Use Agile Development Methodologies to plan and iteratively work through projects with a geographically and culturally diverse team.