Senior Software Engineer for Embedded Applications
Park Controls & Communications
About the role
Job Description • Experience in developing software for automotive, aerospace, or industrial. • Knowledge of hardware interfaces and peripherals like ADCs, DACs, PWM, and communication protocols. • Familiarity with modern embedded frameworks and platforms (Zephyr, Yocto, etc.). • Experience with scripting languages such as Python or shell scripting for automation and testing.
Key Responsibilities • *
Design & Development: • *
Develop embedded software solutions for Embedded Linux with state of the art GUI. • Implement, test, and debug software for embedded systems and applications. • Work on low-level software components, including device drivers, BSPs (Board Support Packages), and firmware. • Work on GLG tool kit based GUI. • Architecture & Optimization: • *
Define software architecture and interfaces for embedded systems. • Optimize system performance in terms of speed, memory usage, and power consumption. • Conduct code reviews to ensure code quality, performance, and adherence to coding standards. • Collaboration: • *
Collaborate with hardware teams to define system requirements and troubleshoot issues related to hardware-software integration. • Participate in cross-functional meetings to define product roadmaps and software features. • Testing & Debugging: • *
Use advanced debugging tools and techniques to troubleshoot hardware-software interaction issues. • Develop unit, integration, and system tests for embedded systems. • Perform simulations and in-system debugging using tools such as JTAG, oscilloscopes, and logic analyzers. • Documentation & Compliance: • *
Prepare comprehensive documentation for system designs, software architecture, and operational workflows. • Ensure software complies with industry standards, safety regulations, and performance metrics. • Mentoring: • *
Provide technical guidance and mentorship to junior engineers and team members. • Innovation: • *
Stay up to date with the latest industry trends and technologies to drive continuous improvement in product development.
Skill & Experience • *
Experience: • *
Minimum of 5-7 years of experience in embedded software development. • Strong expertise in C/C++ for embedded systems. • Experience with any RTOS (Real-Time Operating Systems). • Familiarity with microcontrollers (ARM, PIC, etc.) and embedded processors. • Familiarity with Socket Programming • Good understanding of GLG toolkit for GUI. • Skills: • *
Strong understanding of embedded system architectures and protocols (e.g., UART, SPI, I2C, CAN, Ethernet). • Experience with version control systems (e.g., Git) and build systems (e.g., CMake, Make). • Proficiency with debugging tools (e.g., JTAG, GDB) and hardware debugging techniques. • Knowledge of power management techniques for embedded systems. • Understanding of safety-critical software development (e.g., DO-178C, MIL-498, MISRA guidelines for C programming) is an advantage. • *
Soft Skills: • Strong problem-solving and analytical skills. • Ability to work independently and in a team environment. • Strong attention to detail and a commitment to delivering high-quality software.
Don't send a generic resume
Paste this job description into Mimi and get a resume tailored to exactly what the hiring team is looking for.
Get started free