Software Communication Engineer
Notre Dame, IN
Job posting number: #7062229
Posted: November 7, 2019
Application Deadline: Open Until Filled
Job DescriptionJob Description
This position is for a junior or senior developer of embedded, linux, and network software for faculty and student-led projects in the general area of wireless networking. The position requires the ability and willingness to work with electrical engineering and computer science faculty and students, especially having a background in communications technologies, such as spectrum sensing, wireless networking, and wireless communication. The emphasis is on using a combination of embedded hardware platforms and software defined radios such as the RTL-SDR and/or the Ettus X310 systems. The position will have a focus on networking and control – for example, wireless communication and control of unmanned autonomous vehicles (drones).
Knowledge of Python, C, Matlab, and higher-layer languages is required. Basic data reduction and visualization experience is a plus. Knowledge of the Linux computing environment is essential, and various interfaces such as GPIO’s, SPI, I2C is a plus. Familiarity of the Arduino, Raspberry Pi, and Beaglebone systems is a plus. Depending on funding sources, the position could involve real-time signal processing with FPGA implementation of algorithms.
Other supporting activities include participation at meetings with graduate and undergraduate students, and the support of undergraduate classes involving technologies mentioned above. A key mentoring aspect of the position includes maintaining a disciplined software development environment for students to learn from and work in, thereby teaching students software archiving, repository, and disciplined programming techniques, such as the use of “branching” in the development of code. Archiving the work of students as they leave a project, and bringing new students quickly up to speed as they enter a project, helps maintain continuity of various projects as students come and go.
Two-year term may be extended subject to availability of funds.
Education: Master’s degree or Bachelor’s degree (5 years) or advanced certification beyond Bachelor’s.
Experience: 3 to 4 years.
Experience/Skills Required: Software for instrumentation, Python, Matlab, C, Linux. Knowledge of software-defined radios, performance evaluation and systems integration. Experience with Raspberry Pi, Arduino, Beaglebone platforms; FPGA programming a plus but not necessary; data visualization, web programming, Internet-of-things experience (MQTT) a plus.