What are the responsibilities and job description for the Senior Embedded Software Engineer position at iSoftTek Solutions Inc?
- Title: SeniorEmbeddedSoftwareEngineer
- Location: EdenPrairieMN
Summary
As a Senior Embedded Software Engineer, you'll design, develop, and test embedded software features for our assistive communication products, spending most of your time doing hands-on development. You will be a significant contributor to, and the owner of, key technical and architectural decisions. You will also contribute to, and champion, the modernization of our software development processes and tools.
Responsibilities
- Perform engineering activities across all stages of the software development life cycle, including technology exploration (Bluetooth, Wi-Fi and RF) requirements management, design, implementation, test, release, and continuation engineering
- Design and build a solution architecture that is scalable across our product portfolio, reducing the cost to develop and maintain solutions
- Work on a variety of hardware and software platforms, from bare metal code on a simple 8051 controller to application-level code on an ARM processor
- Act as the subject matter expert on embedded programming concepts including device driver development, inter-chip communication, real-time operating systems, optimization techniques
- Lead software quality improvements through active participation in peer reviews and the development and maintenance of automated tests
- Contribute to the software roadmap by identifying relevant technologies and recommending strategies to mitigate technical risks in product development
- Translate product requirements into engineering specifications that can be structured, manageable tasks
- Utilize project management tools to track and manage software development progress, prioritize tasks, track issues and facilitate sprint planning
- Coach and mentor team members on software design and development best practices and techniques
Required Qualifications
- Bachelor's degree in Computer Science, Electrical Engineering or related
- 5 years of professional experience developing embedded software products
- Experience writing bare metal drivers for microcontroller device peripherals and for communication protocols such as SPI, I2C, UART, USB, and I2S (audio)
- Experience with a real-time operating system such as FreeRTOS, Zephyr OS, or Linux-based real-time operating systems
- 5 years of electrical circuit experience involving low-level firmware, hardware-software integration, debugging hardware issues
- 5 years of digital signal processing with an emphasis on audio filtering
- 3 years of higher-level languages using C# or Python
- 3 years working with communication technologies
Physical Requirement
This position works the majority of the time on a computer or in the lab. This position utilizes an oscilloscope, logic and protocol emulators/analyzers, power supplies, multi-meters, waveform generators and other related gear, and requires good visual skills. This position may also require the ability to lift and carry up to 40lbs.