Sr. Software Engineer - Sr. Tools Developer
hpe
Job Description
What you'll do:
-
Develop automation tools to be used by our engineering organization to enable building, testing, and releasing our software.
-
Work with our internal test teams to develop and enhance the tools used to integrate our product hardware into our Openstack infrastructure using Ironic
-
Update and enhance our testbed automation client tools and backend services for both virtual and hardware testbeds
-
Integrate new tooling and services into our Robot Framework test platform
-
Cloudify our existing tools to enable automation of our cloud-based resources
-
Develop cloud ready tools for testbed generation and test automation
-
Work to improve the efficiency, scalability, and operability of our existing CI/CD pipelines (Jenkins)
-
Drive proper use of programming best practices and tool documentation
-
Enhance automated test coverage of our tools to increase stability and reliability
-
Work with the team enhance the release process for our tooling for faster and more consistent deployment
-
Provide input on areas where tooling can be improved from emerging technologies
-
Participate in design and code reviews
What you need to bring:
-
B.S or M.S. in Computer Science, Electrical Engineering, Computer Engineering, or a related technical field
-
10+ years of experience developing large-scale software systems
-
3+ years of experience building and leading technical teams
-
Strong Python programming experience
-
Experience with cloud providers (AWS, Azure, GCP, etc..)
-
Experience with Test Driven Development and maintaining a stable and efficient Continuous Integration systems
-
Ability to deliver clean, modular code quickly and efficiently
-
Computer Science fundamentals in object-oriented design, problem solving, and complexity analysis
-
High degree of competency working with multi-threaded development
-
Experience developing on Linux operating systems
-
Strong communication skills, both in written and verbal, to effectively understand and convey issues and solutions to peers and end users.
-
Ability to document your work so users know how to use and work on our tools
-
Familiarity with Robot framework
-
Experience with Agile development process
-
Experience with Test-Driven Development and Continuous Integration
-
Experience with Terraform
-
Experience with Ansible
-
Experience with containerization (Docker/Kubernetes)
-
Experience with Jenkins
-
Experience with Packer