Knightwerx is looking for a highly skilled and experienced Embedded Software Engineer to work on the development of a small unmanned electric aircraft. We operate in a fast-paced development environment that balances innovation and ingenuity with practicality and reliability. You’ll be working and supported by a team of strong engineers and subject matter experts to develop an aircraft from the ground up and be involved in every step of the process.
Work Experience
Bachelor's or higher degree in relevant engineering discipline
4+ years industry experience developing software for embedded systems, handheld device UI/UX design
Top to bottom, start to finish development of embedded systems software
Cross-discipline, hands-on experience with handheld devices.
Familiarity with design, development, and testing of mid to high level application and user interface software.
Experience optimizing applications and profiling throughout the stack
Attributes
Innovative, hands-on, and practical
Multi-disciplined, problem solver, driven by engineering analysis
Goal driven, learns from mistakes, and closes the loop on the design process
Understands trades of scope for effort
Communicates well through discussion and documentation
Works well with others to develop plans and solve problems
Primary Duties
Serve as an individual contributor for carrying out software development in C, C++ or other selected languages for new applications, tools, or infrastructure
Works with lead software engineer to understand software requirements and functionalities and implement solutions.
Decomposes functional requirements into well-defined tasks
Participates in project/program planning, including providing technical input to product development plans and concept documents
Estimates level of effort, evaluates new options of similar technology, offers suggestions to improve processes, and responds to infrastructure outages
Work and collaborate in a multi-disciplinary environment
Set up software projects in an IDE and automating/streamlining building, debugging
Tasks
Develops application layer and UI/UX software for a handheld device.
Develop system test software and procedures for maintaining consistent device operation.
Assists in optimizing application layer dataflow, timing.
Identifies bugs and areas of improvement for cleaner, more consistent and better operating code.
Assists in development of drivers for peripherals and component interfaces.
Skills
Proficiency in a systems software language - in C, C++, Ada, Rust, etc.
Debug software through simulation and hardware debugging.
Experience with common robotics communication protocols including CAN, RS-485, I2C, SPI.
Demonstrated ability to debug complex systems through root cause analysis.
Use and implementation of object oriented programming.
Requirements
Must have US citizenship
On-site, collaborative work environment
About Knightwerx
Knightwerx is a start-up company that was born to be game changing. From its inception, Knightwerx has focused on solving real world, mission critical problems for the government and civilian sectors. Our approach is to seek top experts for every position who are not only willing to make a lasting impact but to drive innovation and enhance the company’s direction. As such, we are not business leaders who build drones or drone builders running a business. We are both.