Embedded Software Developer at Quarterhill
Berlin, Berlin, Germany -
Full Time


Start Date

Immediate

Expiry Date

23 Nov, 26

Salary

0.0

Posted On

25 Aug, 26

Experience

0 year(s) or above

Remote Job

Yes

Telecommute

Yes

Sponsor Visa

No

Skills

Industry

Information Technology & Services

Description

Contribute to the design and implementation of scalable software and system 

architectures that meet functional, performance, reliability, and maintainability 

requirements.

• Investigate, evaluate, and propose alternative concepts, architectures, designs, 

algorithms, tools, and development processes.

• Assist in preparing system-level and software architecture and design 

documentation.

• Develop, modify, debug, and maintain embedded software based on approved 

requirements and designs.

• Develop and maintain software interfaces using protocols and buses such as CAN, 

UART, SPI, I2C, Ethernet, TCP/IP, USB, GPIO, or similar interfaces.

• Develop and troubleshoot multithreaded, event driven, interrupt driven, and real

time software where applicable.

• Create and maintain supporting development assets, including scripts, build files, 

makefiles, configuration files, deployment tools, and test utilities.

• Support cross compilation, embedded build environments, toolchains, and target 

device deployment.

• Perform software, product, and system verification activities as required.

• Prepare technical documentation and supporting materials for design reviews, code 

reviews, verification activities, and product releases.

• Prepare for and actively participate in software design reviews, architecture reviews, 

and peer code reviews.

• Develop and execute unit, integration, regression, and system-level test procedures.

• Analyze test results, investigate defects, and implement corrective actions.

• Support system integration, troubleshooting, and testing across software and 

hardware components.

• Assist with the preparation and execution of customer, regulatory, or internal 

acceptance testing.

• Prepare software releases, release notes, installation instructions, configuration 

records, and associated technical documentation.

• Assist in developing effort estimates for software design, development, integration, 

verification, and release activities.

• Manage, administer, configure, and deploy local and remote development, test, and 

production systems, including database servers where applicable.

• Follow established software development, configuration management, 

cybersecurity, and quality assurance processes.

• Identify opportunities to improve software quality, development efficiency, test 

coverage, and product performance.

• Take ownership of assigned deliverables and ensure they are completed accurately, 

thoroughly, and to a high standard of quality.  


Qualifications


Bachelor’s degree or diploma in Computer Engineering, Electrical Engineering, 

Computer Science, Software Engineering, or a related technical discipline.

• Experience developing software for embedded systems, real-time systems, or 

hardware-integrated products.

• Proficiency in C and/or C++.

• Experience with embedded operating systems, real-time operating systems, or 

embedded Linux.

• Good understanding of processes, threads, synchronization, concurrency, 

interrupts, timers, and inter process or inter task communication concepts.

• Understanding of software architecture, modular design, data structures, 

algorithms, and software development lifecycle practices.

• Experience working with cross compilers, embedded toolchains, and target 

hardware.

• Experience with source control and configuration management tools such as Git.

• Experience with build systems, makefiles, scripting languages, and automated 

development or test tools.

• Ability to read and interpret technical requirements, system specifications, 

hardware documentation, and interface definitions.

• Experience with software debugging, testing, defect investigation, and root-cause 

analysis.

• Strong written and verbal communication skills.

• Ability to work independently and collaboratively within a multidisciplinary 

engineering team.

Preferred Qualifications

• Experience with microcontrollers, microprocessors, device drivers, board support 

packages, or firmware development.

• Experience with communication interfaces and protocols such as SPI, I2C, UART, 

CAN, Ethernet, TCP/IP, USB, or similar technologies.

• Familiarity with hardware debugging tools such as oscilloscopes, logic analyzers, 

debuggers, and protocol analyzers.

• Experience with continuous integration, automated testing, static analysis, and 

code-quality tools.

• Experience with Python, Bash, or other scripting languages.

• Familiarity with databases, server administration, virtualization, containers, or 

remote deployment environments.

• Familiarity with containers, remote deployment, and Linux systems where these 

technologies are used as part of the embedded development or test environment.

• Experience working within regulated, safety-critical, or high-reliability development 

environments.

Responsibilities
Loading...