juanibiapina@gmail.com |
Berlin, Germany |
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.
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.
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.
August 2017 - present
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.
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.
Technologies:
- Ruby
- Rails, Terraform
- DynamoDB, AWS Batch, AWS DMS and many other AWS services
Feb 2017 - August 2017
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.
Technologies:
- Ruby, Javascript
- Grape, React, Redux and other supporting libraries for both frontend and backend
- AWS, Docker
May 2015 - Jan 2017
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.
Accomplishments:
- Designed a content protection microservice that integrates with 3 third party APIs
- Participated on hiring interviews for most people hired in the Porto Alegre office
- Started an initiative to gather video encoding metrics and better understand our system
- Helped shape the office culture
- Mentored less experienced developers
Technologies:
- Ruby, Javascript and Coffeescript
- Rails and Backbone
- Ffmpeg and x264
- Mongo and Redis
November 2014 - April 2015 (6 months)
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.
Accomplishments:
- Shipped a huge amount of features in very little time due to our experimental nature
- Created a pipeline for building and deploying android and IoS apps to their respective stores, improving the testing and release cycles
- Created a camera for Android that worked on more devices than the Whatsapp Camera
- Worked daily with unknown technologies and new challenges
Technologies:
- Go on Google App Engine
- Javascript with Angular
- Android with Java
- IoS with Objective C
March 2013 - November 2014 (1 year 9 months)
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.
Accomplishments:
- Automated the deployment process and reduced the total time from 2 hours down to 160 seconds.
- Helped migrate a legacy application from Grails to Rails
- Experimented with virtual machines, docker and several deployment strategies
Technologies:
- Ruby, Javascript, Coffeescript
- Rails, Knockout.js
- Groovy with Grails
- Puppet, Chef
- Mongo, Postgres, Redis, Solr
- VirtualBox, Docker
- Nginx
July 2012 - February 2013 (8 months)
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.
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.
Accomplishments:
- Migrated an application from rails 2 to rails 4
- Helped shape the office culture
- Developed a project alone from conception to delivery
Technologies:
- Ruby, Javascript
- Postgres
January 2011 - June 2012 (1 year 6 months)
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.
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.
Accomplishments:
- Started an initiative to improve development and feedback cycles
- Introduced Javascript unit tests into the project
- Started a culture of looking into build status
- Extended the development tools, greatly improving development speed and team motivation
- Acquired the trust of some of the clients, making our work much easier
- Participated on ThoughtWorks University, which changed my life
- Started learning about interviewing candidates
Technologies:
- Java and Spring
- Javascript
- Ruby for integration tests
Bachelor of Science (BS), Computer Science, 2004 - 2007
- Portuguese (Native)
- English (Fluent)