About the Embedded Software Engineer position
We are looking for an Embedded Software Engineer who will join our Engineering team and help us execute complete embedded software development lifecycle. Your goal will be to create scalable and optimized software systems.
You should have decent experience with IT systems, software development techniques and different programming languages, and maintain relevant knowledge about industry trends and new solutions. We also expect you to be interested in discovering and implementing new features.
Embedded Software Engineer responsibilities are:
Develop and implement software for embedded devices and systems based on requirements to production and commercial deployment
Design, develop, code, test and debug system software
Perform code and design reviews on a regular basis
Estimate efficiency, stability and scalability of system resources, and seek ways to enhance these metrics
Validate new product designs prior to their implementation
Assist QA Engineers to test software performance and functionality
Organize post production support for systems you have delivered
Analyze the hardware related to the systems you are working with, and troubleshoot problems if needed
Find third party and open source software to use in your projects
Embedded Software Engineer requirements are:
2+ years' experience of working in software engineering
Significant experience in embedded systems design with preemptive, multitasking real-time operating systems
Good experience in hands-on development and troubleshooting on embedded targets
Excellent knowledge of OS coding techniques, IP protocols, interfaces and hardware subsystems
Good programming experience in C or C++
Good knowledge software configuration management tools, defect tracking tools, and peer review
Familiarity with reading schematics and data sheets for components
Strong documentation and writing skills
BS degree in Computer Science or Engineering