Samir Patel

Staff Infrastructure Engineer

About Me

I focus on cloud infrastructure automation, application development, system architecture, performance tuning, scaling, observability and reliability

Email
Location
Austin - Texas
Links
           

Professional Skills

Infrastructure: Kubernetes, Terraform, Docker
Automation: GitHub Actions, Cloud Build, Circle CI, Packer, Kubernetes Jobs, Jenkins
Cloud Providers: AWS, GCP
Configuration Management: Ansible, Puppet
Languages: Typescript, HCL, PHP, Golang, Python, Bash

Work Experience

Slingshot Aerospace - Senior DevOps Engineer
May 2022 - Sep 2023
  • Provision Anyscale using Terraform to run machine learning workloads in AWS
  • Migrate a mission critical application from ECS to EKS, with all AWS dependencies automated using terraform, coordinate production cutover
  • Implement DataDog logging and APM across all new and existing applications
  • Spearhead initiative to significantly reduce AWS cloud spend across all teams
  • Continually monitor the log/alert stream from all applications, assist dev teams in resolving errors
  • Create dashboards and alerts in DataDog to monitor and notify team's channels in Slack
  • Migrate Kafka based application running on ECS to EKS, scale it out, shorten build time
  • Create terraform monorepo and provision AWS infrastructure to host mission critial applications, migrate from Pulumi code
  • Create GitHub Actions workflow definitions for CI/CD pipelines
  • Upgrade and optimize a critical legacy application with several microservices to run in EKS
  • Modernize and upgrade aspects of a legacy application using Cassandra on ECS
  • Support legacy IaC that orchestrates AWS resources using CDK
  • Create and maintain template repos to help developers create new microservices
Optimize.ad - Staff Infrastructure Engineer
May 2021 - May 2022
  • Build Ethereum ERC-721 NFT smart contract for luckygoat.org
  • Create backend APIs and jobs necessary to mint NFTs and display provenance
  • Introduce standardized CI/CD build process for all services
  • Introduce GKE and migrate existing applications
  • Create service to dial outbound phone numbers powered by Twilio API
  • Run critical backend workloads using PubSub for reliability and scalability
  • Create a smart router for leads to move information from one state to another determined by making several API calls to other backend services
  • Manage caching and SSL at the edge using Fastly
  • Introduce DataDog to provide visibility using dashboards that display StatsD metrics emitted by Kubernetes applications
  • Use Istio service mesh to manage traffic routing and SSL certificates
  • Create a high volume event stream processor using nest.js and next.js for the backend and frontend respectively
  • Gain novel insights into user activity by creating a map/reduce job to analyze Google Analytics provided sharded tables in BigQuery
FloSports - Staff DevOps Engineer
Feb 2019 - Apr 2021
  • Create a service in golang to capture request logs from Istio managed Envoy proxies for realistic traffic playback capabilities
  • Maintain and upgrade DataDog agent in Kubernetes and create related dashboards and alerts
  • Upgrade and maintain GKE Kubernetes clusters and Istio Service Mesh
  • Implement Continuous Delivery using GitOps methodology using Cloud Build, GCR and GKE with Slack notifications for deployments
  • Convert high traffic endpoints running in Lambda into new services running in Kubernetes to drastically increase scalability
  • Consolidate logs from all applications running on EC2, lambda and kubernetes into DataDog
  • Build and operate containerized, scalable and continuously delivered workloads in Kubernetes
  • Outline vision and collaborate on implementation for full migration of existing services into Kubernetes
  • Assist development teams in onboarding their application into Kubernetes by creating self service documentation and in person assistance
  • Create process and tooling to rapidly provide CI/CD for Kubernetes services (Google Cloud Build using GitOps to deploy into GKE cluster)
  • Establish best practices for future Kubernetes architecture via on premises collaboration with Google Cloud Solutions Architects
  • Initiate and manage support requests with AWS technical representative directly and by via support tickets
  • Create and manage AWS infrastructure using Terraform
  • Create Fastly services in Terraform to add edge caching to existing webservices
  • Create a REST API in Typescript that allows clients to run long running containerized workloads reliably
  • Consult with representatives from other teams on future architecture and infrastructure requirements for future initiatives
  • Add system and application level metrics to charts on a dashboard for measuring performance and detecting anomalous signals
  • Dynamically create live streaming backend servers using Terraform, Wowza, Ansible and Packer
  • Continuously define an Infrastructure Roadmap by working with project managers on a regular cadence
  • On call PagerDuty rotation for production infrastructure and services
