Embedded Software Engineer C/C++ - Near Durham
Commutable from Durham, Darlington, Washington, Sunderland, Gateshead, Hartlepool.
Embedded C, Firmware, C/C++, Embedded Software, 8/16/32 bit micros, ARM, OO, UML, Wireless, IoT.
This award winning established innovative company are looking for an experienced Embedded Software Engineer / Software Design Engineer for the specification and development of Embedded Software for the next generation of Electronic Products.
You will work on the design of high efficiency Control Sensors allied to Wireless and the Internet of Things ( IoT ). As an Embedded Software Engineer you will have at least 2 years experience in an Embedded Software environment with good C language skills and C++. You should have a good knowledge of Micro-Controller based Systems, Communication Protocols and ideally come from an R&D background.
As an Embedded C/C++ Software Engineer you will create and launch new software algorithms for new features inside innovative products, participate in the introduction of new communication protocols for wired and wireless technology and create software specifications in alignment with hardware requirements.
The Embedded Software Engineer / Software Design Engineer should have the following Skills and Experience :
• Expertise in Embedded Software Development using C and C++
• Knowledge in Object Oriented Programming
• Minimum of 2 years’ experience in Embedded Software Design
• Knowledge of software architecture & design including UML
• Good knowledge of control techniques & bus systems
• Knowledge of communication technologies & protocols ( eg TCP/IP, 6LowPan, Coap, IPv6, Bluetooth, ZigBee … )
• Understanding of Analogue electronics
• Knowledge of Cortex ARM processors and Microchip products
• Knowledge inside software development tools (e.g. MPLAB X IDE for Microchip PIC18, Atollic TrueStudio v9.3.0 for STM32, GCC Compiler, SEGGER J-Link Plus and ST-Link Drivers, GIT / SourceTree (Repository), Python 3, Unit-Test-Environment, Continuous Integration Environment).
Some of the Tasks for the R&D Embedded Software Design Engineer include :
• Generation of input towards product specifications
• Ability to write memory efficient code and identify minimum processor requirements for a given application
• Generation of software specifications including state diagrams, flow charts, hardware driver documents & interface specifications
• Generation of new control algorithms towards applications
• Design of real-time embedded software modules according to the market requirements and in line with the Technical Specification
• Development of product with focus on software until series production
• Preparation and debugging of prototypes
• Validation of software and hardware.
You will have a strong conceptual mindset with a self-driven, pro-active style of working to achieve results, good interpersonal skills for team working, strong communication skills & ability to interface with Electronics Hardware Design Engineers.
Excellent career opportunities in a stable and highly innovative organisation. Working with a wide variety of interesting technologies, you will develop ground breaking Electronic Sensor products in a very friendly, informal work environment. You will have the opportunity to work on the latest Wireless and Mobile Technologies. The company has a great culture with a commitment to continuous training & development, supported by excellent staff retention.