Job Summary (List Format):
- Design and develop software applications and systems to meet business requirements.
- Write clean, efficient, and well-documented code using C++ (14/17); conduct thorough testing to ensure software quality.
- Identify, troubleshoot, and resolve software defects and technical issues.
- Collaborate with project managers, designers, QA engineers, and other stakeholders to ensure solutions align with business needs.
- Maintain and update existing software applications and systems as required.
- Utilize Linux operating system and various software development tools, version control systems, and debugging environments.
- Apply strong analytical, problem-solving, and troubleshooting skills to all phases of the software development lifecycle.
- Communicate technical concepts clearly both verbally and in writing.
- Work independently and contribute effectively within a team environment.
- Follow software development lifecycle processes and engineering best practices.
- Hold a Bachelor's degree in Computer Science, Computer Engineering, Software Engineering, Electrical Engineering, or related technical field.
- Have 5+ years of experience developing software for embedded systems (or equivalent combination of education and experience).