Daintta are a rapidly growing, values-driven team of specialists who work with government clients across Cyber Security, National Security, Law Enforcement and Telecommunications. We are seeking a talented and motivated Embedded Software Engineer to join our team and contribute to our mission of protecting the UK through data-driven insights and solutions. As an Embedded Software Engineer, you will work closely with our public sector clients and project teams to design, develop, and implement embedded software solutions that meet our clients' requirements.
Key Responsibilities
- Design, develop, and implement high-quality embedded software solutions using industry best practices and coding standards
- Develop clean, efficient, and well documented code, ensuring code quality through testing, debugging, and code reviews
- Stay up to date with the latest trends, tools, and technologies in embedded software engineering and share your knowledge with the team
- Collaborate with cross-functional teams and clients to gather project requirements, analyse feasibility, provide technical recommendations, and contribute to project planning
- Collaborate with project managers to ensure successful project delivery within the defined timelines and budget
- Accurately deliver high quality work to agreed timelines and requirements, including taking the initiative on the most complex problems in a project
- Supporting client engagements, including pitches and presentations
- Helping to support & grow Daintta by actively inputting into the company strategy and helping to shape our future
- Representing us and our core values: Transparent, Fair and Daring
Skills / Knowledge
Essential
The role requires the following key skills / knowledge, non-exhaustively:
- Bachelor's degree in computer science, software engineering, electronic and electrical engineering or related field
- Professional experience as an embedded software engineer, preferably in a consultancy or industry setting
- Proven experience developing firmware or low-level drivers in resource-constrained environments.
- Expertise of system programming languages (C, C++, Rust, Ada) and experience managing memory allocation, threading, and real-time constraints.
- Strong background in Unix/Linux operating systems, including kernel interaction or usage of RTOS
- Hands-on experience with build systems (CMake, Bazel) and testing frameworks (e.g. Google Test).
- Practical knowledge of modern software development methodologies (Agile, Scrum) and applying iterative design principles in conjunction with the client
- Excellent problem-solving and analytical skills, with the ability to find innovative solutions to complex technical challenges
- Strong communication, presentation, and interpersonal skills to effectively interact with clients and team members
#J-18808-Ljbffr