Mario César Romero Borbón, Developer in Hermosillo, Mexico
Mario is available for hire
Hire Mario

Mario César Romero Borbón

Verified Expert  in Engineering

Software Developer

Location
Hermosillo, Mexico
Toptal Member Since
April 13, 2017

Mario is a Python developer for many years—mostly standalone data-processing applications. Besides Python, he's experienced in test automation using Ruby, RSpec, Selenium/Watir, and Jenkins. He also has familiarity working on Windows, Linux, and OS X environments

Portfolio

LivingSocial
Jenkins, Selenium, Watir, RSpec, Ruby
Tripwire
RSpec, Ruby, C, OS X, Windows, HP-UX, AIX, Solaris, Linux, Python

Experience

Availability

Part-time

Preferred Environment

Git, RubyMine, PyCharm, MacOS, Windows

The most amazing...

...thing I coded was a client/server differential backup system for Windows hosts. Made with Python, PostgreSQL, Linux, Apache, and a little C.

Work Experience

Test Engineer

2015 - PRESENT
LivingSocial
  • Automated the testing of new sections of the web store; using Ruby/RSpec to write the test cases and Watir/Selenium to automate browser test execution. Tests were executed on Jenkins.
  • Worked on remote distributed teams using Scrum methodologies.
  • Automated the testing and sampling of advertising emails deliveries to different email services (Outlook, Gmail, Yahoo). Verified the validity of links and images, recurrence. Using Nokogiri for HTML parsing, Ruby/RSpec for tests writing, and IMAP for email querying and retrieval.
  • Performed manual testing when time limitations didn't allow for test automation. Lots of defects were filed—tracking defects from detection to fixing and deployment.
Technologies: Jenkins, Selenium, Watir, RSpec, Ruby

Senior QA Engineer

2011 - 2015
Tripwire
  • Automated the testing of a Windows Registry collection tool and Command execution tool. Wrote tests in Ruby/RSpec, communicating with the components using protobuf messages, executing tests for many different platforms on Jenkins (various forms of Windows and Linux platforms). Made hundreds of automated tests for immediate regression detection.
  • Automated tests for a real-time file system change detection system. Wrote hundreds of tests for detecting any kind of change on file system like file/directory creation, deletion, renaming, moving, timestamp changes, writing, filesytem mounting, hard and symlink creation, and more. Execute the tests on more than 100 different platforms and versions like Windows, Linux, Solaris, AIX, HPUX, OS X. Used Bash for the deployment of component and tests, Jenkins for scheduled test execution, and C for writing a test tool to cause any possible file system change.
  • Implemented the manual testing of a multi-platform file system integrity monitoring agent. Required basic-to-mid level knowledge of at least these platforms: Windows, Linux, Solaris, HPUX, AIX, and OS X.
  • Developed a tool in C for Linux and Solaris to call every possible system call that can cause changes on the file system (create, write, unlink, link, mount, and more). The tool's purpose was to test a file system integrity monitoring agent.
Technologies: RSpec, Ruby, C, OS X, Windows, HP-UX, AIX, Solaris, Linux, Python

Ticker.py

I actively contributed to the Ticker.py project, which includes three classes: Ticker, TickRecorder, and TickerMaster.

The Ticker class retrieves price ticks for currency pairs, such as EUR and USD price changes, from a Windows application called MetaTrader. It communicates with MetaTrader through named pipes and publishes every price change, i.e., tick, via a ZeroMQ forwarder device, allowing other programs to consume the ticks. Ticker also shares the ticks with the TickRecorder class using a shared queue.

TickRecorder receives the ticks from Ticker and stores them in either a MongoDB database or a local SQLite database. The local SQLite database serves as a backup when MongoDB is not available. If MongoDB goes offline and later comes back, TickRecorder transfers the locally stored SQLite records to the remote MongoDB.

Finally, the TickerMaster class launches instances of Ticker and TickRecorder. It also monitors and relaunches them in case of a crash.

Languages

AWK, Bash Script, SQL, Python 3, Python, C, Ruby

Libraries/APIs

Selenium WebDriver, Nokogiri, ZeroMQ

Paradigms

Testing, Scrum

Platforms

Linux, Windows, MacOS, Solaris, AIX, HP-UX, OS X

Frameworks

Selenium

Tools

PyCharm, RubyMine, Watir, Git, RSpec, Jenkins

Storage

PostgreSQL, SQLite

1992 - 1997

Bachelor's Degree in Information Systems

Instituto Tecnológico y de Estudios Superiores de Monterrey - Cd Obregón, Sonora, México

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring