Software Engineer

Siemens Plc
UK
1 day ago
Apply on www.adzuna.co.uk
Prepare application

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Compensation
£53,471.0
Working hours
Regular working hours

Tech stack

Clean Code Principles Build Automation Unit Testing Bash Shell C++ (Programming Language) Cloud Computing CMake Software Quality Code Review Communications Protocols Computer Programming Continuous Integration
+19 more
Software Design Patterns Linux DevOps Device Drivers Memory Management Github Revision Control Systems Python (Programming Language) Real-Time Operating Systems Software Engineering Universal Asynchronous Receiver/Transmitter Scripting Serial Peripheral Interface Gitlab Git Integration Tests Build Tools Software Performance Programming Languages

Job description

  • Write high-quality code in programming languages such as C++, and optionally C
  • Optimize software performance and memory usage to meet exacting resource constraints of embedded systems.
  • Build automation scripts using scripting languages such as python.
  • Write unit tests, module tests, and integration tests and boost coverage.
  • Collaborate with electronics engineers and product managers, to ensure successful integration of software components into the overall system.
  • Participate in code reviews to maintain code quality, identify potential issues, and provide constructive feedback to team members.
  • Participate in end-to-end product design and development meetings. Collaborate with electronics, mechanical, software, and project management teams for optimum design cycles.

Requirements

  • Bachelor’s or master’s degree in electrical engineering, or a related field.
  • Experience in cross-platform software development, preferable also targeting embedded systems.
  • Strong programming skills in at least C++17 and optionally C, with a good understanding of software design patterns.
  • Experience in platform-agnostic software development deployable to multiple architectures, like arm-noneeabi, and x86_64 targets like windows, Linux
  • Experience with a scripting language like python or bash.
  • Experience with build tools like Make, CMake.
  • Experience with version control tools like git
  • Experience with dev-ops, CI/CD through GitLab, Github, etc.
  • Experience with GNU coreutils and Linux.
  • Familiarity with testing framework like gtest.
  • Familiarity with real-time operating systems (RTOS).
  • Familiarity with hardware-software interactions, device drivers, and communication protocols (e.g., UART, SPI, I2C).
  • Familiarity with full-stack development, including modern web, smartphone and cloud technologies.

Apply for this position

This job is hosted externally. Click below to view the full posting and apply.

Apply on www.adzuna.co.uk
Prepare application

Good distractions

Loading talks and stories from around this role…