Overview
Software Engineer role focused on building tools and infrastructure for Ethernovia’s evaluation platforms used to debug, test, and demonstrate networking devices.
What you'll do
- Develop software for evaluation platforms that support debugging and testing of networking devices.
- Build and maintain BSP (Board Support Packages) for onboard devices.
- Develop onboard device drivers.
- Deliver middleware software for the evaluation stack.
- Create tools to handle large volumes of test data output.
- Help visualize test data using command-line and graphical tools.
What you'll need
- Bachelor’s or Master’s degree in Computer Science/Software or related field.
- Mid-level role requires 3 years of work experience.
- Senior-level role requires 7 years of work experience.
- Strong understanding of the software development lifecycle (architecture, implementation, testing).
- Proficiency in C/C++.
- Experience with BSP on Linux systems such as Beaglebone or Raspberry Pi.
- Experience with device drivers for hardware buses like I2C, SPI, and Ethernet.
- Good understanding of operating systems, preferably Embedded Linux.
- Experience integrating and testing open-source middleware, libraries, and drivers.
- Hands-on experience with hardware and embedded processors.
Nice to have
- Experience with GNU or similar compiler and debugging tools.
- Experience with embedded programming for communication devices and hardware buses like I2C, SPI, Ethernet, USB.
- Experience with version control and review tools/processes like Perforce/Git, Swarm.
- Experience with automation/DevOps tools like Jenkins.
- Experience with ARM family processors or similar embedded processors.
- Performance testing of communication devices.
- Experience with gRPC, Protobuf, or similar RPC software.
- Experience with boot code like uboot or similar.
- Verification/validation experience including HW languages like System Verilog, Verilog, and UVM.
- Experience with SystemC and transaction-level modelling (TLM).
- Experience with embedded programming, preferably with communication devices and hardware buses (also included above).
Details
- Location multiple positions in Pune, India.
- Remote working considered on a case-by-case basis.
- Willingness to locate to Pune is highly desirable.