Mario César Romero Borbón
Verified Expert in Engineering
Software Developer
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
Experience
Availability
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
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.
Senior QA Engineer
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.
Experience
Ticker.py
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.
Skills
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
Education
Bachelor's Degree in Information Systems
Instituto Tecnológico y de Estudios Superiores de Monterrey - Cd Obregón, Sonora, México
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring