To help lead our client's product development you should have a solid understanding of software design, development, testing, and optimisation. You should be comfortable working with a variety of operating systems and have experience working with embedded systems or low powered/resource constrained computing platforms. Having a background in wireless/RF systems with experience in GNU Radio and Software Defined Radios would also be a huge plus.
The Lead Engineer plans, organises and directs engineering to meet company objectives for design, new product development and improvement of existing product lines by performing the following duties personally or through subordinates. You will have people such as the Senior Engineer and Engineer reporting to you.
- Work with our SDR platform team (software, FPGA, and RF engineers) to define, design, and prove out RF ideas and innovations for our RF projects
- Selects, develops, trains and supervises staff.
- Develops, determines and implements policies, procedures and programs.
- Oversees key projects, processes and performance reports, data and analysis.
- Help design, test, and research various algorithms and novel approaches to detecting signals using cognitive radio concepts
- Develop example applications in Python and C/C++ to demonstrate features and functionality for our projects running on GNU SDR’s
- Help create research reports and documentation
- Plans and formulates aspects of research and development proposals such as objective or purpose of project, applications that can be used from findings, costs of project, and equipment and human resource requirements.
- Plans documentation system.
- Selects correct design concepts and fundamental technology used for new products or improvement for existing ones.
- Reviews and analyses proposals submitted to determine if benefits derived and possible applications justify expenditures.
- Approves and submits proposals considered feasible to management for consideration and allocation of funds or allocates funds from the department budget.
- Develops and implements methods and procedures for monitoring projects such as preparation of records of expenditures and research findings, progress reports, and staff conferences to inform management of current status of each project.
- Working with the manufacturing, operations and quality manager, reviews and monitors quality and process improvements and new product development.
- Directs the review of production costs and product quality.
- Reviews operations and plans to meet requirements for sales planning and to ascertain engineering requirements to develop new markets.
- Recommends budgets to management, including staff use, technology, facility and equipment requirements or improvements.
- Negotiates contracts with consulting firms to perform research or other applicable studies or support.
- Directs appropriate support for manufacturing and quality functions within the organisation.
Skills & Experience
- Excellent verbal and writing communication skills
- Very strong background with C/C++
- Strong Python experience
- Experience developing multi-threaded Linux applications for both PC-based (x86) as well as embedded (ARM) systems
- Understanding of the Linux kernel and kernel-space device driver development
- Understanding of how hardware and software interface together in real world systems (via interfaces such as PCIe, Ethernet, SPI, I2C, and UARTs)
- Experience with version control (preferably git)
- Ability to work independently performing with minimal oversite
- Ability to lead small technical teams
- Experience with wireless communications systems especially in the ISM Band
- Strong understanding of signal analysis
- Strong understanding of machine learning and inference
- Understanding of FPGA architecture and interfaces
- Experience with GNU Radio or other signal processing framework a big plus
- User-space and device driver development for Linux
- Capability and willingness to tackle technical development tasks outside their domain of expertise
- Project Management
- Problem Solving/Analysis
- Technical Capacity
- Communication Proficiency
Education and Experience:
- BS (MS preferred) in Electrical/Computer Engineering or Computer Science, or related field (exceptions will be made for individuals with equivalent work experience)
- 7 or more years experience managing technical teams (10 or more years experience in managing product development teams preferred)