Embedded Software Engineer Employees in this role are responsible for designing, developing, testing and maintaining software applications and products to meet customer needs. This includes the entire software development lifecycle, from architecture design through coding, testing and deployment. Full stack engineers who can develop both user interface and server side components also fall within scope.
Key Responsibilities - Engage with customers to understand use cases, pain points and requirements, advocating for user centric solutions
- Solve complex problems by designing, developing and delivering using various tools, languages, frameworks and methodologies including agile
- Assess requirements and determine the most suitable technology stack, integration method and deployment strategy
- Create high level software architecture designs outlining structure, components and interfaces
- Collaborate with cross functional teams including product owners, designers and architects
- Define and implement software test strategy, guidelines, policies and processes aligned with industry regulations and best practices
- Continuously improve performance and optimize applications, implementing new technologies to maximize development efficiency
- Apply programming practices such as test driven development, continuous integration and continuous delivery
- Support security practices to safeguard user data including encryption and anonymization
- Evaluate and incorporate emerging technologies to deliver solutions, monitoring and participating in new stack layer initiatives
Required Skills - Python, 3+ years developing tests and tools
- Technical requirements authoring, 3+ years using tools such as IBM Doors, DNG, Polarion or Jama
- Embedded software, 5+ years developing in an embedded environment
- C and C++, 3+ years developing software applications
Preferred Skills - Simulink, 3+ years developing applications in Simulink
- Systems engineering, 3+ years using tools such as MagicDraw or authoring system level requirements
- Embedded systems, 3+ years developing for an embedded environment
- Matlab, 3+ years developing applications in Matlab
Required Experience - 5+ years in automotive or aerospace software development
- 3+ years in C and C++
- 3+ years in Python
- 3+ years in specification authoring
Preferred Experience - 3+ years in Matlab, Simulink or Stateflow
- Systems engineering experience
Education Required: Bachelor's degree
Preferred: Master's degree