Software/Senior Software Engineer
The candidates will 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 development and support of our existing software through the software release cycles.
Qualifications and Experience:
Minimum of 5+ yrs of experience that includes embedded systems, real time systems, ‘C/C++’ programming, object oriented design skills, debugging and resolving defects.
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 (ex: 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 Tool chains
- 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 fixes…
- Strong ability to collaborate and work closely with others. Experience working comfortably in a software release team, interacting productively QA testers, program managers, release engineering teams.
- Ability to lead a development and deliver projects on schedule with strong project management skills.
- Strong communication skills.
- Motivated, self-starting, team player.
BS/Masters Preferred (Computer/Electronics/Electrical Engineering)
Knowledge of UML a strong plus
Job Type: Full-time