I'm a full stack developer focused on Big Data and blended with experience building and shipping iOS, Android, and TV applications.
Over the years I have absorbed technologies and systems making me a capable generalist. I love to learn, and will continue to gain as much knowledge as I possibly can.
When not behind a computer for work or for fun, I teach boxing to kids and adults, test my culinary skills, and fumble around with a guitar.
Oregon State University
DLVR
Over the course of time the data system migrated from different places, baremetal to clouds, homemade software to managed and serverless, and on to traditional open source technologies.
Building a team and a business, developing best practices and selecting software solutions from scratch was incredibly fulfilling.
Phoenix, AZ
Frequency
Internally, I championed new technologies and methodologies, as well as led small teams and mentored developers.
Los Angeles, CA
GetBack Media
The web application let you "turn back the clock" to any year and interact with the songs, movies, tv shows, games, actors, and news headlines of the time.
As part of my role, I built a video and image delivery pipeline as well as cloud infrastructure to power it.
Santa Monica, CA
Tectura
Within the broader team, I participated in designing, prototyping and refining internal development tools and processes.
Seattle, WA
OSU Open Source Lab
Oregon State University
Business Solutions Group
Oregon State University
Java
C
Go
Python
Serverless
C#
iOS
Android
Spring
JavaScript
HTML5
REST
SQL
Kubernetes
AWS
Redis
Kafka
Kinesis
BIG DATA
Java, Go, AWS Lambda, Kinesis, DynamoDB, Redis, Redshift, Druid, Elasticsearch, Glue, Kafka, Storm, Spark, Flink
Evaluated the many different Big Data software stacks and rapidly prototyped solutions using each. At first using managed and serverless solutions on AWS including Lambda, Kinesis (all 3), DynamoDB, Elasticache, Glue, Athena, Redshift and later moving to a self managed open source technology stack of Kafka, Storm, Spark, Flink, Druid.
The processed data is fed to machine learning algorithms and made available, in realtime to edge nodes (PoPs) for decision making. Working closely with data scientists we created an unsupervised learning feedback loop.
I contributed to managing the infrastructure on baremetal and AWS as well as cost optimization for the various AWS services used.
WEB VIDEO INDEXING
Grails, MariaDB, TokuDB, RabbitMQ, Memcached, Redis, AWS
To scale such a system a service-oriented approach was adopted to force clear separation of concerns. This allowed the system to use technologies appropriate for a specific problem domain while insulating the rest of the services from those implementation details.
I built a web and feed crawling system using work scheduling and distribution through queuing. Each Grails worker process is able to operate and scale independently. This data is then inteligently categorized using NLP, Freebase, and some proprietary algorithms and stored in SQL databases that are horizontally sharded.
The data is delivered to end users via a REST JSON API which is also independently scalable horizontally. Images are ingested and delivered using a custom image processing system. The image server workers are able to scale, resize, color correct, and cache images on demand. Redundancy is achieved by a two level filesystem failover to S3.
I also managed the DevOps of hundreds of servers and services on Amazon Web Services.
WEBKIT BASED RENDERER
C++, Qt, CMake
Using WebKit and the WebKitCore and JavaScriptCore libraries I built an efficient headless web renderer that was able to execute JavaScript on a DOM and deliver the HTML output via an API.
I loved the opportunity to learn and apply the Qt framework. I hope I get to use it again someday.
ANDROID TELEVISIONS
Android, Java, Chromecast, JUnit
Designing SDKs and APIs for other developers is a passion of mine professionally. I loved creating Android SDKs for televisions and mobile applications. On TVs the Frequency app is designed from the ground up to support a variety of Android flavors, vendors' forks, and input methods.
I designed and created all of the Frequency applications on televsions and mobile devices. I also created a custom Chromecast Recevier App that supplements the Frequency phone and tablet experience.
© 2019 Zack Bartel