ESSENTIAL FUNCTIONS• Follow internal software development processes to design software applications in accordance with customer specifications and requirements
• Analyze customer and system requirements to define clear software requirements, ensure traceability, and drive alignment through review and approval processes
• Develop comprehensive software design documentation, facilitating review and approval to ensure alignment and quality
• Identify and advise hardware designers on machine characteristics that impact software system design
• Develop software units by writing clean, efficient, and well-documented code, and participate in code reviews to ensure quality and consistency
• Create and perform unit tests, run code analysis, and deliver reports
• Perform software functional testing
• Collaborate with other software and hardware engineers for software integration, hardware-software integration, and system integration
• Maintain clear and timely communication regarding progress and obstacles, ensuring visibility without the need for prompting
• Debug software during development and in the target runtime environment to ensure reliability and performance
• Troubleshoot and resolve software defects
• Create software releases and provide ongoing technical support to customers
• Stay up to date with the latest advancements in software development technologies
• Conduct meetings with the software team to discuss new project developments and requirements
• Participate in reviewing and providing feedback on requirements, designs, and code releases
• Support internal certification efforts and ensure compliance with relevant quality management standards (e.g., TISAX, ISO/TS 16949, IATF, ASPICE)
• Exercise a high level of confidentiality and discretion in handling sensitive information associated with the position
NON-ESSENTIONAL FUNCTIONS• Provide input/feedback for documentation of new or existing projects
• Perform other related duties as required
SUPERVISION RECEIVED• Supervision is typically received from the Engineering Manager
QUALIFICATIONS- Common requirements
- Bachelor's degree in engineering field (preferred Computer Science, Computer Engineering, or
software related degree) - 5+ Years of experience in software development
- Production software design experience for automotive.
- Strong programming skills in relevant programming languages, e.g., C, Java, Python, C++ etc.
- Understanding of software development methodologies like ASPICE, Agile, Waterfall, and DevOps
- Strong knowledge of data structures and algorithms
- Familiarity with common software design patterns
- Skilled experience with development of software requirements and design
- Experience with version control systems like SVN and Git
- Understanding of testing methodologies and debugging techniques
- Strong technical analysis and documentation skills
- Ability to manage and support multiple activities (strong time management skills)
- Demonstrate ability to work independently and with others
- Proven understanding and experience in developing wireless interfaces, including but not limited to
BLE, Wi-Fi, and other wireless technologies - Strong programming skills in scripting/data processing using one or more programming languages
(Python, MATLAB, etc.)
- LICENSES OR CERTIFICATIONS
- TOOLS AND EQUIPMENT:
- General office equipment including, but not limited to, a computer, telephone, and calculator
WORKING CONDITIONS typically required
FREQUENTLY INCURRED (Up to 25% of time on job)
- Travel with overnight stays
Summary of Benefits and EEO statementAlps Alpine NA, Inc. offers competitive salaries with a great work environment. Our comprehensive employee benefits package includes:
- PPO Health Benefits (medical/dental/vision) Effective on Start Date
- 401(k) Retirement Plan with Company Match
- Opportunity for Annual Bonuses
- Generous PTO and Holiday Schedule
- Flexible Spending Accounts
- Employee Assistance Program
- Employee Product Purchase Discounts
- Wellness Reimbursement Program
- Life, AD&D, Short and Long-Term Disability Insurances