Junior Software Engineer

Ecosse Professional Services
Uddingston, United Kingdom
yesterday

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English
Experience level
Junior
Compensation
£ 40K

Job location

Uddingston, United Kingdom

Tech stack

Testing (Software)
Automation of Tests
Bash
Bluetooth
C++
Code Review
Software Debugging
Embedded Software
Ethernet
Firmware
Python
RS-232
Toolchain
USB
Wi-Fi Technology
PIC Microcontroller
Real Time Systems
Test Scripts
System-level Testing
Information Technology
Wireless Technologies
Software Version Control

Job description

The junior software engineer will be involved with supporting the analysis, development and creation of customer-related software and testing systems for our clients., Embedded Software Development

  • Support the Design, development, and testing of embedded software for microcontroller-based systems.
  • Assist with writing and maintaining high-quality C/C++ code for real-time applications.
  • Integrate and configure communication interfaces such as Ethernet, USB, RS232/485, I2C, and SPI.
  • Through time and training, develop firmware to interface with wireless modules, including Bluetooth, Wi-Fi, LoRa, and NFC.

Testing & Quality Assurance

  • Working closely with the senior engineer, develop and execute software testing strategies, including unit, integration, and system-level testing.
  • Support the development and maintenance of automated test systems for client products.
  • Assist with Diagnostics, debugging, and resolving of software defects using tools such as oscilloscopes and logic analysers.
  • Participate in code reviews and follow established coding standards and quality processes.

Collaboration & Documentation

  • Work closely with supporting engineers to ensure seamless integration of firmware and electronics.
  • Produce clear technical documentation, including specifications, design notes, and test reports.
  • Contribute to project planning and provide technical input to ensure successful delivery of customer solutions.

Requirements

Technical Skills

  • 1+ years' experience developing embedded or real-time systems.
  • Proficiency in C (and C++) in a commercial environment.
  • Working knowledge of Python or Bash for scripting and automation.
  • Experience with 8-, 16-, and 32-bit microcontrollers (e.g., ARM, PIC, MSP, DSP).
  • Familiarity with standard communication buses and protocols (Ethernet, USB, RS232/485, I2C, SPI).
  • Experience integrating wireless technologies (Bluetooth, Wi-Fi, LoRa, NFC).
  • Understanding of electronic schematics and ability to work closely with hardware teams.
  • Experience using oscilloscopes and similar tools for debugging embedded systems.
  • Comfortable working with a variety of development environments, toolchains, and version-control systems.

Professional Attributes

  • Strong problem-solving and debugging skills.
  • Ability to produce clean, maintainable, well-structured code.
  • Good communication skills and ability to work collaboratively in multidisciplinary teams.

Education

  • Honours degree in Electronic Engineering, Computer Science, or a related discipline.

Apply for this position