TEKTELIC Communications Inc. provides a range of engineering and development services and products focused on unique 3G and 4G solutions aimed at reducing Service Provider Radio Access Network (RAN) CAPEX and OPEX. Our solutions enable Service Providers to address the challenges of exponential growth in wireless data.
We are seeking a software developer who is highly motivated, creative and innovative, and has a strong passion for designing, developing and implementing new software for current and future products – running on TEKTELIC designed hardware platforms.
As an Embedded Software Developer, your role will be to contribute to the evolution of TEKTELIC’s micro base station technology as a key contributor to our development efforts.
Full time, permanent position. Start date: Winter 2014/2015. Competitive salary, benefits and performance bonus.
Duties and Responsibilities:
As an Intermediate Embedded Software Developer your duties and responsibilities will be:
- Develop under minimal supervision, embedded software written in C, C++ and assembly language, for an embedded Linux environment.
- Contribute to the existing software: design using TEKTELIC SW architecture applying design standards and procedures
- Collaborate and add value through participation in peer code reviews, providing comments and suggestions
- Provide status of work to the Technical Lead or Project Manager for development schedules
- Troubleshoot BUG reports, reproduce issues, perform root cause analysis, implement and test software solutions, using proper engineering tools and techniques such as debuggers, emulators, simulators, and logic analyzers
- Work collaboratively and professionally in a team environment with other team members to achieve goals
- Coding, integration, testing, debugging, configuration and documentation of firmware for the assigned sub-system, features or tools
- Implement software solutions based on requirements, architecture and high level design documentation
- Assist the software test and validation team(s) in producing a test plan and validation
- Degree in Computer Science, Electrical Engineering, Computer Engineering, Software Engineering
- Development experience (2 years or more) in:
- Embedded development under Linux OS – writing software for Embedded Linux in Kernel and User space, troubleshooting issues at kernel and application level
- Demonstrated knowledge of Linux operating system internals and theory of operation as a target and as a development platform
- Multi-Threaded programming in C – Good understanding of OS primitive usage like semaphore, spin-lock, critical section, event, message queue, etc.
- Ability to work with a mixed team of software/hardware/FPGA designers
- Experience in system bring-up
- Must work well individually and in a team environment
- Able to follow a documented development process
- Self-starter, open-minded, self-motivated, enthusiastic, and creative at work
- Wiling to participate in all phases of the product development cycle, from definition and design through implementation, debugging, testing, and early customer support and installation.
- Embedded Linux networking development (knowledge of IP protocols and Ethernet devices and routers)
- Knowledge of wireless communications protocols (LTE, WCDMA)
- Good working knowledge of device driver development, interrupt handling in device drivers, and issues surrounding DMA/Cache/SMP
- Ability to identify bottle necks in the driver performance and be able to propose solution to overcome CPU utilization and data throughput issues
- Familiarity with system/hardware architectures, bus protocols, and memory organization/management
- Knowledge of SNMP