Embedded Software Engineering Intern
Hewlett Packard Enterprise
About the Role
Hewlett Packard Enterprise is the global edge-to-cloud company advancing the way people live and work. Our culture thrives on finding new and better ways to accelerate what’s next. We make bold moves, together, and are a force for good.
This role is designed as 'Hybrid', requiring an average of 2 days per week to be worked from an HPE office.
Key Responsibilities
- Designs limited enhancements, updates, and real-time programming changes for portions and subsystems of systems software.
- Provides feedback to improve product quality and mitigate risk failures.
- Analyzes design and determines coding, programming, and integration activities required based on specific objectives and project guidelines.
- Executes and writes portions of testing plans, protocols, and documentation for assigned application portions; identifies and debugs code issues and suggests changes or improvements.
- Participates as a member of a project team to develop reliable, cost-effective, and high-quality solutions for assigned systems portions or subsystems.
- Collaborates and communicates with internal and outsourced development partners regarding software systems design status, project progress, and issue resolution.
Requirements & Tech Stack
- Designs, develops, troubleshoots, and debugs software programs for ASIC SDK and new switch products.
- Develops software including Linux operating systems, networks, utilities, and Linux debug tools.
- Determines hardware compatibility and/or influences hardware design.
- Understands RTL.
- Writes in C/C++, Python, Rust, Go Lang.
- Extensive experience with multiple software systems design tools and languages: C and Python.
- Experience reading ASIC designs and understanding them in detail.
- Experience working with Emulator and Simulator environments.
- Experience in overall architecture of software systems: Linux kernel drivers.
- Designing and integrating software systems running on multiple platform types into overall architecture.
- Evaluating forms and processes for software systems testing and methodology, including writing and execution of test plans, debugging, and testing scripts and tools.
Qualifications
- Bachelor's degree in Computer Engineering, or equivalent.
- Typically, at least one intern experience before this.
- Excellent analytical and problem-solving skills – think outside the box.
- Excellent written and verbal communication skills; mastery in English. Ability to effectively communicate product architectures, design proposals and negotiate options at senior management levels.