What are the responsibilities and job description for the Senior Embedded Software Engineer position at UrsaNav®?
Job Title: Senior Embedded SW Engineer
Company: UrsaNav LLC
Location: Billerica, MA
About the Company:
UrsaNav is an innovative provider of RF Transmitter systems and equipment for a variety of applications including Positioning, Navigation, and Timing (PNT). We design and manufacture cutting-edge PNT equipment that is trusted by customers around the world.
Position Summary:
UrsaNav is seeking a Senior Embedded Software Engineer to join our team developing advanced solutions in resilient Positioning, Navigation, and Timing (PNT) and low-frequency communications. The ideal candidate will have strong expertise in embedded development, scalable architecture, and real-time systems to support UrsaNav’s mission of delivering robust and reliable navigation and timing systems.
Key Responsibilities:
- Design, build, and maintain manual and automated test stands for product and sub assembly testing.
- Design, implement, and maintain embedded software in C and C for ARM-based processors (Zynq SoC experience a plus).
- Develop automation and test frameworks in Python to support system validation, regression testing, and production QA.
- Implement and optimize embedded networking (TCP/IP, UDP, sockets) for reliable communications.
- Apply object-oriented design patterns and scalable architectural practices to embedded systems.
- Collaborate with FPGA, RF, and systems engineers to integrate software into UrsaNav’s LF transmitters, receivers, and navigation solutions.
- Use Git or other version control systems for collaborative development and configuration management.
- Contribute to continuous improvements in reliability, performance, and maintainability of UrsaNav’s embedded platforms.
Requirements:
- Bachelor’s or Master’s degree in Computer Engineering, Electrical Engineering, Computer Science, or related field.
- 5 years of professional experience in embedded software development.
- Proficiency in C and C for embedded systems.
- Hands-on experience with ARM processors; experience with Xilinx Zynq SoCs is an advantage.
- Skilled in Python scripting for automation, testing, and productivity tools.
- Solid understanding of embedded software architecture and object-oriented design patterns.
- Experience implementing and debugging networking stacks (TCP/IP, UDP).
- Proficiency with Git and collaborative development workflows.
- Strong problem-solving, debugging, and cross-disciplinary collaboration skills
Nice to Have:
- Experience with Yocto and Embedded Linux build environments.
- Experience with resilient PNT systems, timing, or navigation technologies.
- Familiarity with FPGA/SoC workflows (e.g., VHDL/Verilog, Vivado).
- Experience with CI/CD pipelines for embedded systems.
- Knowledge of real-time operating systems (RTOS).