Software Engineer - C/C++ & Networking
This role has been designed as 'Onsite' with an expectation that you will primarily work from an HPE office.
Hewlett Packard Enterprise is the global edge-to-cloud company advancing the way people live and work. We help companies connect, protect, analyze, and act on their data and applications wherever they live, from edge to cloud, so they can turn insights into outcomes at the speed required to thrive in today's complex world. Our culture thrives on finding new and better ways to accelerate what's next. We know varied backgrounds are valued and succeed here. We have the flexibility to manage our work and personal needs. We make bold moves, together, and are a force for good. If you are looking to stretch and grow your career our culture will embrace you. Open up opportunities with HPE.
Job Description:
What you will do:
Designs, develops, troubleshoots and debugs software programs for software enhancements and new products. Develops software including operating systems, compilers, routers, networks, utilities, databases and Internet-related tools. Determines hardware compatibility and/or influences hardware design.
- Designs limited 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 specific objectives and established project guidelines.
- Executes and writes portions of testing plans, protocols, and documentation for assigned portion of application; identifies and debugs issues with code and suggests changes or improvements.
- Participates as a member of 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 internal and outsourced development partners regarding software systems design status, project progress, and issue resolution.
What you need to bring :
- Experience & Education: BS/MS in Computer Science, Computer Engineering, or a related technical field, combined with 3 to 7 years of progressive professional experience developing high-performance networking software.
Technical Mastery:
- Expert-level proficiency in C/C++ programming, complex debugging, and low-latency performance optimisation within multi-threaded environments. Proficiency in Python and Bash scripting for automation, testing, and tooling will be an add-on.
- System & Architecture:
- Proven track record of designing & developing carrier-grade control path networking software for large-scale, multi-core router/switch architectures.
- Deep, practical knowledge of the Linux/Unix OS internals, including kernel interaction, socket programming, memory management, and advanced inter-process communication (IPC) mechanisms.
- Debugging & Tools: Advanced expertise in diagnosing complex memory and performance issues in multi-threaded processes, including deep hands-on experience with:
- Dynamic analysis tools (GDB, Valgrind, flamegraph, UNDO).
- Static analysis tools (e.g., Coverity).
- Packet tracing tools like Wireshark for protocol analysis and network troubleshooting.
- Source Control: Expert-level working knowledge of enterprise source management tools, including Git, Gerrit (or similar code review systems), and SVN (Subversion).
- Communication: Exceptional written and verbal communication skills; ability to drive technical decisions and clearly articulate complex architectural concepts to cross-functional teams and management.
- Preferred Qualifications (Elevated)
- Protocol Expertise: Extensive experience with Broadband Edge protocols (e.g., DHCP, PPPoE, L2TP), and deep working knowledge of multiple Layer 2 (e.g., VLAN, LAG, IGMP snooping) and Layer 3 protocols.
- Modern Tooling & Cloud: Hands-on experience with cloud-native deployment concepts, including Kubernetes, Docker Containers, and Virtual Machines in a CI/CD pipeline. Direct experience implementing or integrating modern network configuration interfaces like OpenConfig, gRPC, and gNMI, including familiarity with data modeling using YANG and data serialization formats like JSON.
Additional Skills: Cloud Architectures, Cross Domain Knowledge, Design Thinking, Development Fundamentals, DevOps, Distributed Computing, Microservices Fluency, Full Stack Development, Security-First Mindset, Solutions Design, Testing & Automation, User Experience (UX)
What We Can Offer You:
Health & Wellbeing
We strive to provide our team members and their loved ones with a comprehensive suite of benefits that supports their physical, financial and emotional wellbeing.
Personal & Professional Development
We also invest in your career because the better you are, the better we all are. We have specific programs catered to helping you reach any career goals you have — whether you want to become a knowledge expert in your field or apply your skills to another division.
Unconditional Inclusion
We are unconditionally inclusive in the way we work and celebrate individual uniqueness. We know varied backgrounds are valued and succeed here. We have the flexibility to manage our work and personal needs. We make bold moves, together, and are a force for good.