Professional experience
Sr. Staff Software Engineer – Medallia
Apr 2018 - Present
Tech Lead of the API Platform team. We focus on creating infrastructure, defining methodologies, and developing tooling to enable Medallia produce and expose managed REST APIs that add great value for API clients, were easy to consume, flexible, and have great performance.
Staff Software Engineer – Medallia
Oct 2016 - Apr 2018
Tech Lead of the API Platform team. We focused on creating infrastructure, defining methodologies, and developing tooling to enable Medallia produce and expose managed REST APIs that added great value for API clients, were easy to consume, flexible, and had great performance.
Independent Consultant
Nov 2015 - Present
Worked in pre-sales doing on-site requirements elicitation with business and technical users for an electronic trading monitoring system. Led the development of a successful Proof of Concept. Created a Project Plan for 2016 and 2017 including development scope, resources and roles, and integration with the customer infrastructure.
Team Manager – Viridian S.A.
Jul 2011 - Aug 2013
Led a 6-person team responsible for facing the new versions of a highly distributed Monitoring Suite for the financial industry. As team manager, I coordinated the team's work to meet planned timelines taking into account work product quality, motivation and promoting team work. Negotiated scope and schedule with Product Management. Coordinated software integration with other company's products. Collaborated with other teams and customers in USA, LatAm, Europe, and Asia.
Technical Leader – Viridian S.A.
Jan 2009 - Jul 2011
Planned, designed, integrated, monitored, and led implementations and deployments on customers of maintenance versions of a highly distributed Monitoring Suite for the financial industry. Managed work products, timelines, and resources. Responsible for Tier 3 Support and lower tier training. Designed and coded critical pieces of the system. Product owner of QATools (a set of quality assurance tools) and CrossSuite (Cross-project libraries).
Java Developer – Greenline Financial Technologies
Jul 2005 - Jan 2009
Designed and developed software systems in Java. Mentored and trained Jr. and Ssr. developers. Participated in architecture meetings. Built documentation for standards, best practices, and software development process. Made used of tools to support my work (JIRA, Scarab, Bugzilla, Knowledge Tree, Confluence, Wiki, Cruise Control). Participated in definition of software development standards and best practices. Participated in Scrum meetings.
Java Developer – Freelance Mobile Project
Jul 2007 - Sep 2007
Designed, coded, and tested a J2ME application running on a Nokia device for monitoring trucks on the road. The application captured its location using GPS, stores it, and sent it to a Server using GPRS. The tool had the capacity of working offline for one week by storing the information, and catching up as soon as the GPRS connection was reestablished. It was configurable via SMS.
Web Developer – Exelsum
Dec 2004 - Jul 2005
Designed and developed CRM and other types of systems for Red Hat using PostgreSQL and Oracle databases.
Academic experience
Visitor Assistant Specialist – UC Irvine
Dec 2015 - Mar 2016
Collaborated in the COmputAtional State Transfer (COAST) Research Group writing academic papers and creating technical documentation for developers. COAST is an architectural style for building secure, adaptive, decentralized systems.
Graduate Student Researcher – UC Irvine
Jun 2015 - Aug 2015
Collaborated in the COmputAtional State Transfer (COAST) Research Group. The focus of my work was capability accounting as a form of architectural accountability in decentralized systems. See the COAST project in my LinkedIn profile to get further information.
Teaching Assistant – UC Irvine
Sep 2013 - Jul 2015
Teaching Assistant in Programming in Java, Analysis of Programming Languages (Graduate level course), Software Design I, Concepts in Programming Languages II, Software Design II, Introduction to HCI, and Introduction to Software Engineering.
Lecturer – Universidad Maimónides
Mar 2009 - Jul 2015
Taught Formal Languages and Languages Processing for undergraduate students. Formal Languages is a course where students learn theory and techniques to process languages. It focuses on DFA, NFA, PDA, Turing Machines, formal grammars, and regular expressions. In Languages Processing, students have to apply the acquired knowledge on Formal Languages by making a practical work creating a lexical, syntactic, and semantic analyzer. To that end, I developed Shapes4Learn, a framework to manipulate shapes where students can learn and apply language processing.
Publications