Description
We are seeking an experienced Embedded Software Engineer to develop software for specialized hardware platforms and devices. You will partner with cross-functional teams to create solutions that meet customer needs, debug and address software issues, and bring new ideas for product innovation.
Key Responsibilities:
- Develop embedded systems software for specialized hardware platforms and devices.
- Apply agile methodologies to improve software development efficiency.
- Optimize embedded systems for resource constraints and real-time requirements.
- Execute tests for scale, reliability, and velocity within your code.
- Apply in-depth knowledge of secure coding principles and review others' code for compliance.
- Collaborate with team members to share learnings and assist in problem-solving.
- Debug and troubleshoot software issues to ensure product reliability and performance.
Requirements:
- Bachelor's degree in Engineering or a related field with 4-8 years of experience.
- Excellent C/C++ programming skills.
- Strong software engineering fundamentals, including modular design, clean coding, unit testing, and code reviews.
- Experience developing software on Linux-based systems.
- Prior expertise in analytical reasoning and debugging, with experience using tools such as GDB, PDB, Valgrind, etc.
- Prior working experience with algorithms and data structures.
Preferred Qualifications:
- Familiarity with networking protocols like DWDM, OTN, Ethernet, etc.
- Strong foundation in embedded system concepts.
- Knowledge of AI tools, frameworks, or methodologies.
- Strong experience with concurrent programming, multithreading, synchronization, and IPC/RPC mechanisms.
- Hands-on experience with software debugging, performance analysis, and fixing in complex networking environments.
What We Offer:
- Competitive salary.
- Opportunity to work with a global leader in networking solutions.
- Collaborative and innovative work environment.