Software Engineer2017 - PRESENTFacebook, Inc.
Technologies: Android, BUCK, Phabricator, Mercurial
- Worked on the SDK ads team: building new features for apps that integrate with the Facebook Ads SDK.
- Developed multiple new features across Facebook apps.
Android Engineer2017 - 2017Cloudbanter (via Toptal)
Technologies: Android, Crashlytics, Facebook Android SDK, AdMob, MoPub, Flurry, Google APIs
- Implemented a number of new features for SMS clients, from transforming the app's UI to adding inbox segmentations.
- Managed the release process from end to end.
Senior Android Developer2016 - 2017Click Delivery
Technologies: Java, Android SDK, Dagger 2, Retrofit, ButterKnife, Google Location and Maps, Apptimize, Crashlytics, Mockito, Git, TDD, MVC, Material Design, Scrum
- Supported the current app version that is used by over 100,000 users monthly.
- Currently developing a new version of the app, using cutting-edge technologies and techniques such as Dagger 2, ButterKnife, Retrofit, TDD, Material Design, and much more.
- Created an Android component that builds views dynamically from server instructions, using best practices, and use of inheritance.
- Applied Material Design principles using the AppCompat library.
- Worked as the Android technical leader.
Senior Android Developer2015 - 2016Accion BPO
Technologies: Java, Android SDK, Dagger 2, Retrofit, RoboGuice, Spring for Android, Google Location and Maps, Geofences, Crashlytics, Firebase (Analytics and FCM), ORMLite, Git, Bitbucket, JIRA, Android Studio, Scrum, Kanban
- Converted the company's entire portfolio (25 different apps) into just one app; capable of supporting smartphones and tablets, using cutting-edge technologies and techniques. This app is being used by thousands of people and was the most challenging work of my career so far.
- Developed an application that is being used to track a device's location and status. In that way, the company's can know where its devices are.
- Implemented the use of agile methodologies such as Scrum and Kanban supported by Jira and Bitbucket.
- Implemented the use of a version control system, using Git and Bitbucket.
- Improved the existing app to be fully customized to the user; adding custom preferences, editable profile information, and the ability to have different designs for different events during the year to for example celebrate a birthday.
- Implemented a complex tracking system that included Geofences, periodically location updates (including server requests for location updates using FCM), offline recording, and synchronization.
- Created complex system modules that require user permission, offline synchronization, and images management.
- Led an advanced Java and Android training session for my colleagues.
- Was awarded as the most innovative employee of the company.
Software Engineer2014 - 2015PayU
Technologies: Java, Spring Framework, GigaSpaces, PostgreSQL, ZK7, Tomcat 7, Git, JIRA, Bitbucket, Confluence, MongoDB
- Integrated the most important payment method in Colombia.
- Implemented payment method integrations with clients in South America such as Itaú, Servipag, Pagofacil, and much more.
- Worked as part of the quick action team to solve urgent system bugs; for this, the Kanban methodology was applied.
- Led the first PayU's programming marathon.
- Implemented internal tools for a better performance for the administrative area.
- Administered to the MongoDB: used to store system logs.
Software Developer2013 - 2014Martinez Navas S.A.S.
Technologies: Java, Visual Basic, PHP, JavaFX, Microsoft BI Module, Magento
- Implemented the integration of Magento and the company’s accounting system, improving the company’s sales flow, and leading to a 100% automated sales.
- Created a dispatch system that controls the dispatch of the correct products. This led to an improvement of 90% accuracy in the dispatching process.
- Implemented a BI using a Microsoft BI module and data mining techniques.
Teacher Assistant2009 - 2013Pontificia Universidad Javeriana
Technologies: Java, Oracle Database, Haskell
- Worked as a teacher assistant of a data structures course (one year).
- Aided and taught a programming fundamentals course (two years).
- Taught as a teacher assistant of a database course (half a year).
- Helped and developed curriculum as a teacher assistant for a programming languages course (half a year).
- Worked as an administrative assistant of a specialization of enterprise software architecture course (one year).