Software Engineer
Siemens Plc
UK
1 day ago
- Discuss this with your agent
- Open in Claude
- Open in ChatGPT
Apply on www.adzuna.co.uk
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Role details
Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Compensation
£53,471.0
Working hours
Regular working hours
Job source
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
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Good distractions
Loading talks and stories from around this role…