As a Software Engineer in this role, you will:
- Design, Develop & Debug Software:
- Develop embedded Windows applications using Python and C/C++.
- Debug mixed language programs and optimize software performance.
- Requirements documentation
- Update incomplete or ambiguous requirements.
- Work with the various stakeholders to collect the missing information and complete the requirements documentation.
- System Integration:
- Integrate scientific equipment into broader systems and ensure functionality.
- Testing & Data Analysis:
- Conduct tests, analyze data to identify trends, resolve issues, and verify solutions.
- Multi-Core & Threading Techniques:
- Implement multi-core, threading, and process techniques in software development.
- Scrum Participation & Requirement Handling:
- Actively engage in Scrum processes and handle ambiguous project requirements efficiently.
- Lab Equipment Operation:
- Utilize lab equipment like Oscilloscopes, DMMs, and Logic Analyzers for testing and debugging purposes.
What we do matters! Be a part of the team that is powering engineering solutions that drive technology.
Required Skills:
- Bachelor’s degree in Computer Science, Engineering, or related field with 3 years of experience
- Proficient in Python and C/C++
- Experience with embedded Windows and Linux application development including experience with RTOS – Real-Time Operating Systems
- Skilled in software debugging
- Ability to debug mixed hardware-software systems
- Understanding of multi-core, thread, and process techniques
- Data analysis proficiency
- Experience in issue resolution and verification during testing
- Capable of integrating science equipment into systems
- Familiarity with Oscilloscope, DMM, and Logic Analyzer
- Comfortable working with Scrum or Agile methodologies
- Able to navigate and work with ambiguous requirements
- Real-time OS with Linux
- Hypervisors (e.g. Wind River or Acontis)
- Skills with writing drivers to hardware.
- Developing applications with tight timing requirements
- Threaded applications
- Excellent communication and interpersonal skills
- Strong problem-solving and critical-thinking abilities
- Proactive and self-motivated with a strong work ethic
- Ability to work collaboratively in a team environment
- Ability to adapt to new technologies and learn quickly
- Must be a US Citizen due to contractual requirements
- Must be willing to be onsite in Minneapolis, MN
Preferred Skills:
- Master’s degree in Computer Science, Engineering, or related field
- Experience with other programming languages (e.g., Java, C#)
- Knowledge of LiDAR and Laser technology
- Experience with optics
- Atmospheric modeling experience
- Knowledge of performance optimization techniques
- Familiarity with mixed language programming
- Experience with higher-level System of Systems integration
- Practical knowledge of other lab test equipment
- Understanding of multi-core, thread, and process techniques
- Certification in Scrum or Agile methodologies
- Experience mentoring or leading junior team members