Senior Software Engineer
2018 - PRESENTTwitter- 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.
Technologies: React Router, Service Workers, Node.js, GraphQL, Redux, React Native, ReactSenior Software Engineer
2016 - 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.
- Drove adoption of TypeScript and led the migration from plain JavaScript to TypeScript in order to increase confidence in the code.
- Spearheaded app performance tuning, code splitting, and webpack configuration.
- Drove proposals, discussions, and meetings to specify our own internal standards and practices.
Technologies: TypeScript, GraphQL, Node.js, React-Intl, Fluxible, React, JavaScriptSenior Front-end Architect
2015 - 2016Progistix Worldwide (via Toptal)- 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.
Technologies: Flask, Python, Mapbox, Algolia, React Router, Redux, ReactSenior Software Engineer
2014 - 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.
Technologies: PostgreSQL, Immutable.js, Redux, React Native, React, jQuery, JavaScript, Ruby on Rails (RoR)Full-stack Developer
2013 - 2015SCVSoft- 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.
Technologies: Bootstrap, SMACSS, MySQL, Puppet, Capistrano, AngularJS, Ruby on Rails (RoR)Developer
2014 - 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.
Technologies: MathQuill, Quill, React, JavaScriptDeveloper
2014 - 2014Soma (via Toptal)- 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.
Technologies: AngularJS, MongoDB, Ruby on Rails (RoR)Full-stack Developer
2012 - 2013SCVSoft- 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.
Technologies: Backbone.js, PostgreSQL, Ruby on Rails (RoR)Web Developer
2012 - 2012Teracode- 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.
Technologies: Facebook API, Backbone.js, ASP.NET MVCWeb Developer
2011 - 2012Teracode- 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.
Technologies: Microsoft SQL Server, ASP.NET MVCDeveloper and Co-founder
2010 - 2011Wisibee- 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.
Technologies: NHibernate, MySQL, ASP.NET MVC