Main Purpose Of The Job
Working on Cambridge Consultants’ wireless projects, you will design and write embedded software for complex electronics systems. In most cases this will involve working with one or more software or hardware engineers as part of a multidisciplinary project team. You may also participate in meetings with clients from time to time. We define embedded software as software working at the electronics/software boundary and/or in a constrained environment (e.g. tight memory, low power).
Type Of Work Undertaken By Group
The Wireless Software Group develops software for wireless applications. We have particular strengths in low power, low cost radio implementations, with application areas such as telecommunications, healthcare, industrial and consumer goods. We have a significant pre-developed IP library to reduce development time and risk, including mature and proven Bluetooth and DECT protocol stacks.
Recent examples of our work include the complete development of both a wireless medical telemetry system and a family of satellite communication units. Both of these examples involved the design and development of new hardware alongside the software development. Further examples include ZigBee and Bluetooth developments and an Air Traffic Control radio system.
The group carries out software design and architecture, as well as coding, usually in C. Other languages are occasionally used, such as assembly and Java, as required.
Team sizes tend to be small and are made up of highly skilled engineers. High quality work is therefore essential from every team member.
Specific Responsibilities
In this role you will be responsible for:
- The design, development and test of whole software subsystems, sometimes on more than one project at once
- The design of interfaces between your code and that of other software engineers on the team
- Delivery of high-quality code, compliant with the client’s requirements
- Carrying out your specific project tasks within the timescales and budgets agreed with the project manager
- Defining regression tests to ensure that your software is robust and complies with the specification.
Due to the nature of the work and role, there may be a small amount of travel involved from time to time.
Minimum Requirements
With an appropriate background in embedded software, you will have a good degree in a relevant subject, such as electronic engineering or computer science.
- Experience in embedded software in C
- Experience in communications software
- Understanding of both hardware and software
- Understanding of build systems and source control
Experience of the following would be advantageous;
- Understanding of wireless communications systems
- Windows programming
- One or more scripting languages