Skip to main content

Professional experience

2020 - Present

Lead Software Development Engineer in Test / Symphony, France

- Working closely with multidisciplinary teams to build several Financial Market Solutions to be integrated inside the Symphony platform
- Designing, building, and maintaining Test Automation frameworks for a multi-cloud infrastructure (AWS and GCP) using Jenkins and CircleCI (CI/CD pipeline)
- Solving, stabilizing, and optimizing the various day-to-day existing automation jobs
- UI/E2E Automation using tools like Cucumber/BDD, WebdriverIO, and Robot Framework
- API testing with REST-Assured and JBehave
- Accessibility (a11y) testing with Axe-core, VoiceOver, ChromeVox, etc.
- Visual testing with Storybook
- Performance testing with JMeter
- Defining release processes (sign-offs), quality processes, test plans, and strategies for many products following the best practices
- Metrics and reports generation to stakeholders using JIRA dashboards
- Test cases management based on clients' requirements (stories) using the XRay tool
- Estimating test efforts, analyzing test results, and communicating to the partners
- Leading quality teams from different locations (Vietnam, Brazil, India)
- Participation in Agile activities (ISTQB Certified Tester Agile)

2018 - 2019

QA Automation Engineer / Growth Acceleration Partners, San Jóse

 Zenoss: Lead an End-to-End Testing automation framework on NodeJS

- Creation, execution, code review and maintenance of automated test cases.
- Create innovative solutions / frameworks for new automation efforts.
- Integrate automation framework with CI/CD process (Jenkinks/Docker/Github/Jira/Testrail).
- Create full end-to-end test plans for testable components.
- Provided Training/Coaching for Automation Testing (lead workshops).
- Assign tasks to be automated based on priorities.
- Send execution reports automatically.
- Provide guidance and support to other members of the QA team.
- Create and write automated test scripts for UI testing using languages such as JavaScript/NodeJS, Python, Ruby and others; and frameworks such as Selenium, NightwatchJS and Cucumber.

2017 – 2018

Mobile Developer / Ncubo, Cartago

Nimbus: Worked with the Nimbus Team to improve this entrepreneurship developing several applications.
  • Worked on the Android Mobile Application for sale houses using Watson Conversation IBM.
  • Developed some Cordova applications for several associations that uses Nimbus (Asehologic and others).

  • Created an Android Mobile Application that allows the reading barcode and integrate it with Nimbus store (NimbusApp).

2017

Embedded Systems Engineer / Ncubo, Cartago

Cognitive Kiosk prototype design for fast food services: Developed for the graduation final project of the University (TEC).
  • I created a Cognitive Kiosk prototype that allows fast food service by itself using Artificial Intelligence technology like chatbots and NLP, and specialized hardware like Raspberry Pi.

2016 – 2018

Java Developer / Ncubo, Cartago

AI: Implementation of several applications about AI (machine learning, deep learning)
  • I was working to create an application to predict the pineapple production using Tensorflow and Scikit-learn.
  • I created a Java framework to help and improve the developing chatbots process that works with Watson Conversation IBM.

Kafka Replication: Create an information replication in several servers.
  •  I set up a replication environment using Apache Kafka in several Linux brokers.
  • Worked in the Java backend project to implement this functionality.

Banco Atlantida:
  • I was trained about IBM Watson Developer Cloud (Bluemix) by Cognitiva and IBM (ABI).
  • Worked with a developer team in the backend to create a cognitive mobile application to this Honduran bank using Watson IBM.

2014 – 2016

QA Engineer / Cecropia Solutions-Indigo Telecom, Cartago

PACE: QA services provided to U.S. customers, for IT solutions and networking devices (Gateways).
  • Created and executed manual test cases based on the project requirements. Also executed regression, sanity, black box testing and others.
  • Bug tracking and management.
  • Creation and documentation of testing processes.
  • Created an automation framework in Java, creating connections with some protocols such as SSH, Telnet and Serial to other testbeds, send emails reports, allows to use Selenium or Mechanize on UI automations, create log files, screenshots and video records to keep evidence.
Automated and Regression Test System: Run the automation framework to looking for issues on some networking devices (DUT).
  • Design automation test scripts in Python based on detailed test plans.
  • Monitored the progress of regression run on console.
  •  Checked detail script results and troubleshoot failed test cases.
  • Created a CMS automation in Python using Sikuli.

2014

Software Developer / Universidad de Costa Rica, San José

Pris-Lab: Developed a System Manual Annotation of Matches of Soccer from Television Signals. Coordinated by PhD. Francisco Siles Canales.

2013 – 2014

Embedded Systems Research / TEC, Cartago

Electronic Voting:  Validation and testing of different hardware components to this project.

2010 – 2011

Web Developer / TEC, Cartago

Nanotechnology Research Program: Development of a website focused on the Nanotechnology Program.

2010

Research Assistant / TEC, Cartago

Nanotechnology Research Program: Design and construction of small robot using Nitinol. Coordinated by PhD. Paola Vega.

Popular posts from this blog

ISTQB - Foundation Level Agile Tester Recap

ISTQB - Foundation Level Agile Tester Recap This is a summary that will help you to approve the Agile Tester certification test. 1 - Agile Software Development 1.1 - The fundamentals of Agile Software Development  The Agile Manifesto has 4 values : - Individuals and interactions over processes and tools (people-centered) - Working software over big documentations (time to market advantage) - Customer collaboration over contract negotiation (customer requirements) - Responding to change over following plan (change is more important)   The Agile Manifesto has 12 principles : - Satisfy the customer with continuous delivery - Changing requirements - Deliver software frequently (few weeks or months) - Business people and developer must work together - Build projects around motivated individuals - Face to face conversation - Working software is the primary measure of progress - The team should maintain a constant pace indefinitely - Technical excellence and good design - Simplic

RasPI Assistant: Google Assistant + Dialogflow + Raspberry Pi

Would you like to control the TV using your voice without spend a lot of money? ... Amazing right?. So, in this post, I will teach you how to do that and more. Some of my dreams always have been control things without touch them, for example: the television, due to tired to raise the hand to change the channel. So ... let's create a device that can do this action automatically. What things will we need? First, I should understand the problem and be aware about it. For example: if we want to control a TV that is not smart, how will we do that? ... a possibility is to send infrared signals (IR) to transmit the events that the person's desire. Also, if I want that the device can hear me, I may need a microphone. Additionally, it should have a speaker to talk with the people. Further, I will need a database to save all the information, APIs that can help me with the smart logic and cheap electronic components like a Raspberry Pi , resistors, leds, wires an

How to create a simple Chatbot?

Developing an amazing Chatbot ... What is a Chatbot? First to understand how it works, you need to know how it was originated and some algorithms  like  the Natural Language Processing (NLP). It is another AI area, but it is around the language (usually written), it is the component that bridges the gap between human conversation and understanding programmed by a computer. NLP allows the computer to interpret the vast and complicated human language, understand it, process it, and effectively "speak", just like humans. Through the process, the machine has to understand all the jargon that is being using and developing or adapting with the ability to respond, as a human computer. NLP has to do with the creation of systems that process or "understand" the language to perform certain tasks, such as answering questions, analyzing the sentiment in a sentence, making translations between different languages, and another. In the past, the NLP involved a lot