Lead engineer with a track record of delivering major features in time-constrained software companies. Projects have focused on Java-centric implementations in the cloud on AWS. My employers have been early and mid-stage startups - four of these companies were acquired during my employment.
Experience
2020 — Now
2020 — Now
Palo Alto, California, United States
Founding member of Rivian's commerce transaction team responsible for sale and distribution of vehicles. Software development uses a microservices architecture comprising several dozen Java Spring Boot containers/JVMs running in a Kubernetes cluster. AWS components include DynamoDb, EventBridge, SQS, Kafka, Redis, and Elasticsearch. Developer driven devops model includes the use of terraform and atlantis with gitlab for deployment to an AWS EKS cluster.
2018 — 2020
2018 — 2020
Redwood City, CA
Squelch is a cloud enterprise search solution that enables a single search interface across all information in a company's application portfolio. The platform resides on AWS and uses a Kubernetes-managed containerized implementation. Notable building blocks are Elasticsearch, Redis, Kafka, MySql, S3, Redshift. Completed projects in production are:
• Kubernetes job scheduler service using the Kubernetes Java client. Dynamic creation and submission of Kubernetes job deployment descriptors with job monitoring for log file archiving and job/pod removal. Customer specific software versioning support using SHA (quay.io) specifiers stored in Redis. Results reporting for job resubmission and devops failure alerting.
• Data warehouse aggregator service using Maxwell's Daemon, Kafka, S3, and Redshift. Data from n MySql customer databases is streamed to the aggregator service and staged in JSON documents for scheduled processing. JSON documents are uploaded to S3 and imported/copied to Redshift using the related Java API's.
• Text extraction microservice that uses Kafka for request distribution and delivery. The service uses Apache POI, Apache PDFBox, and Jsoup for text extraction. Text extraction of large Microsoft documents is memory intensive and requires this dedicated service.
• Status page and related backend service for customer-facing uptime information. Application proxy routes authenticated requests to the most significant application services. Pingdom and Statuspage.io 3rd party cloud services host the status page.
• Box, Google Drive, DropBox, ServiceNow, Office365 - Wrote connectors to these platforms using the respective REST API's and OAuth2. Connectors crawled related content for capture to Squelch's indexing and machine learning pipeline. Used the ServiceNow Table API, Microsoft Graph REST API.
2016 — 2018
2016 — 2018
San Jose, CA
Engineering projects focused on Pulse Workspace, a mobility management solution. Solution runs on AWS cloud environment as well as a VM for enterprise deployment. Architecture uses Nginx as a front-end proxy that dispatches to Docker containers. Primary hands-on deliverables are REST API’s called by mobile devices. Server integrates with Google’s cloud infrastructure and implements Apple’s MDM protocol. Repositories used are MySQL, Elasticsearch, Redis, and MongoDb. Python technologies used in server implementation include Flask, Werkzeug, Celery, and SQLAlchemy.
2011 — 2016
Santa Clara, CA
Engineering projects focused on the server-side of Zenprise's Device Manager enterprise product for managing mobile devices. Specific projects include:
• Notification service - Multi-channel messaging to mobile devices (iOS, Android, Windows) over SMS, SMTP, APNS, WNS. Messages distributed by producers through blocking queues which were consumed by Java threads (implemented as Spring beans.)
• REST webservices - Wrote REST webservice endpoints using Apache CXF, Jersey, and Spring 4. The most recent project is a self-service site verification portal for enterprise customers. REST services included standard POST, PUT, DELETE calls for UI maintenance of customer requests using JSON messages. Supported uploading and downloading certificates.
• iOS MDM Profiles - Wrote MDM servlet handlers for new iOS 7.0 configuration profiles (AirPlay, AirPrint, SSO, Web Content Filter).
• Large Application Upload Writer - Implemented out-of-transaction worker threads for storage of large application files as RDBMS blobs.
• Windows Surface Application Push - Wrote services to support application push of .appx files to Windows Surface tablets. Included persistence and delivery of signing certificates, license keys, and signed .appx files.
• Terms & Conditions - Wrote Terms & Conditions enrollment feature to distribute a multiplicity of Terms PDF documents based on a user's LDAP region. Project included device REST endpoint, Terms PDF upload and storage, legal compliance reports.
• Hackathon - 2 time winner and finalist in Citrix Engineering Hackathon. Wrote publish-subscribe cloud (AWS-based) service using node.js and Elasticsearch. 2013 project used iOS near field Bluetooth to support iPhone device tracking and auxiliary device detection.
• AOP Universal Interceptor - Wrote proof of concept analytics and support subsystem that used a Spring AOP method interceptor to intercept calls, convert inputs and output to JSON, and write to an Elasticsearch repository for analysis.
2010 — 2011
2010 — 2011
Campbell, CA
Wrote administrative module for Aptare's storage analytics system using GWT, Spring, iBatis and Oracle. Implemented GWT RPCs as Spring controllers using specialized bridge controller to dereference GWT RPC payload bean information. Used reflection API to translate model objects into UI-friendly hash map equivalents. Wrote CRON parser to translate schedule strings into common sentences.
Education
University of Michigan
Bachelor's
DePaul University
Massachusetts Institute of Technology, Lowell Institute