Job Opportunity – Software Developer (Trainee)

An opportunity has arisen to be trained as a professional Software/Firmware Developer.  In this role you will be trained in a wide variety of software development skills for both PC and embedded software (firmware) using the latest techniques, including writing and testing software/firmware for embedded and associated control/cloud systems.

In particular we are looking for highly enthusiastic individuals who love coding and are keen to take their skills to the next level, including writing code for complex, high reliability and safety critical embedded systems or platforms and also exploring new areas of technology such as embedded artificial intelligence (Edge AI) and the Internet of Things (low power sensors with LoRaWAN, Bluetooth Low Energy, NBIoT/LTE-M and Sigfox).

If you are interested in technology and seeking a new challenge this is an ideal opportunity.  There may be the possibility of converting role to an Apprenticeship for further learning and qualifications whilst being a Milliamp team member.  Whilst qualifications are preferred we are also interested in highly motivated individuals who may have taken a less academic route.

Software Developer (Trainee) Responsibilities:-

  • Assist with development activities as a trainee programmer for user software for PC  (C/C++/Qt, Python) and mobile (Android, Flutter) and web/cloud full stack development (JS, PHP, etc.).
  • Assist with development activities as a trainee programmer for embedded electronics firmware (C, C++, Arduino, Raspberry Pi).
  • Assist with development activities as a trainee programmer for embedded artificial intelligence (uTensor, machine learning algorithms on FPGA)
  • Support both internal and customer project software, including software for embedded electronics, cloud IoT, wearable tech and hi-reliability/safety critical software.
  • DevOps and general IT systems maintenance
  • Data management including Cloud and Virtualised environments.

Knowledge requirements: –

  • 5 GCSEs including Maths (B/6 or above required), Science (B/6 or above required) and English or predicted grades equivalent unless extensive prior experience of writing software (including for hobbyist work) can be demonstrated (in which case qualification requirements may be waived).
  • Previous experience (including hobbyist work) of some type of electronics/embedded programming e.g. Arduino, C, C++ or Python with Raspberry Pi, Microbit or Arduino.  Detailed knowledge of such or use of web based simulators also acceptable.
  • Good eyesight
  • Able to work under pressure
  • Reliable and conscientious
  • Able to work effectively as part of a team
  • Experience of Open Source Software including Linux, collaborative projects with Github/Gitlab preferred.

Personal requirements: –

  • Ability to effectively solve problems.
  • A flexible approach with excellent communication skills.
  • Ability to work unsupervised both individually and as part of a team.
  • Organised and methodical approach with excellent attention to detail.

Prior to starting this role full time, there is an opportunity for a short period of work experience to learn more about the job.  Pay is dependent on existing qualifications and experience.


Please tick to confirm you have carefully read and meet the qualification requirements stated in the role

Raspberry Pi


Android Studio


C Code on a Screen