Senior Software Engineer2018 - PRESENT
Technologies: React Router, Service Workers, Node.js, GraphQL, Redux, React Native, React
- Drove adoption of React inside a team when I joined, implementing the integration with the previous framework and working through migrating several parts of the app.
- Initiated collaboration with external teams, participating in discussions, document reviews, and new idea proposals.
- Worked with high impact and visibility even when working remotely for teams in very different time zones (London to San Francisco).
- Owned several entire workstreams and followed through to completion with all of them.
- Became the go-to person for numerous areas of the app such as React, GraphQL, and testing, helping others in the team and proposing improvements on the usage of those.
Senior Software Engineer2016 - 2018Match.com
- Served as the technical go-to person in the team, both for desktop and mobile web apps.
- Designed architecture to declaratively specify and co-locate data dependencies with components, inspired in GraphQL.
- Proposed GraphQL as a technology to adopt and rebuilt several parts of the app on it in order to gain adoption. Gave several classes to onboard the team on it. This decision drove adoption of GraphQL in the company as the main API.
- Designed an i18n solution using react-intl, co-located translations, and separate locale bundles.
- Spearheaded app performance tuning, code splitting, and webpack configuration.
- Drove proposals, discussions, and meetings to specify our own internal standards and practices.
Senior Front-end Architect2015 - 2016Progistix Worldwide (via Toptal)
Technologies: Flask, Python, Mapbox, Algolia, React Router, Redux, React
- Developed a full SPA with React, React Router, and Redux.
- Worked with highly complex forms, maps, and interactive visualization of results.
- Performed queries with algolia, working with their SDK and creating an autocomplete component to show the results.
- Developed a mechanism to mutate the state with Redux in a way that it doesn't cause any side effects and allows time travel debugging.
- Worked with the team as a technical referent, designing the architecture for the overall app and for complex pieces inside.
Senior Software Engineer2014 - 2016Power Supply Collective (via Toptal)
- Proposed using React, Redux, and immutable data structures for creating the UI.
- Refactored the UI into reusable components sharing same look and feel.
- Created a component catalog to visualize the UI elements in the web app.
- Aided in design decisions for improvements to the user experience.
- Developed an iOS application using React Native with a feature subset for mobile.
Full-stack Developer2013 - 2015SCVSoft
Technologies: Bootstrap, SMACSS, MySQL, Puppet, Capistrano, AngularJS, Ruby on Rails (RoR)
- Developed an internal suite of gems that built up a framework to quickly develop internal tools. The suite went from authentication to deployment, look and feel, and front-end components.
- Led a team of eight developers, working in three different internal tools at the same time.
- Contributed back to a couple of open-source projects both in bug fixing and bug detection as well as feature addition. Encouraged the team to do so as well.
- Moved legacy tools with Rails 2 to full Rails 3 + asset pipeline + Angular apps, increasing responsiveness and overall performance along with code quality.
- Contributed to the internal Puppet provisioning scripts and provisioned boxes for new apps.
Developer2014 - 2014StudyBloc (via Toptal)
- Integrated Quill WYSIWYG editor with React into a reusable library.
- Supported math expressions and editor inside the WYSIWYG editor.
- Supported source code with syntax highlighting in the editor as well.
- Integrated the editor with the look and feel of the application.
- Contributed back to Quill editor to fix bugs and propose improvements.
Developer2014 - 2014Soma (via Toptal)
Technologies: AngularJS, MongoDB, Ruby on Rails (RoR)
- Built the entire new checkout workflow in Angular, making it a single page and with a way to easily configure the order of steps.
- Increased the test quality of the product by increasing coverage and reducing usage of mocks in tests, and attempting to test the real thing as much as possible.
- Participated in design discussions with the client, trying to find the best solution.
- Contributed to an open source Ruby gem that the app used as an admin interface.
- Contributed to make better documentation for the newcomers in the project, by documenting and expressing the business motivation of the core classes in the app.
Full-stack Developer2012 - 2013SCVSoft
Technologies: Backbone.js, PostgreSQL, Ruby on Rails (RoR)
- Proposed the use of Backbone.js to create a rich UI with high interactivity.
- Tuned the data fetching mechanism for real-time forecast info from dozens of wind farms for different clients.
- Optimized queries and caching for most recent data visualization, with acceptable latency in the client.
- Encouraged intensive client-side test coverage together with actual HTML and JS interaction.
- Contributed to bug fixes on the HighCharts library that we used to draw the charts in the browser.
Web Developer2012 - 2012Teracode
Technologies: Facebook API, Backbone.js, ASP.NET MVC
- Led a team of three developers all working remotely from different places in the world.
- Created a Groupon-style app based on a Facebook app with high usage of the Facebook API.
- Automated deployment via Ruby scripts to achieve "one-click deploys."
- Proposed usage of Backbone.js to achieve more interactive UIs that are also more maintainable.
- Spearheaded adoption of GitHub for development workflow and made lots of code reviews in the pull requests.
Web Developer2011 - 2012Teracode
Technologies: Microsoft SQL Server, ASP.NET MVC
- Moved the existing app from ASP.NET to ASP.NET MVC, thus increasing overall the performance of transferring the state over the wire.
- Made the application update asynchronously with Ajax calls where it was necessary instead of full-page refreshes.
- Proposed several design improvements to the user workflow.
- Increased testing coverage of the existing application.
- Improved NHibernate usage and thus improved overall app querying performance.
Developer and Co-founder2010 - 2011Wisibee
Technologies: NHibernate, MySQL, ASP.NET MVC
- Founded my own company with a friend.
- Led full development of the product—a site for design contests, similar to 99designs.
- Learned about the startup lifecycle: incubated at a startup accelerator.
- Worked with supporting multiple payment methods, like PayPal and a local payment gateway called MercadoPago.
- Deployed the application, configured the boxes to run it, and was in charge of the DB backups and uptime.