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
£ 40KJob 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.