The Senior Software Engineer typically works with a team of engineers to design and implement hardware, software, and/or embedded firmware for products meeting company objectives. One of the company’s objectives is to be the first to FAA certify the world’s smallest transponder. This accomplishment will be a game changer in the Unmanned Air Vehicle (UAV) world as it is another step toward enabling UAVs and drones in commercial airspace. This engineer participates in initial product conception, formulation of functional and performance requirements, software/hardware integration, and testing. Development approaches include rapid prototyping, Agile, conventional “waterfall” development and hybrids of development methodology. This engineer is expected to conduct development in accordance with company and engineering quality, configuration management, and life-cycle processes.T
- Works across disciplines with system engineers, electrical engineers, logic design engineers, project managers, and marketing to assist in system design and allocation of requirements between hardware and software.
- Analyzes software requirements to determine feasibility of design within schedule and budget constraints
- Works in accordance with Sagetech and Engineering Group processes and standards; e.g., Software Quality Assurance and Configuration Management.
- Rapidly prototype software for evaluating algorithms and overall software design.
- Develop and document requirements from written high-level specifications to support modeling & design, coding, and test.
- Design and implement software of embedded devices and systems from requirements to production and deployment.
- Design, develop, code, test and debug system software.
- Develop test plans and write test cases to verify correct software operation.
- Review code and design.
- Analyze and enhance efficiency, stability and scalability of system resources.
- As a senior engineer, develop and supervise software system programming, testing & validation procedures, and documentation.
- As a senior engineer, coordinate software system installation and monitor equipment functioning to ensure specifications are met.
- Present work periodically to stakeholders: Engineering Management; other Sagetech managers/executives; customer representatives; and regulatory authorities.
- Bachelor's degree in Electrical Engineering or Computer Science, or equivalent education; Master's degree highly desirable.
- 5+ years' experience in coding C/C++ in an embedded environment; experience with assembly language desirable.
- Experience with low-level and mixed signal processor operations; timers, clock distribution, serial communication (SPI/I2C/UART), edge-triggered interrupt, ADCs, interrupts, etc.
- Able to read schematics and component data sheets.
- Experience estimating and scheduling software engineering tasks.
- Experience in a structured engineering environment with software life-cycle processes (e.g., RTCA/DO-178B), especially as it related to the FAA TSO process.
- Excellent oral and written communication skills..
- Must be able to work independently and as a good team member.
- Experience using Linux as a development platform is desirable.
Sagetech is an Equal Opportunity Employer