Summary:
The successful candidate in a software development domain will work with Product Management, Hardware Engineering, and other software colleagues engaging in the design, development, support, and analysis of end-to-end technical solutions driven by customer specifications and business requirements.
Responsibilities:
A primary contributor to the design and development of next generation of my client Networks wireless solutions.
Support current products, as required.
Document and demonstrate software implementations, as required.
Promote team best-practice procedures.
Mentor colleagues regarding new and key relevant technologies
Competencies & Qualifications:
At least 7 years of embedded Linux software development experience
Minimum of five years C and C++ (version 14+) in an embedded environment involving a RTOS, device drivers, BSPs, etc.
Experience with microcontrollers
The candidate can interpret an electrical schematic and wiring diagram and any associated interfaces
Conversant in and consistent use of Git and Subversion source code management
Strong and consistent experience translating business requirements into technical and executable stories
Has a critical aptitude for code efficiency and execution reliability
Can bring up a concept board to full production functionality
Experience with cryptographic concepts and implementations in an embedded environment, including public key infrastructure management
Experience with networking concepts
The candidate is a confident communicator
Assets:
Python experience, particularly in a test environment
Test source code coverage
Test Driven Development experience
Experience with build environment tools like make, cmake, bash scripting, Eclipse IDE, GCC, etc.
Experience with the U-Boot process and implementation
Working knowledge of IPv4/IPv6
Working knowledge of Layer 2 switching and VLANs
Experience with web service technologies and languages
The Ideal Candidate:
Is conversant in 3GPP standards, or 4G LTE / 5G implementations
Is passionate of reliable, efficient, and demonstratable software design
Is ready to share ideas, concepts, and approaches – as well as willing to be open to new and alternative ideas
Is self-organizing and can lead a cause and collaborate with others, yet also able to work alone
Is flexible, positive and can pick up technical concepts efficiently