Detail-oriented software engineer lead with experience in analysis, design, development, testing, and implementation of microservice architectures. While I do have a full-stack background, my focus is in distributed systems and data engineering.
At a more personal level, I am passionate of my work, excited about technology, always looking to take initiative, and hold myself to high standards.
My outside interests include: raising my dogs, lifting weights, reading, playing guitar, snowboarding, and learning new things.
- Common Lisp
- Prior experience
- Apache Beam
- Apache Beam
A Slackbot that fetches news articles and delivers them to any number of Slack channels that the bot is subscribed to. Currently only Twitter is used to fetch articles, but the bot was designed to allow new clients to be plugged in easily.
Incorporated CDN, Cloudflare, to reduce load, improve response times, and freely serve over HTTPS. Chose complimentary color palette. Creatively styled call-to-actions so as not to conflict with color palette and chosen font weights.
A crawler to count links of a specific type. The goal was to be able to determine how many PDFs were hosted on a given domain.
Old Personal Website
First personal website deployed with a shared virtual server.
Software Engineer LeadFanAI
Pioneered the microservices architecture that powers the product API and data ETL.
Designed, implemented, and deployed the Twitter followers data ETL in Google Kubernetes Engine.
Improved distributed systems stability and scalability by replacing big data services with Google products such as RabbitMQ with Pub/Sub, MongoDB with Big Query, etc.
Reduced ETL costs by replacing Apache Beam/Dataflow with microservice-based ETL pipelines.
Worked with Distributed Actor Framework, Dramatiq (like Celery), to asynchronously process jobs communicated over a message broker.
ProgrammerStar Labs LTD - Readz
Add features and fix bugs for both front-end and back-end of the product. This includes, but is not limited to: Shopify integration, custom copy/paste of elements, analytics tracking via Google-defined sessions.
Full ownership of internal build server used by QA, which behaved like a continuous integration server.
Full ownership of Akamai integration and automation to sync Readz and client domains via Akamai's Property Manager API.
Responsible for full releases of new software on AWS via ELB, EC2, RDS, and S3.
Improved pre-release bug detection of customer content by building an application with PhantomJS2 to compare production content with the current development version. This reduced QA time spent verifying hundreds of customer websites every sprint (i.e., two weeks).
Embedded Systems Test EngineerMedtronic MiniMed
Designed, developed, tested, and validated tools using Python to automate testing and interacting with Diabetes-related embedded devices.
Analyzed requirements, designed test cases, created and debugged automated test scripts, and documented work per Medical Standard IEC62304.
Wrote intended use validation test plans based on product requirements, executed validation tests, and documented results to ensure product meets intended use.
Bachelor of Science Degree, Computer ScienceUniversity of California, Santa Cruz
Acquired the following skills and experiences:
- Demonstrate mastery of computer science in the following core knowledge areas:
- Algorithms, data structures, and complexity
- Programming languages
- Software engineering and development
- Computer systems
- Apply system-level perspective by thinking at multiple levels of detail and abstraction and by recognizing the context in which a computer system may function, including its interactions with people and the physical world.
- Apply problem-solving skills and the knowledge of computer science to solve real problems.
- Understand how technological advances impact society and the social, legal, ethical and cultural ramifications of computer technology and their usage.
- Write about and orally communicate technical material about computer science and computer systems, broadly conceived.
- Relevant Courses
- Artificial Intelligence
- Operating Systems
- Fundamentals of Compiler Design
- Advanced Programming
- Computer Networks
- Computational Models
- Computer Architecture
- Computational Methods
- Dynamical Systems
- Comparative Programming Languages