Daniel Martins Software Engineer ? Open Source Enthusiast ? Guitarist
Rio de Janeiro, Brazil H +55 (21) 99138-0100 B
[email protected] Í danielfm.me danielfm danielfmartins
Objective And Qualification Summary { Software engineer focused on backend systems, cluster management, operating systems, infrastructure, and related areas { Solid experience in writing, deploying, and maintaining cloud-native applications { Passionate about real-world high scalability problem solving
Technical Skills { Languages: Go, JavaScript, Bash, Ruby, Python, Lua, Java, Clojure, Matlab, C { Web Frameworks: Rails, Sinatra, Express.js, Django { Web Servers: Nginx, Unicorn, Puma { Infrastructure: Puppet, Capistrano, Fabric { Monitoring: Grafana, Graphite, InfluxDB, Prometheus/AlertManager { Container Technology: Kubernetes, Tsuru, Docker, Rkt, Container Linux { IaaS/PaaS: AWS, DigitalOcean, Heroku { Databases: MongoDB, Redis, Postgres, Cassandra, MySQL
Recent Open Source Contributions kubernetes/kubernetes: Production-Grade Container Scheduling and Management { PR #48707: Allow nodes to create evictions for its own pods in NodeRestriction admission controller
kubernetes-incubator/kube-aws: Kubernetes on AWS with Container Linux { I’m part of the core team and active contributor, with several merged contributions
kubernetes/charts: Curated applications for Kubernetes { PRs #533 and #535 for Prometheus
Open Source Projects Summary danielfm/pybreaker: Circuit Breaker implementation for Python { Typically used in API clients in order to prevent cascading failures across multiple systems { Used by Globo.com, AppNeta, Amplify, SeatGeek, and others { Used to safeguard one of Globo.com’s the most accessed internal APIs, with tens of thousands of requests/minute
xmlrunner/unittest-xml-reporting: Test results exporter for Python { XML file format supported by all major CI servers and build systems { Used by Khan Academy, Globo.com, and others
danielfm/bencode: BitTorrent encoding implementation in Clojure { Parses bencoded strings directly to Clojure data structures and vice-versa { Features a threadpool-based parallel piece hashing implementation that can handle tens of GiB of data
Professional Experience Jun. 2015 - Software Engineer, Descomplica, Rio de Janeiro/RJ. Present { Migrated all critical services from AWS Beanstalk to Kubernetes, significantly cutting infrastructure costs due to better resource utilization { Implemented a generic Continuous Delivery pipeline on top of Helm, Jenkins, and AWS Lambda that enables a small development team to push several changes to production every day { Technologies got to work on: Go, JavaScript, Kubernetes, AWS, Nginx, and many others
Dec. 2010 - Software Engineer, Globo.com, Rio de Janeiro/RJ. May 2015 { Worked on the Live Video Streaming Platform, a distributed architecture for live video ingest and delivery capable of broadcasting dozens of live streams to hundreds of thousands of users { Delivered Globosat Play, a software platform that provides cable TV subscribers access to the video content licensed in Brazil by Globosat { Delivered Combate Play, a website where Combate channel subscribers enjoy instant and unlimited access to a constantly updated collection of fights { Worked on 2012’s Big Brother Brasil broadcasting page, which would then become a platform for publishing live video transmission pages (used in several ocasions ever since, like the UFC fight nights, Sochi Olympics, etc) { Worked on globo.tv, a video-on-demand portal that organizes both free-to-watch and paid content produced by Globo { Worked on the current version of the Video Catalog, which consists of a CMS and a pluggable application for offering video-on-demand content { Delivered the first version of VideoThumbs, an API that serves dynamically resized and cropped video thumbnails { Technologies got to work on: Ruby, Python, Lua, Redis, MongoDB, Cassandra, Nginx, and many others
Jan. 2008 - Consultant, Freelancer, Ourinhos/SP. Dec. 2010 { Worked as an instructor for a SCJP 1.5 course to a class of a dozen students for local development shop { Delivered custom CRM system for a local real estate company that organized all brokers’ activities, prospects, and kept track of sales goals { Delivered a basic multilingual e-commerce website for a local real estate company { Wrote a web-based user permission management tool for a client’s legacy database, which were already being used by several internal applications { Technologies got to work on: Java, Python, Oracle, MySQL
Sep. 2006 - Programmer, Lecom, Bauru/SP. Dec. 2006 { Eliminated severe performance bottlenecks on one of their most critical product { Wrote a few small Java applications for data exchange and data synchronization { Technologies got to work on: Java, ASP, Informix, MySQL
Jun. 2004 - Programmer, Plasútil, Bauru/SP. Sep. 2006 { Developed a new Warehouse Management System to replace the old Dataflex-based legacy system { Wrote the first version of their Intranet application during my internship { Technologies got to work on: PHP, .Net (C#, WinForms), Oracle
Education 2003 - 2006 Bachelor, Computer Information Systems, Faculdade Gennari & Peartree (FGP). 2000 - 2002 Technical School, Computer Programming, Liceu Noroeste.
Courses and Certifications Mar. Dec. Dec. Feb. Aug.
2017 2013 2011 2007 2006
LFS258: Kubernetes Fundamentals, Linux Foundation. CS1156X: Learning From Data, CaltechX. Intro to Machine Learning, Coursera. SCWCP: Sun Certified Web Component Developer 1.4, Prometric. SCJP: Sun Certified Java Programmer 1.4, Prometric.
Featured Articles Sep. 2016 Five Months of Kubernetes, Personal Website. Post reached #4 in HackerNews
Conferences Nov. Sep. Feb. Jun.
2016 2014 2013 2012
KubeCon, Seattle/WA, USA. Strange Loop, St Louis/MO, USA. Strata, Santa Clara/CA, USA. Velocity, Santa Clara/CA, USA. The updated version of this document can be found at https://github.com/danielfm/resume