Senior Software Engineer

ProTech Recruitment Ltd.
2 days ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English
Experience level
Senior

Job location

Tech stack

Agile Methodologies
Computing Platforms
Automation of Tests
Bash
Configuration Management
Linux
Ethernet
Iterative and Incremental Development
Integrated Development Environments
Python
Linux kernel
Software Engineering
TCP/IP
Scripting (Bash/Python/Go/Ruby)
Information Technology
Software Version Control

Job description

You will work as part of a small, focused team responsible for developing and supporting a complex software platform used across multiple hardware products. The role spans the full software development lifecycle-from requirements analysis and system design through implementation, verification, release, documentation, and post-delivery support-within a structured, quality-driven engineering environment.

The position involves development across multiple layers of the software stack, including low-level bootloaders and Linux kernels, hardware interfacing and management services, system-level Linux applications, networking and control protocols, and user-facing interfaces. You will also contribute to maintaining and improving development tooling, CI pipelines, and automated test infrastructure.

Key Responsibilities

Design, develop, and maintain embedded and GNU/Linux-based software for networking and systems products. * Act as a software representative within cross-functional product development teams. * Lead the delivery of new software features from initial concept and requirements through to release. * Create and maintain test specifications and automated test scripts to support development and release activities.

Requirements

Degree in Software Engineering, Computer Science, or a related discipline. * Strong proficiency in C within a GNU/Linux development environment. * Proven experience delivering software across the full development lifecycle. * Familiarity with scripting languages such as Python and Bash. * Experience developing software that uses networking technologies and protocols (e.g., TCP/IP, Ethernet). * Working knowledge of configuration management, version control, and CI/CD tools. * Exposure to Agile or iterative development methodologies.

Apply for this position