You will be working on design, development and integration of software modules on multi-core processing platforms for various aspects of wireless communication systems.
You need to have ability to lead features to their completion, to understand critical issues and come up with optimal solutions to resolve them. You should willing to learn continuously and collaborate with other team members.
You job responsibilities will include:
Develop scalable multi-threaded software for multi-core DSP/GPP in C/C++
Define software architecture for inter processor communication and scheduling hardware accelerators for multiple software threads.
Performing system integration, debug and bring-up of a wireless communication system.
Develop system monitoring software
MS or PhD in Computer Science with software development experience
At least 5+ years demonstrated experience in software design and development experience on a real-time system using multi-core ARM/DSP architecture employing Linux or other RTOS.
Demonstrated experience in software architecture for embedded systems
Experience with lab integration and using signal generators, oscilloscopes, logic analyzers, spectrum/vector signal analyzers etc.
Experience with version control systems, collaboration tools (wikis, ticket systems)
Expertise in messaging protocols (protobuf, JSON) is a plus
Formal understanding in communication and signal processing theory and techniques, with strong mathematical background in linear algebra is a plus but not necessary
We are looking for the following positions:
Senior Engineer Position: You need to have 5+ years of experience relevant areas.
Principal Engineer Position: You need to have 10+ years of experience in relevant areas.
You will also be involved in defining high-level software/DSP architecture, partitioning and interfaces for influencing system design. You will also be expected to mentor/lead junior engineers and provide them with technical guidance.