Network Software Engineer - Driver Firmware
Role details
Job location
Tech stack
Job description
This role has been designed as 'Hybrid' with an expectation that you will work on average 2 days per week from an HPE office., As the most critical team in our R&D organization, we are responsible for our core and new product development. We are seeking a motivated, skilled Software Engineer for our High-Performance Networking Platform team. The ideal candidates will have strong technical and interpersonal skills, a deep set of hands-on experience with large-scale networks, public and private cloud platforms, a passion for innovating, integrating, and developing the distributed and large-scale network fabric, and an interest in the world of HPC.
How you'll make your mark:
· Influence the strategic direction of our network architecture
· Implement critical functionality and capabilities in the switch and NIC data plane - including driver development for configuration, control and monitoring of a custom ASICs and creating APIs to interface with the layers above
· Develop/implement per requirements with high-performance, resiliency and scalability as the primary considerations
· Contribute learning to the larger community via written guidance and presentations
· Contribute to the broader HPE/Cray R&D leadership community
Management Level Definition:
Contributions include applying developed subject matter expertise to solve common and sometimes complex technical problems and recommending alternatives where necessary. Might act as project lead and provide assistance to lower level professionals. Exercises independent judgment and consults with others to determine best method for accomplishing work and achieving objectives.
Responsibilities:
- Designs enhancements, updates, and programming changes for portions and subsystems of systems software, including operating systems, compliers, networking, utilities, databases, and Internet-related tools.
- Analyzes design and determines coding, programming, and integration activities required based on general objectives and knowledge of overall architecture of product or solution.
- Writes and executes complete testing plans, protocols, and documentation for assigned portion of application; identifies and debugs, and creates solutions for issues with code and integration into application architecture.
- Leads a project team of other software systems engineers and internal and outsourced development partners to develop reliable, cost effective and high quality solutions for assigned systems portion or subsystem.
- Collaborates and communicates with management, internal, and outsourced development partners regarding software systems design status, project progress, and issue resolution.
- Represents the software systems engineering team for all phases of larger and more-complex development projects. Provides guidance and mentoring to less- experienced staff members.
- Provides guidance and mentoring to less- experienced staff members.
Requirements
- Bachelor's or Master's degree in Computer Science, Information Systems, or equivalent.
- Typically 4-6 years experience.
Knowledge and Skills:
- Expertise in multiple software systems design tools and languages.
- Strong analytical and problem solving skills.
- Designing software systems running on multiple platform types.
- Software systems testing methodology, including writing and execution of test plans, debugging, and testing scripts and tools.
- Excellent written and verbal communication skills; mastery in English and local language. Ability to effectively communicate product architectures, design proposals and negotiate options at management levels.