<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<head>
  <meta charset="utf-8" />
  <meta name="generator" content="pandoc" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
  <title>Juan Ibiapina's Resume</title>
  <style>
    code{white-space: pre-wrap;}
    span.smallcaps{font-variant: small-caps;}
    div.columns{display: flex; gap: min(4vw, 1.5em);}
    div.column{flex: auto; overflow-x: auto;}
    div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
    /* The extra [class] is a hack that increases specificity enough to
       override a similar rule in reveal.js */
    ul.task-list[class]{list-style: none;}
    ul.task-list li input[type="checkbox"] {
      font-size: inherit;
      width: 0.8em;
      margin: 0 0.8em 0.2em -1.6em;
      vertical-align: middle;
    }
    .display.math{display: block; text-align: center; margin: 0.5rem auto;}
  </style>
  <link rel="stylesheet" href="style.css" />
</head>
<body>
<h1 id="juan-ibiapina">Juan Ibiapina</h1>
<table>
<tbody>
<tr class="odd">
<td style="text-align: left;">juanibiapina@gmail.com</td>
</tr>
<tr class="even">
<td style="text-align: left;">Berlin, Germany</td>
</tr>
<tr class="odd">
<td style="text-align: left;"></td>
</tr>
</tbody>
</table>
<hr />
<h2 id="summary">Summary</h2>
<p>I have 8 years of experience with web development. I have worked in
many different layers of software development, including backend,
frontend, mobile and infrastructure. My main focus is backend and I
advocate code quality, readability and maintainability. I include tests
on my daily development practice, along with TDD and refactoring.</p>
<p>My main skill is learning, and I like to stretch it in daily
challenging situations. I was lucky to have had the opportunity to join
my first three jobs without knowledge of the technologies involved and
have learned them. I love environments where I can grow, surrounded by
smart and interesting people.</p>
<p>I love to code, and more specifically, I love programming languages
and paradigms. In my free time, I have experimented with many
programming languages and technologies, including SML, Python, Ruby,
Haskell, Scala, Go, Rust, Racket, Bash, Clojure, etc and even designed
my own language. I’m also confident working with fast delivery,
continuous integration and many agile ideas. I’m fluent in Portuguese
and English and also a game and music enthusiast.</p>
<h2 id="experience">Experience</h2>
<h3 id="principal-software-developer-at-babbel">Principal Software
Developer at Babbel</h3>
<p><small>August 2017 - present</small></p>
<p>At Babbel I help build APIs and platform support for mobile and web
clients. A big part of the work is designing good APIs that can be used
by current and future company initiatives. I’m also participating on the
microservice extraction initiative, as well as helping bring the
development, testing, infrastructure and interviewing practices up to
date. We deal with lots of AWS services and automated infrastructure. I
was a major contributor to migration of user’s vocabulary from MySql to
DynamoDB.</p>
<p>I also contribute to Babbel’s engineering strategy, helping teams
become more autonomous and spreading knowledge about content
distribution and overall architecture. My work in this area resulted in
my promotion to Principal.</p>
<p>Technologies:</p>
<ul>
<li>Ruby</li>
<li>Rails, Terraform</li>
<li>DynamoDB, AWS Batch, AWS DMS and many other AWS services</li>
</ul>
<h3 id="senior-full-stack-software-developer-at-movinga">Senior
Full-Stack Software Developer at Movinga</h3>
<p><small>Feb 2017 - August 2017</small></p>
<p>I joined a team of full-stack developers at Movinga and immediately
started working on a micro service and its three client applications. I
was also responsible for starting a couple of frontend applications from
scratch. Later we extracted a pricing micro service from the main legacy
code in order to improve deployment times, frequency (from once every
two weeks to 10 times a day) and provide better insights about our
prices.</p>
<p>Technologies:</p>
<ul>
<li>Ruby, Javascript</li>
<li>Grape, React, Redux and other supporting libraries for both frontend
and backend</li>
<li>AWS, Docker</li>
</ul>
<h3 id="senior-software-developer-at-globo.com">Senior Software
Developer at Globo.com</h3>
<p><small>May 2015 - Jan 2017</small></p>
<p>I joined Globo.com to work on the web media platform team. Our team
was responsible for receiving and encoding videos to be prepared for
internet delivery. We worked on a system that provided both an UI and an
API for uploading videos and metadata. This system was distributed in
more than 50 locations across Brazil, gathering and processing videos
from all partners. We processed more than 2.5TB of videos on a weekly
basis, accounting for more than a thousand hours of content.</p>
<p>Accomplishments:</p>
<ul>
<li>Designed a content protection microservice that integrates with 3
third party APIs</li>
<li>Participated on hiring interviews for most people hired in the Porto
Alegre office</li>
<li>Started an initiative to gather video encoding metrics and better
understand our system</li>
<li>Helped shape the office culture</li>
<li>Mentored less experienced developers</li>
</ul>
<p>Technologies:</p>
<ul>
<li>Ruby, Javascript and Coffeescript</li>
<li>Rails and Backbone</li>
<li>Ffmpeg and x264</li>
<li>Mongo and Redis</li>
</ul>
<h3 id="senior-software-developer-at-bearch-inc.">Senior Software
Developer at Bearch, Inc.</h3>
<p><small>November 2014 - April 2015 <em>(6 months)</em></small></p>
<p>We developed an anonymous social network. The whole team worked with
all parts of the development, so I had the opportunity to work with a Go
backend hosted on Google App Engine, an Android and an IoS application.
All of these technologies were new to me.</p>
<p>Accomplishments:</p>
<ul>
<li>Shipped a huge amount of features in very little time due to our
experimental nature</li>
<li>Created a pipeline for building and deploying android and IoS apps
to their respective stores, improving the testing and release
cycles</li>
<li>Created a camera for Android that worked on more devices than the
Whatsapp Camera</li>
<li>Worked daily with unknown technologies and new challenges</li>
</ul>
<p>Technologies:</p>
<ul>
<li>Go on Google App Engine</li>
<li>Javascript with Angular</li>
<li>Android with Java</li>
<li>IoS with Objective C</li>
</ul>
<h3 id="software-developer-at-e-core">Software Developer at e-Core</h3>
<p><small>March 2013 - November 2014 <em>(1 year 9
months)</em></small></p>
<p>We developed a single page application for a remote client in New
York. I was hired not only because I knew some of the technologies
involved but also because I was willing to learn the ones I didn’t know.
This was a project that could change very fast.</p>
<p>Accomplishments:</p>
<ul>
<li>Automated the deployment process and reduced the total time from 2
hours down to 160 seconds.</li>
<li>Helped migrate a legacy application from Grails to Rails</li>
<li>Experimented with virtual machines, docker and several deployment
strategies</li>
</ul>
<p>Technologies:</p>
<ul>
<li>Ruby, Javascript, Coffeescript</li>
<li>Rails, Knockout.js</li>
<li>Groovy with Grails</li>
<li>Puppet, Chef</li>
<li>Mongo, Postgres, Redis, Solr</li>
<li>VirtualBox, Docker</li>
<li>Nginx</li>
</ul>
<h3 id="software-developer-at-codeminer42">Software Developer at
Codeminer42</h3>
<p><small>July 2012 - February 2013 <em>(8 months)</em></small></p>
<p>We developed systems for startups. It was my first experience with
Rails, but also included frontend development. Since each developer was
responsible for managing a whole project, our responsibilities involved
coding, creating interfaces, thinking about user experience, negotiating
with clients, managing infrastructure and deployment, etc.</p>
<p>I was one of the first people to be hired on our branch of the
company, so I had the opportunity to help build the culture we wanted. I
learned a lot from the experience and it helped shape some of my future
career goals.</p>
<p>Accomplishments:</p>
<ul>
<li>Migrated an application from rails 2 to rails 4</li>
<li>Helped shape the office culture</li>
<li>Developed a project alone from conception to delivery</li>
</ul>
<p>Technologies:</p>
<ul>
<li>Ruby, Javascript</li>
<li>Postgres</li>
</ul>
<h3 id="development-consultant-at-thoughtworks">Development Consultant
at ThoughtWorks</h3>
<p><small>January 2011 - June 2012 <em>(1 year 6
months)</em></small></p>
<p>Consisted mainly of consulting and web development for the retail
industry, with daily client facing situations. I worked mostly on
maintaining and developing new features for a large legacy Java code
base. Teams were distributed across Brazil, India and the US.</p>
<p>This was my first contact with agile practices. I have learned much
from it, including the importance of pair programming, TDD and
Continuous Integration. I had a mentor that helped me build most of my
ideas about development.</p>
<p>Accomplishments:</p>
<ul>
<li>Started an initiative to improve development and feedback
cycles</li>
<li>Introduced Javascript unit tests into the project</li>
<li>Started a culture of looking into build status</li>
<li>Extended the development tools, greatly improving development speed
and team motivation</li>
<li>Acquired the trust of some of the clients, making our work much
easier</li>
<li>Participated on ThoughtWorks University, which changed my life</li>
<li>Started learning about interviewing candidates</li>
</ul>
<p>Technologies:</p>
<ul>
<li>Java and Spring</li>
<li>Javascript</li>
<li>Ruby for integration tests</li>
</ul>
<h2 id="education">Education</h2>
<h3 id="universidade-federal-do-piauí-ufpi">Universidade Federal do
Piauí (UFPI)</h3>
<p>Bachelor of Science (BS), Computer Science, 2004 - 2007</p>
<h2 id="languages">Languages</h2>
<ul>
<li>Portuguese (Native)</li>
<li>English (Fluent)</li>
</ul>
</body>
</html>