Zack Bartel

Full Stack Engineer

ABOUT

I'm a full stack developer 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
Frequency

During my time at Frequency I have 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 have championed new technologies and methodologies, as well as led small teams and mentored developers.

2010 - CURRENT
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


Python


C++


Go


C#


Frontend

iOS


Android


JavaScript


HTML5


CSS3


Design


Infrastructure

SQL


AWS


Redis


AMQP


MongoDB


CI



VARIED ASSORTMENT OF EXPERIENCE

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 1000 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 queing. 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
zackb

GitHub
zackb

Blog (Old)
Zack

© 2014 Zack Bartel