View all jobs

Embedded Software Developer

Ottawa, On · Telecommunications
emergiTEL is currently seeking software engineers experienced in designing and developing embedded telecommunications software. 
The desired candidate should have strong software engineering skills and experience with telecommunication technologies such as Ethernet, IP, MPLS, OTN. Prior experience with any Packet Optical Switching application would be highly desirable. Experience developing real time embedded software in C/C++ on the Linux and VxWorks Operating Systems is required for this position.
Responsibilities will include estimation, design, implementation, and validation of software within product lifecycle.
•             Develop embedded C++ software on family of optical switches, including enhancements of existing software, development of new features, and support of new hardware.
•             Participate in all stages of software development, including requirements analysis, design, implementation, test, and maintenance.
•             Troubleshoot hardware and software issues and work with hardware, software and system engineers to identify the root cause.
•             Help investigate and collect information to resolve process or design issues found on a current design or in previous designs.
•             Identify software performance improvements through test driven development, automated unit testing, and comprehensive integration testing.
Required Skills
•             Experience with some or all of the following transport and/or data technologies: Packet, Layer-2, VLAN, MPLS, Layer-3 Routing and Switching, Multicast, TCP/IP, G.8032, 802.ag, Y1731, G.709 OTN, Gigabit
Ethernet, 10GbE.
•             Ability to work in a lab environment and integrate software onto custom hardware.
•             Independent self-starter and committed to delivering on aggressive deadlines.
•             Comfortable in a team environment with ability to work with little supervision.
•             Must be fast learner with excellent debugging skills.
•             Effective written and verbal communications skills.
•             Ability to multitask and work across a broad range of features.
•             Software development expertise, particularly large-scale embedded software development in C/C++
•             Familiarity with Linux and VxWorks OS, utilities and system calls.
•             Familiarity with developing software on multi-processor, highly concurrent systems (good knowledge of mutual exclusion, synchronization, interrupt handling, inter-process communication, etc.)
•             Experience with object oriented analysis and design
•             Ability to develop feature specification even in cases of incomplete requirements.
•             Boot Sequence, RC scripts, busy box, uboot, init, login, LDAP, KVM, qemu, virtualization
•             Socket network Programming ( TCP/UDP )
•             Real Time Embedded Development Environment.
•             XML and other Parsers
•             Automation Tools, Code Coverage
•             Performance Profiling Tools.
•             Code Reviews and writing Technical docs and maintaining Wikis.
•             Memory Leak Analysis.
Required Experience
•             University graduate with Computer Science / Engineering / Software degree (Master’s preferred).
•             5+ years of experience in the related fields of Linux, Ethernet, Packet, OTN, and development experience in C++ on Linux platforms in embedded environment.
Powered by