Senior Software Engineer
Job posting number: #7067730
Posted: July 13, 2020
Application Deadline: Open Until Filled
Job DescriptionPosition Summary
As a member of the Rice Wireless team at Rice University in Houston, TX, the senior software engineer will be responsible for system software development for our wireless projects, especially the RENEW project (renew-wireless.org).
The ideal candidate will work very closely with faculty, the project lead engineer, and industry collaborators to architect open-source software targeting next generation wireless systems.
Applicants must be able to understand high-level engineering requirements, research and propose solutions, and be able to execute on those solutions for the purpose of supporting scientific research efforts.
We are seeking candidates who have demonstrated ability to lead and/or work collaboratively in teams comprised of individuals of diverse backgrounds, skills, and perspectives.
We seek greater representation of women, minorities, people with disabilities, and veterans in disciplines in which they have historically been underrepresented; to attract international students from a wider range of countries and backgrounds; to accelerate progress in building a faculty and staff who are diverse in background and thought; and we support an inclusive environment that fosters interaction and understanding within our diverse community.
The George R. Brown School of Engineering ranks among the top 20 of undergraduate engineering programs (US News & World Report) and is strongly committed to nurturing the aspirations of faculty, staff and students in an inclusive environment.
Rice University is an Equal Opportunity Employer with commitment to diversity at all levels and considers for employment qualified applicants without regard to race, color, religion, age, sex, sexual orientation, gender identity, national or ethnic origin, genetic information, disability, or protected veteran status.
Education Required Bachelor's Degree
Computer science, computer engineering, electrical engineering, or a related field.
Substitution for Education Requirement May substitute additional related experience, above and beyond what is required, on an equivalent year for year basis in lieu of the education requirement.
MS or PhD in computer science or electrical engineering.
Experience Required 5 years
Type of Experience
- Experience in developing software systems, especially that involves network stack and distributed systems
- Experience in working with and managing large codebase
- Experience with the latest software, languages, and design standards
Substitution for Experience Requirement May substitute additional related education, above and beyond what is required, on an equivalent year for year basis in lieu of the experience requirement.
- More than one year of experience in wireless stack development
- More than one year of experience in performance measurement and optimization of highly data and task parallel workloads
- Expertise in designing, developing, testing, and deploying applications
- Proficiency with application design and data modeling
- Ability to define and solve logical problems for highly technical applications
- Strong communication skills with both technical and non-technical clients
- Ability to lead activities on structured team development projects
- Ability to select, adapt, and effectively use a variety of programming methods
- Knowledge of application domain
- Demonstrable expertise in C/C++
- Experience in Linux systems and programming in Linux environment
- Strong mastery of command-line scripting and familiarity with Linux’s command-line tools
- Deep knowledge of software engineering design principles – project life cycle, source control (SVN), etc.
- Knowledge of Python and ability to develop test scripts and high-level applications for debug and visualization of low-level software
- Ability to program and script across multiple platforms and languages
- Familiarity with x86 architectures
- Familiarity with programming FPGAs
- Ability to select, adapt, and effectively use a variety of programming methods and frameworks
Internal / External Contacts
Internal Contacts: The incumbent has daily contact with Rice faculty, staff, and graduate students.
External Contacts: The incumbent has occasional contact with contributors to the large, open-source C++ code base and external contractors.