FloSports - Staff Software Engineer
Oct 2016 - Feb 2019
  • Create several dozen API endpoints and real-time background jobs to service specific product requirements for mobile, web and TV apps
  • Migrate legacy API to a well documented, low latency, modern API by preserving backwards compatibility and migrating data continuously
  • Virtualize local development environment using vagrant and Ansible in order to quickly onboard new developers
  • Participate in code review, application architecture and Pull Request review workflow
  • Create an automated caching mechanism, called RoboCache, for Doctrine entities using REDIS
  • Use advanced concepts in the Doctrine ORM like discriminator mapping, event listeners, joined inheritance type, DBAL etc
  • Strictly follow PSR1/2 coding standards and ensure testing pyramid viz. unit, functional and integration tests are in the right proportion
  • Use mockery to mock objects for the purpose of unit testing specific pieces of functionality and maintain test performance
  • Assist infrastructure team in provisioning and setting up jenkins to deploy and build AWS infrastructure for the application
  • Explain and amend application architecture and design with product owners and developers
  • Collaboratively build application features through whiteboarding and cross team collaboration
  • Create and operate migration of several hundred TB of video content and database records using many job servers running parallelized workloads
  • Build content search API with AWS CloudSearch and continuously warm index using message queue driven background job
  • Investigate and resolve performance issues and errors as reported by NewRelic, DataDog, ELK, Rollbar, CloudWatch and PagerDuty
ReStream Solutions - Senior Software/Infrastructure Engineer
Apr 2016 - Feb 2018
  • Created playbooks using Ansible to configure and provision a load balanced cluster of web and job servers
  • Used redis for PUB/SUB message queue and caching
  • Created a fully automated local environment using vagrant, virtualbox and Ansible
  • Designed an API using Symfony3 with PHP 7.0 running on Nginx, which accepts payloads from IoT devices in the field that collect scientific measurements, such as temperature, ORP, pH, pressure, tank level, flow rate etc
  • Built a fully functional web UI using bootstrap to display charts and reports from the collected data
  • Created a global exception listener to triage different categories of thrown exceptions and to send them to different locations depending on their nature
  • Deployed a horizontally scalable architecture for web servers, job servers, redis cluster, NoSQL and SQL database using AWS services
  • Created tests using phpunit to ensure system durability
Whole Foods - Senior API Engineer
Feb 2015 - Apr 2016
  • Led the effort to migrate a legacy API written in node using express to PHP using Symfony
  • Contributed to writing Ansible playbooks to provision, orchestrate and deploy code, all using AWS
  • Created an infrastructure to list, deploy and execute jobs to run work asynchronously
  • Collaboratively created an API client which is used by several applications
  • Created several internal composer packages that other teams consume
  • Migrate users from one platform to SalesForce via an ETL job
  • Implemented iOS wallet functionality used for a digital rewards card via an API endpoint
  • Authored several jobs that run at scale to create rewards card numbers, relate identifiers and sync sensitive user information to and from several backend systems
  • Created the ability to send emails in real time using API calls to Epsilon via scalable background jobs for the purpose of company wide e-mail marketing
  • Contributed heavily to the development of a system to securely store and unify user profile information to and from various backend systems
  • Created a mechanism to encrypt field level sensitive user data, using AWS KMS
  • Heavily contributed to writing database migrations using Phinx against PostgreSQL running on RDS
Austin Coding Academy - PHP / Python Instructor
Sep 2015 - Nov 2016
  • Taught Python and PHP for four semesters
  • Gave public talks on bash, git, redis, resque, AWS etc
  • Mentored junior developers and students
LIN Digital - Senior Software Engineer
Sep 2014 - Feb 2015
  • Implemented features in an application called Platform that was being replaced by a Ruby based legacy application called Neuron
  • Worked on financial reports by porting over metrics and improving the quality of the report
  • Improved code quality by making the controllers thinner by creating a well organized service layer
  • Introduced unit and functional testing to the project using Codeception
  • Wrote several unit and functional tests and set a standard for how to interact with the service container
  • Introduced, installed and demonstrated New Relic as a replacement to a MySQL driven custom performance data collection and reporting system
  • Created an Ansible playbook that provisioned a fully functioning vagrant virtual machine, complete with a local instance of the development database
  • Changed the deploy process from an RPM/SCP based approach to a git based deploy using Ansible
  • Used a GitHub centered Pull Request workflow to get others to look at the code prior to merging using HubFlow
