Verified Expert in Engineering
Diego is a very driven Python specialist that loves his trade. He has worked as an engineer testing enterprise-grade network gear at Hewlett-Packard Enterprise. Also at this company, he has designed and developed the testing framework that runs thousands of automated tests for its latest line of network switches and routers. A sharp, clear communicator, he has lead training sessions for other software engineers at Costa Rica, India, and the US.
Git, Vim Text Editor, Linux
The most amazing...
...project I have coded is a testing framework for network switches capable of building test topologies using any underlying technology.
Senior Automation Engineer
Hewlett Packard Enterprise/Aruba Networking R&D
- Designed and developed the testing framework for the next generation of Aruba network switches.
- Implemented a novel, modular architecture in this framework to support the testing of network topologies using virtual (Docker-based) or physical switches.
- Engineered, from scratch, an innovative hierarchy of framework nodes that allows it to run tests on current and future networking products.
- Designed and implemented testing libraries to support thousands of test cases for dozens of product features.
- Developed several testing platform engines to enable the creation of testing topologies with different virtualization technologies.
- Maintained the framework and provided technical support for dozens of engineers distributed in multiple geographical locations.
- Provided technical leadership and coaching for junior automation engineers.
- Delivered technical advice to upper management on architectural design and radical new approaches to a variety of large, complex automation environment issues.
- Trained test engineering teams in Costa Rica, India and US on framework usage and test case development.
- Awarded a place at Hewlett Packard Enterprise TechCon 2017 for this test framework project.
Network Test Engineer
Hewlett Packard Networking R&D
- Invented a wireless traffic generator with consumer-grade hardware that gave other engineers an alternative to much scarcer and expensive testing equipment.
- Developed an automatic command-line-interface crawler that massively sped up the testing of the dozens of these commands.
- This crawler made it possible for upper management to accomplish their testing goals with time to spare.
- Implemented and maintained a full stress-testing environment, automating its test execution and result reporting.
- Developed a real-time web tracker to provide management with accurate data on testing automation progress.
Network Test Engineer
- Served as an on-site contractor for Hewlett Packard Networking R&D.
- Created, reviewed, and executed test plans for several networking products.
- Performed manual tests for web interfaces and additionally automated them with Selenium.
- Ran stress tests on large, multi-radio wireless environments.
- Executed tests for a wide array of product features, including Active Directory and RADIUS authentication VLAN rules, band steering, etc.
This framework parses a string representation of the topology to be created, and delegates this task to its modules that create it using a network technology specific to the module itself. Examples of such technologies are Docker containers, virtual machines or physical switches.
In this way, a test case can be written only once and executed uniformly using different modules. The immediate advantage of this is greatly reducing the amount of physical equipment needed to test a topology by using virtual networks whenever possible.
The modularity of this framework also allows it to adapt itself to the network technologies that will show up in the future. This provides great flexibility and confidence to any testing department to face the always changing demands of the testing environments of network gear.
This framework was developed from scratch for the testing needs of the groundbreaking OpenSwitch project. I am very proud to say now that it has successfully executed hundreds of thousands of test cases and it is a cornerstone of the testing infrastructure of one of the largest manufacturers of enterprise-grade network switches in the world.
Regex, Python 3, Python, Python 2, Bash, HTML, SQL
Python API, RADIUS
PDB, Pytest, Vim Text Editor, Expect, Git, RRDtool, PyPI
Freelancing, State Machines, Algorithms, SVG, IEEE 802.11, TCP/IP, DHCP, Pexpect, Tox, Patterns
Jinja, Sphinx Documentation Generator, Selenium
Test-driven Development (TDD), Class-based OOP, Testing, REST, Agile, Scrum
Docker, Ubuntu, Linux
Azure Active Directory, JSON
Bachelor's Degree in Computer Science
Universidad de Costa Rica - San Pedro, Costa Rica
Introduction to TensorFlow for Artificial Intelligence, Machine Learning, and Deep Learning