Diego Hurtado, Software Developer in San José, San José Province, Costa Rica
Diego Hurtado

Software Developer in San José, San José Province, Costa Rica

Member since August 16, 2018
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.
Diego is now available for hire

Portfolio

Experience

Location

San José, San José Province, Costa Rica

Availability

Part-time

Preferred Environment

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.

Employment

  • Senior Automation Engineer

    2015 - PRESENT
    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.
    Technologies: Docker, Jinja, Tox, Pytest, Pexpect, Python
  • Network Test Engineer

    2014 - 2015
    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.
    Technologies: REST, Bash, Azure Active Directory, DHCP, RADIUS, TCP/IP, IEEE 802.11, HTML, Python
  • Network Test Engineer

    2013 - 2014
    Softtek
    • 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.
    Technologies: IEEE 802.11, Selenium, Python, RRDtool, Bash, HTML, SVG

Experience

  • Topology Framework

    A modular framework for testing network topologies.

    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.

Skills

  • Languages

    Regex, Python 3, Python, Python 2, Bash, HTML, SQL
  • Libraries/APIs

    Python API, RADIUS
  • Tools

    PDB, Pytest, Vim Text Editor, Expect, Git, RRDtool, PyPI
  • Other

    Freelance, State Machines, Algorithms, SVG, IEEE 802.11, TCP/IP, DHCP, Pexpect, Tox, Patterns
  • Frameworks

    Jinja, Sphinx Documentation Generator, Selenium
  • Paradigms

    Test-driven Development (TDD), Class-based OOP, Testing, REST, Agile, Scrum
  • Platforms

    Docker, Ubuntu, Linux
  • Storage

    Azure Active Directory, JSON

Education

  • Bachelor's Degree in Computer Science
    2009 - 2013
    Universidad de Costa Rica - San Pedro, Costa Rica

Certifications

  • Introduction to TensorFlow for Artificial Intelligence, Machine Learning, and Deep Learning
    APRIL 2019 - PRESENT
    Coursera
  • Machine Learning
    OCTOBER 2018 - PRESENT
    Coursera

To view more profiles

Join Toptal
Share it with others