Zack Bartel

Full Stack Engineer

ABOUT

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.

DOWNLOAD PDF

EDUCATION

Computer Science and Business Administration
Oregon State University

General computer science education including two years in industry applying knowledge.

2006



WORK

Principal Software Engineer
DLVR

At DLVR I again wrote the first lines of code in the company. Building something very special from scratch was a tremendously rewarding experience. I focused on the collection, enrichment, processing, storage and retrieval of a data stream of hundreds of thousands of events per second.
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.

2015 - PRESENT
Phoenix, AZ

Principal Software Engineer
Frequency

During my time at Frequency I had opportunities to work on an exceptional variety of development projects across domains. This has ranged from designing and implementing large scale multi-tier applications to building and shipping consumer applications.
Internally, I championed new technologies and methodologies, as well as led small teams and mentored developers.

2010 - 2015
Los Angeles, CA

Senior Software Engineer
GetBack Media

My efforts at GetBack focused on building a retro social media community and business. This included designing and implementing frontend and backend software systems and scaling to handle 1 million page views per day.
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.

2008 - 2010
Santa Monica, CA

Software Engineer
Tectura

At Tectura I had the opportunity to work in the aerospace industry consulting on a number of projects for an airplane manufacturer. I built flight test software and flight data analysis tools. Contributing code to the Linux kernel to solve a problem without hacky workarounds was one of the proudest moments of my career.
Within the broader team, I participated in designing, prototyping and refining internal development tools and processes.

2006 - 2008
Seattle, WA

Software Developer
OSU Open Source Lab

The time I spent at the Open Source Lab was the most valuable of my college years. I worked with and was mentored by some of the most talented people I have ever met. We built open source tools to manage the entire university network as well as hosting tools and infrastructure that is home to the largest open source software projects in the world. Learning how to work with the open source community was a transformative experience.

2005 - 2006
Oregon State University

Student Software Developer
Business Solutions Group

My first job in the software industry taught me the skills to translate customer needs into engineering requirements. Learning how to solve real world problems using software was a wonderful learning experience.

2004 - 2005
Oregon State University


SKILLS
Backend

Java


C


Go


Python


Serverless


C#


Frontend

iOS


Android


Spring


JavaScript


HTML5


REST


Infrastructure

SQL


Kubernetes


AWS


Redis


Kafka


Kinesis



VARIED EXPERIENCE

BIG DATA
Java, Go, AWS Lambda, Kinesis, DynamoDB, Redis, Redshift, Druid, Elasticsearch, Glue, Kafka, Storm, Spark, Flink

Built a system to collect, enrich, process, analyze, store and retrieve a data stream of hundreds of thousands of events per second. Results are used both in realtime in the core product as well as drive REST APIs and analytics dashboards.
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

We built a web video indexing system which scaled to crawl 2000 urls per second, serve thousands of images per second, and deliver data to millions of users accross dozens of device classes.
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

As much of the web today is rendered using JavaScript rather than conventional HTML markup, a way to rapidly render millions of webpages is incredibly useful.
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

Writing Android Television applications is hard, harder than it should be. But when an application is perfectly designed for television the experience can be incredible.
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.




CONTACT

Twitter
zackzbz

GitHub
zackb

AppStore
Zack

© 2019 Zack Bartel