Sapling Learning - Senior API Engineer
Jun 2014 - Sep 2014
  • Created an API using Symfony2 that interfaced with external APIs for the purpose of consolidating various external API calls into a standard API
  • Used Resque as as job queuing mechanism to defer execution of long running processes
  • Created a central data broker to inform the web cluster of the status of a job and any data that it might have returned
  • Leveraged polymorphism along with the factory pattern to instantiate required implementations at runtime
  • Used Doctrine as the ORM layer along with Symfony's Service Container to achieve loose coupling using dependency injection
  • Created several unit tests and functional tests using Codeception
  • Wrote several bash scripts to work with Chef in order to automate certain parts of theworkflow, including setting up and maintaining state for the job servers
Frontgate Tickets - Software Engineer
Sep 2013 - Jun 2014
  • Port over old code to a new Symfony2 application using solid PHP5 OO principles making the system scalable and highly available
  • Design caching code that works under load and scales horizontally over a cluster of Memcached servers. Code also leverages local caching using APC and protects users from stampeding on the same data object
  • Create Order, Transaction, Cart, Tax, Shipping, Handling etc.. classes to handle placing an order using abstraction, inheritance, polymorphism, dependency injection, singleton and factory patterns
  • Created asynchronous jobs for carting, account management, save order information and place an order. The jobs are bidirectional i.e. data from the async process is returned back to the frontend using a standard JSON response object
  • Write, explain and consolidate queries using advanced joins, aggregate functions, range clauses and having conditions
  • Thoroughly document each method, it’s signature, return type and any thrown exceptions. Also document class overview and properties by type and purpose
  • Conform to PSR-1 and PSR-2 for coding standards and style. Also follow all FIG coding guidelines for naming conventions, logging and autoloading
  • Created and developed several features in the system that all generate measurable revenue that directly impacted the bottom line
Red Ventures - Software Engineer
Jun 2012 - Feb 2013
  • Develop Reports using custom Reporting framework developed in house. DataCollection class generates data behind the report. DataView class handles all presentation logic, DataParameter classes handle any additional filter data that is automatically rendered as an appropriate control. i.e. drop down, multi select box, check box, date picker etc
  • Create dashboards using real time technologies like node, and meta refreshes to display accurate real time statistics about various business metrics as they happen. Data is cached using memcache. Framework developed to build and manage dashboards ties in to the reporting framework. Once a report is created, the data on the dashboards can simply subclass the report DataView and extract one data point by passing in DataParameters that are configurable from DataParameters, which are powered by a MySQL database
  • My primary role is to actively develop and maintain a LAMP ERP and CRM system that runs on over 35 load balanced web servers and empowers a sales force of over 1500 people to sell millions of dollars in products and services a day!
  • The Orvis application uses full MVC concepts with a home grown ORM
  • Created OO Javascript objects that initialized on page load using constructors extending prototype, and then calling public methods from within the object once the DOM is ready
  • Objects perform various show/hide logic for questions that drive customer experience based on hundreds of parameters and dependencies. Application is finely configurable using inputs from data tables that are generated by administrators using in house intranet applications
  • Data from these tables drives what the customer experiences and is able to buy based on prior purchase history, credit score, physical location etc
  • Write queries that join 20+ tables, in some cases, to efficiently aggregate data to answer business questions in real time. Debug slow MySQL queries using explain
  • Write import scripts that transform data automatically using SOAP, and FTP connections to several third party vendors. Use the concept of buffers in conjunction with memcache to run queries in bulk
  • Use InnoDB specific features in MySQL, transactions and foreign keys to maintain data integrity for orders and related tables
  • Use inheritance in conjunction with abstraction and design patterns effectively to simplify development, readability and reuse. Document code thoroughly and adhere to naming conventions
