Embedded C Software Engineer

Recruiter
Location
CR3 6ST, Caterham
Salary
Negotiable + life assurance, pension and medical care
Posted
30 Jan 2017
Closes
27 Feb 2017
Clearance Level
None / Undisclosed, SC
Job Type
Permanent

Role

CellXion is looking for software engineers to join a small team in building, enhancing and maintaining a variety of Linux based product components.  They will work to improve embedded software running in a network of GSM, UMTS and LTE base-stations along with other modules and devices. 

Successful candidates shall have knowledge and experience of the design, implementation, test and debugging of software systems.  They shall be able to make use of this knowledge to help design and develop aspects of the products while also providing level-of-effort estimates and working to timescales.

Job Requirements Essential Skills & Qualities

  • 2:1 degree or equivalent qualification in Computer Science or a comparable discipline
  • Significant project experience with C application development on Linux platforms
  • Fluent in C with a good understanding of the compilation process
  • Ability to produce efficient, reliable and maintainable embedded code
  • Experience using the gcc toolchain and Makefiles
  • Understanding and use of revision control systems
  • Linux system administration and IPv4 networking
  • A creative and structured approach to problem-solving and debugging
  • Comfortable communicating within a small team

Desirable Skills and Qualities

The following skills are not essential for this role, but experience in any of the following areas would enhance your application:

  • Mobile telephony systems such as GSM, UMTS and LTE (protocols, or air interface)
  • Prior exposure to 3GPP mobile telephony standards
  • Open Source project interaction or contribution – patches, repositories, bug reports
  • Operating system kernel or device drivers
  • Knowledge of other languages, such as Java, Javascript, Bash shell scripting, Perl
  • Experience with Java, JavaFX2, Eclipse, subversion, Doxygen, JIRA or CentOS

What are the desired behaviours for this role?

As a small company, cellXion benefits from individuals that are keen to be involved in both technical problem solving while also helping to drive the development process forward.  This approach heralds a flexible culture where employees guide decisions, helping to shape how the team works together and best serves customers. The following behaviours are assessed as part of the recruitment process:

  • Self-starting – Your ability to quickly understand and learn new technologies by utilising existing team members, training resources or through self-research
  • Time management – Forecasting task durations both at a high and low level, while also being able to appropriately prioritising individual work items
  • Creativity – Producing new ways of achieving desired functionality, be it simpler or more efficient, suggesting new units or modules or suggesting product improvements
  • Pro-activity – Raising problems early and suggesting or undertaking corrective action to avoid malaise
  • Collaboration – Your ability to call on colleagues, customers or other resources to share knowledge or seek their view or experience
  • Curiosity and Innovation – Keen interest in how things work (or don't!) with a view to learning from quality components or avoiding mistakes of weak systems or designs
  • Team and personal development – Recognition of the importance of personal development,as well as supporting development of a team as a whole

Benefits

Negotiable salary.
Pension with contributions matched to 5% of salary.
Life assurance and medical care.
26 days annual holiday.

Information for Applicants

All applications must include a sample of C code they have developed and are prepared to discuss at interview.  This could be a small program or module which does something useful or interesting and is complete enough to be understood from the submitted sources.  The submission should ideally be less than 2,000 lines (as counted by wc –l).  Source need not be complete or compile.