Position: Middle/Senior Embedded Software Developer
Company: Infopulse
Category: C++
Experience required: 3y
English level: upper

Our Customer is one of the most successful solution providers and technology suppliers for communication solutions in industrial automation. More than 300 employees in Germany, Europe, the US, and Asia work professionally and with enjoyment to ensure that our PC cards, gateways, OEM plug-in modules or ASICs are used by leading companies across the globe to communicate between automation devices and controls.

The tasks of the devices department are extremely varied. They range from hardware design to software development, involvement with improving the products right through to training and sales support. This allows for developing your field of responsibility, in line with your personal preferences and abilities, in order to enhance your relevant expertise accordingly through continual learning.

Areas of Responsibility
-You will provide basic functions, for example, booting external flash drives, debugging interfaces, secure booting and programming interfaces for our ARM Cortex-based network controller family netX
-Specification, development, verification and documentation of ROM codes and of the development tools will form part of your key duties
-You will update tools for Windows/Linux development to support your colleagues in the areas of debugging, safe booting and programming flash drives
-You will particularly focus on modularity, recycling and maintainability
-You will apply appropriate continuous integration methods in the development

Qualifications
-At least 4 years of professional experience as an Embedded Software Developer
-Experience with network protocols
-Experience in the programming languages ARM assembler, C/C++, Python and/or Lua
-Experience in the specification and documentation for software programs
-Experience with tools for version management, such as SVN and GIT
-Experience with CI tools, such as Jenkins, Bitbucket and Gitlab
-Experience with debuggers, such as Lauterbach and/or OpenOCD
-Experience in the development of USB/IO drivers for Windows and/or Linux
-Experience with Ethernet protocols at TCP/IP and UDP level
-Upper-Intermediate level of English, both written and spoken
-You are a team player and enjoy creating development tools as part of an agile team of developers