Senior Embedded Software Engineer
MultiTech · Mounds View, MN · 3 mo ago
EngineeringFull-time
ESSENTIAL DUTIES AND RESPONSIBILITIES
- Lead and perform the design, implementation, and maintenance of software for embedded systems in line with defined software architectures, ensuring that it meets performance, reliability, and efficiency requirements.
- Collaborate with hardware engineers to integrate software with the embedded hardware, ensuring proper functionality and optimization to meet organizational, customer and industry needs.
- Develop software for real-time and resource-constrained environments, where timing and efficiency are critical.
- Write code at the hardware level (Bare Metal), OS, or RTOS, including device drivers and firmware, to control and communicate with hardware components.
- Utilize real-time operating systems or develop your own scheduling mechanisms to manage tasks and resources in embedded systems.
- Identify and resolve software issues, optimize code, and conduct thorough testing to ensure reliable and error-free operation.
- Maintain clear and comprehensive documentation of software design, development, and testing processes.
- Collaborate with cross-functional teams, including hardware engineers, product managers and quality assurance teams regarding product definition, scheduling, production testing, marketing information, technical literature, manuals, customer problems, etc.
- Oversee and assure the effective and efficient completion of required steps in the product design and development cycle.
- Ensure that the embedded software adheres to industry standards, safety regulations, and security best practices.
- Continuously improve software performance, memory utilization, and power efficiency for embedded systems.
- Improve operations by conducting systems analysis and recommending changes in policies and procedures.
- Perform other duties as assigned.