PHP Developer in Benavidez, Buenos Aires Province, Argentina
Senior Full-stack Developer2018 - PRESENTTeselagen (via Toptal)
- Worked on several related SPAs using React, Redux, GraphQL and Node, among others.
- Unified the UI look and feel of multiple related applications.
- Refactored and unified similar components across applications, extracting them into a common library.
- Wrote unit tests using Jest and Enzyme, and functional/integration tests using Cypress.
- Wrote scripts and configuration to get Cypress tests running in a Heroku CI environment.
- Worked on misc features, bug fixing, code reviews, etc.
Full-stack Web Developer2018 - 2018Meridix (via Toptal)
- Fixed and implemented a website redesign based on a designer's mockups.
Senior Full-stack Developer2017 - 2018Priceline (via Toptal)
- Worked in an agile team environment, having daily standup meetings, tracking tasks using Jira, etc.
- Designed and implemented most of the API-facing and Redux logic of the SPA.
- Designed and implemented the overall visual structure of the app as well as many of the views and components.
- Worked together with another front-end developer, reviewing each other's code and discussing important topics together to find the best solutions.
- Wrote unit tests and test helpers for most major functions and React components, using Jest and Enzyme.
- Made smaller contributions and suggestions for the app back-end too, written in Java (Spring Boot).
- Designed the overall app authorization system based on permissions and roles.
Full-stack Web Developer2017 - 2017Meridix (via Toptal)
- Migrated a messy old-style PHP codebase to Laravel 5.
- Redesigned and migrated the UI using Bootstrap, custom CSS, Less, jQuery and "vanilla" JS.
- Implemented various charts in the dashboard using Chart.js.
- Fixed bugs and solved migration issues.
- Rewrote many hardcoded SQL queries using Eloquent and/or parameter binding.
Architect and Lead Developer2016 - 2017Vistrata (via Toptal)
- Took over an existing base project, which I improved and extended.
- Designed and Implemented a lightweight data access layer to replace a slow custom ORM layer.
- Implemented Ag-Grid throughout the app to display grids, using custom code to integrate with my Gantt component, add unsupported features, etc.
- Designed and implemented a technique to batch CRUD operations on the front end and process them asynchronously on the back end, allowing for seamless editing with autosave (Google Docs style) and enabling offline editing.
- Designed the basics of an advanced data revision control system to be implemented in the DB, which is efficient in both space and time.
Developer2015 - 2016CertaPet (via Toptal)
Technologies: PHP, MySQL, SQL, REST, JSON, Stripe, Mandrill, Wufoo, WebMerge, HelloSign, AWS, Trello, Jira
- Worked with the founders to design and build a platform MVP that would allow their existing business concept to scale.
- Suggested a split architecture consisting of a PHP back end with a REST API and a SPA front end.
- Designed the DB schema and implemented all of the back end and API, working together with a front-end developer that got hired later.
- Integrated Stripe payments trying out different flows, including "auth and capture."
- Integrated several other third-party services, including Mandrill, Wufoo, WebMerge, and HelloSign.
- Designed and built the back-end infrastructure in AWS, using RDS, EC2, S3, and IAM.
Freelance Software Developer2011 - 20156v Soft
- Joined and led a small remote team that worked on feature development, maintenance, bug fixes, optimization, and testing of a high-traffic (2M+ DAU) application on the Facebook platform.
- Helped maintain, optimize, and migrate the app’s cloud infrastructure based on AWS and Rightscale, including load balancing (ELB), web server arrays, Memcached servers, Cron servers, RDS, S3, Route53, and CloudFront.
- Developed for an advanced in-house statistics system that allowed real-time monitoring of various traffic metrics.
- Led the development of mobile web and hybrid (Cordova) versions of the application.
- Performed A/B testing and experiments to guide feature and design decisions.
Freelance Web Developer2007 - 2014Estudio F
- Acquired knowledge of and experience in base web technologies.
App Developer/Owner2009 - 2011Self-employed
- Owned and developed several applications on the Facebook platform (including two games) reaching a total traffic of 70k DAU (daily active users) at their peak.
- Developed an ad network mixing system that maximized revenue by optimizing each network’s traffic share based on their performance (eCPM).
- Developed a custom analytics system to track app signals (events) based on users’ countries, languages, genders and dates, allowing for A/B testing of certain features and UI choices.
- Created and edited all original and derived artwork with Photoshop.
Developer2008 - 2009Globant
- Designed and implemented a system to transfer large files over HTTP from within web applications, with advanced features like pause, resumption, and recovery of uploads and downloads.
- Designed and implemented a system to transcode media files (images and video) for client applications that featured media previews.
- Wrote standalone documentation for systems I built.
- Gained experience in Java web development, learning various frameworks and tools along the process.
Developer2006 - 2006ITBA
Technologies: Java, Spring, Hibernate, Maven, Tomcat
- Designed and implemented an algorithm for classroom assignment based in heuristics.
- Implemented a reservation service and DAO within a Hibernate/Spring architecture.
- MegaSlots (Development)
- Solitarium 35 (Development)
A card solitaire game I built from scratch, implemented as an app for the Facebook platform. It features a rich front-end written mainly in ActionScript, and a PHP/MySQL back-end.
- Blog (Other amazing things)
My personal website and blog. You can find a portfolio section there, as well my CV.
- A Guide to Consistent Hashing (Publication)Consistent Hashing is a distributed hashing scheme that operates independently of the number of servers or objects in a distributed hash table. It powers many high-traffic dynamic websites and web applications. In this tutorial, Toptal Freelance Software Engineer Juan Pablo Carzolio will walk us through what it is and how hashing, distributed hashing and consistent hashing work.
FrameworksRedux, React-Bootstrap, Jest, Eloquent, Bootstrap, Bootstrap 3, Lumen, Laravel 5, Laravel, Swing, PhoneGap, PHPUnit
Libraries/APIsReact Router, jQuery, React, Ag-Grid, HTML5 Canvas, Facebook API, Stripe API, Charts.js, jQuery UI, Java 2D, Wufoo API, Mandrill API
ToolsAtom, Vim Text Editor, Cron, Amazon CloudFront CDN, Git, Adobe Photoshop, Apache, Eclipse IDE, Microsoft Excel, Redux Thunk, Webpack, Apache Tomcat, Xdebug, Vagrant, Gulp.js, Composer, Subversion (SVN), Maven, Firebug, Wireshark, FlashDevelop, DataTables, LaTeX, Jira, Trello, Basecamp
ParadigmsREST, Functional Programming, Object-oriented Programming (OOP), Imperative Programming, Prototype-based OOP, Agile Software Development, Concurrent Programming
PlatformsCentOS 6, Linux, AWS EC2, Amazon Web Services (AWS), Ubuntu, PDF.js, WordPress, Oracle
StorageMySQL, AWS S3, Memcached, JSON, AWS RDS, NoSQL, PostgreSQL
OtherEnzyme, Data Structures, Algorithms, HTTP, HTTPS, Image Processing, Ajax, Relational Database Services (RDS), PHP/Java Bridge, HTML Email, WordPress Plugins, Blade, TCP/IP, Mobile Web, Computer Graphics, Multithreading, Neural Networks, Genetic Algorithms, AI Programming, Audio, Applets, Unix Shell Scripting, Cryptography
- Engineer's degree in Computer Science2003 - 2007Instituto Tecnológico de Buenos Aires (ITBA) - Buenos Aires