Job Description
POSITION SUMMARY
- We are currently seeking a motivated and experienced Embedded Firmware engineer to develop system management firmware solutions for data center equipment. This position is responsible for working with cross-functional teams to implement and enhance embedded controller firmware for small devices or small form factor dongles. This role requires embedded development and debugging skills to develop firmware solutions and interact with Vertiv development teams globally.
RESPONSIBILITIES
- Requirements analysis: Requirements gathering, use case analysis, device and application prototyping.
- Project management: Project planning, task estimation, software metrics collection, version control
- Solid understanding and application of Open Source and its licensing models
- Full lifecycle software application development: Design, programming, debugging, peer review, unit testing, performance tuning, integration
- Documentation: Program commentary, design documentation
- Product testing: Unit testing, bench testing, system integration testing
- Leadership: Effective team member and/or lead engineer, consistent positive attitude, creativity
- Hardware development support: Software support for hardware development and testing
- Other tasks and activities as required by management.
QUALIFICATIONS
REQUIREMENTS
- 15+ years of relevant experience
- BE, BTech or MTech degree or equivalent.
- Experience with C/C++/python embedded firmware and Linux programming.
- Proven experience with Yocto, Linux gcc build and debug tools.
- Proven experience with GitHub/GitLab source code repository operations (commit, cloning, branching, etc).
- Knowledge of x86 and ARM based server and data center infrastructure architecture.
- Knowledge of hardware interfaces like SMBus/I2C, Ethernet, SPI, RS232/RS485, USB.
- Knowledge of industry standard initiatives and standards such as Open BMC, Redfish, SNMP and working with open-source software.
- Knowledge of networking protocols and related debug tools.
- Experience with Agile and CI/CD software development process methodologies.
- Strong experience with documenting the design processes and architecture.
- Strong analytical skills and decision-making capabilities.
- Excellent English communication skills, verbal and written.
PREFERRED:
- Exposure to IoT technologies
- Expertise with software programming languages, frameworks, and subsystems including but not limited to:
- C++, C, C#, JavaScript, Python, Go, Perl, Shell
- Linux kernel, device drivers and Linux device tree, filesystems, networking, serial communications, real-time operating systems (RTOS), bare metal
- Embedded Linux
- Infrastructure and application development experience using technologies and architectures such as:
- IP networking: TCP, UDP, TLS, DNS
- Serial communications: RS232/485
- Protocols: ModBus, BACnet, SNMP
- Platforms: ARM, x86, SoC
- Familiarity with software development environments and tools:
- Integrated platforms like Eclipse, CodeWarrior, Visual Studio
- Source code version control: Git
- WireShark, Docker, Jenkins, VirtualBox, VMWare, BitBake, Yocto
Apply for this Position
Ready to join ? Click the button below to submit your application.
Submit Application