Industrial Distribution Group - Software Engineer
Feb 2011 - Jun 2012
  • Redesign IDG's eCommerce web presence www.shopidg.com using Joomla (MVC) with over a 100 new features and improvements completely transforming IDG's online presence and invigorating the sales force, including lightning fast relevant searches using Sphinx and SEF URLs
  • Create a web based iPad Application using HTML5 and jQuery Mobile, with local WebDB SQL storage. App can run completely offline, all assets are loaded from the local cache, auto compile script to compile PHP down to HTML for local caching. All server side calls made via JS
  • Create StoreRoom completely in PHP, E-Mail notifications, SOAP calls for table based auto complete, business logic and display separation, DB abstraction, logging every action on every trigger, interface to view user interaction history, AJAX'd the entire interface with page reloads only when presenting a new UI, OO JS creating native objects extending prototype then stringifying and converting a multidimensional data set to JSON, objects are consumed using a generic handler that unravels the object for logic and insert into MSSQL
  • Create a Python application to receive documents from GMail via IMAP IDLE using threading . Compiled down to windows executable using py2exe . Documents automatically printed in the background as a batch process . RPC communication with central server for synchronizing a swarm of users with application level TTL to match GMail’s IMAP timeout
  • Create a windows based forms application in VB 6 to interact with the API for a symbol barcode scanner that scans part numbers into the application which would send that data directly to the shopping cart of the aforementioned website to streamline repetitive mass ordering in a warehouse environment
  • Create a standards compliant PHP/ MySQL application for on site customers at factory locations to procure items by adding them to a queue in a storeroom . IDG Buyers interact with the interface. Emails are sent out to multiple individuals in the manufacturing authority chain, who click accept or reject which drives a complicating process to approve or disapprove orders . Orders are submitted to the ERP via a SOAP based web service
  • Write over 20 SOAP clients and a handful of SOAP servers to consume various data sets directly from the ERP to get real time QOH, pricing, attributes, items, customer P / Ns etc . directly from infor's SX.e ERP system, written in PHP
  • Write a giant import script to update the website from a local content management application complete with processing and writing to over 12 related tables, consuming a giant XML file with a multidimensional product to item structure. Script is automated via CRON and processes high quality TIF images. Website is automatically updated nightly with fresh products and information added daily by the content team. Script is written completely in PHP
  • Create a generic data collection handler for most of the web services and for every meaningful click on the website to derive application use, performance and user experience
  • Create CURL scripts using PHP and XPATH to automate scraping semi structured data from competitors website into a structured set of data tables to automatically analyze competitor pricing and market dominance, stored in MySQL then transformed to FileMaker for reporting
Alamark Technologies - PHP / CWP / Filemaker Developer
Oct 2008 - Feb 2011
  • Create custom front end and back end components, modules and plugins using MVC pattern for TASA
  • Custom development work for several small to medium sized businesses with a primary focus on PHP/MySQL/FileMaker development deployed on a linux web server
  • Create and deploy eBC applications for several customers customizing integration with SCPRO and automating the import of content, vendors and accounts from the ERP using PHP
  • Created an application in PHP for Cure Solutions that allows users to create database tables, fields and add records for the purpose of storing sensitive customer network, machine and application credentials
  • Ground up creation of applications using LAMP + FileMaker + AJAX
  • Bash Scripts for backup, FTP, grep on linux, automation applications in .NET deployed on windows
  • Team based application design and creative problem solving
Dynapac - System Administrator / Application Developer
Oct 2007 - Oct 2008
  • Created and maintained Visual Basic DTS packages
  • Modified and created Visual basic 6 programs
  • Conducted the migration of old MS Access applications into an ASP.NET version
  • Created reporting applications using existing data for executive level trend analysis
  • Resolution of open issues with malfunctioning hardware/software on networked windows based machines
The Rug Store - E-Commerce Administrator
Oct 2005 - Oct 2007
  • Built an ECommerce website using Web Store technology. (PHP / MySQL)
  • Set up company wide network with access rules and inventory management
  • Synchronize inventory and availability across multiple physical locations
Lloyd's Diamonds - Digital Display Content Creator
Oct 2004 - Oct 2005
  • Designed and developed an online catalog for product promotion and sales
  • Pixel perfect smooth content rolling for an outdoor digital display
  • Creating and managing multiple schedules for target marketing
  • Client facing technical advice for streamlining business processes / network
Related Experience / Freelance Work - Web Developer / Consultant / Network Engineer / System Administrator
Jan 2000 - Oct 2004
  • Created numerous websites for individuals and small businesses
  • Debugged and tested malfunctioning machines to determine source of problem
  • Analyzed problems and developed solutions for Truman State University
  • Design and maintain personal tutorial website and CMS for personal promotion, articles on technical subjects, solutionsamir.com
  • Ground up design for theillbeat.com, hobby music mix upload site for musicians
  • Created application for mystery shoppers using AJAX and OOP with inheritance, composition and polymorphism, consumerimpressions.com
  • Created a web application that allows content creators to upload technical part information, clients use a filtering mechanism to add items to their order globalfasteners.com

Education

University of Texas at San Antonio - Information Systems
Jan 2005 - Jan 2007
San Antonio College - General Business
Jan 2003 - Jan 2005
Truman State University - Computer Science
Jan 2001 - Jan 2003