Our client is seeking a Senior SWE to be responsible for developing and supporting embedded software for a wireless and wired networking equipment such as base stations, routers, and switches. This position requires Familiarity with Linux both on embedded targets, embedded C++ development experience in an embedded real-time environment, experience with multiprocessor software development and familiarity with communications equipment. This role often involves working as part of a small team or independently for both the development and support of our existing software through the software release cycles.
Knowledge, Skills, and Experience Required:
- Minimum of 5+ yrs of experience that includes embedded systems, real-time systems, C/C++ programming, object-oriented design skills, debugging and resolving defects.
- The ideal candidate should have some experience with Linux Kernel understanding, Linux File System, Linux Firmware Management and system services such as inter-process communication, chassis management, redundancy and some embedded network management (CLI, SNMP, XML).
- Knowledge of data communications, computer network protocols: TCP/IP, Ethernet, T1, E1, PPP
- Expertise with UML & UML design tools
- Familiarity with routing protocols, switches and open source software
- Experience in developing OS abstraction layers for Linux, building communication framework software for a multiprocessor platform and node management software.
- Experience with ARM, X86, 64 bit CPU architectures including BSP and driver development for either Linux
- Experience with Toolchains
- Strong problem solving, troubleshooting, debugging. Systematic and detail oriented with an understanding of RTOS task scheduling, task interactions, semaphores, memory management, and embedded file systems.
- Experience working defects through a well-defined defect resolution process. This may include determining root cause while updating defect notes during the analysis and documenting the fix, risks, and instructions for testers before checking in bug fix.
- Strong ability to collaborate and work closely with others. Experience working comfortably in a software release team, interacting QA testers, program managers, release engineering teams productively.
- Ability to lead the development, and deliver projects on schedule with strong project management skills.
- BS/Masters Preferred (Computer/Electronics/Electrical Engineering)
- Knowledge of UML a strong plus