Information Trust Institute block of abstract images
Information Trust Institute block of abstract images

(Senior) Research Programmer

Interested in cutting edge research that contributes to making the world a safer place? Do you want to innovate and implement game changing solutions? If so, consider joining the Information Trust Institute (ITI) to push the envelope of research into securing the nation’s critical infrastructure and advancing the state of science in computer security.  ITI executes innovative projects that are funded by both industry and government, so that applicants have a range of potential projects with which they can match their experience to and provide the most impact.  ITI has a proven track record of national and international leadership combining research and education with industrial outreach in trustworthy and secure information systems.

 

The Information Trust Institute (ITI) has openings available for Research Programmers and Senior Research Programmers. As a Research Programmer you will be part of our advanced development teams that will provide programming support for research activities and focus on implementing research, facilitating research environments, and developing cutting edge solutions to advance the state of the art.

 

As a Senior Research Programmer you will provide leadership and ideas for software and system design, research programming, integration, maintenance, and support a variety of projects that focus on guiding and implementing research environments, and developing cutting edge solutions to advance the state of the art.

 

Research Programmer Duties

 

  • Support development and testing efforts of software to facilitate research in information trust, resiliency, and security.
  • Assist in the design and development of new software.
  • Produce documentation, project reports, and other written material related to software development efforts.
  • Work with students, faculty, and staff in identification of new features for the developed software.
  • Aid in delivering resilient, secure, scalable infrastructure to support research.
  • Assume additional project related duties to further the mission of the institute.

 

MINIMUM REQUIREMENTS & QUALIFICATIONS (Education, Experience, Training, Knowledge):

  • Bachelor’s degree in computer science or computer engineering or a related scientific field.
  • Experience with application and scripting development in Python, C/C++, Go, Powershell or similar development languages.
  • Experience working effectively in a team environment in addition to working in a self-directed, proactive, and creative manner.
  • Excellent oral and written communication skills.

 

PREFERRED REQUIREMENTS & QUALIFICATIONS (Education, Experience, Training, Knowledge):

  • Networking, and system programming.
  • Experience with DevOps related tasks (e.g., puppet)
  • Virtualization and containerization environment experience (e.g., docker, VMWare).
  • Experience with Windows and Linux environments, in particular with a system administration point of view.
  • Experience with data analytics, fusion, and generation in the form of both cyber data (e.g., packet traces, logs) and physical data (e.g., voltage and current measurements, breaker status).
  • Understanding of cyber security principles and their operational use (e.g., IDS/IPS, encryption)
  • Experience with reverse engineering, malware, and exploit development to aid in research injection techniques
  • Experience with Git, RESTful APIs, etc.
  • Experience with modern web development frameworks (e.g., AngularJS)
  • Experience with project management and time management.

 

Senior Research Programmer Duties

  • Architect and operationalize the delivery of a resilient, secure, scalable infrastructure to support research.
  • Provide leadership and coordinate all aspects of software and system design, integration and maintenance.
  • Interact with outside sponsors and others to create and develop technical requirements.
  • Assume the primary responsibility in a team of programmers for transforming technical requirements into an overall software system design, implementation, testing, deployment, and documentation by that team.
  • Direct and facilitate team building to accomplish overall objectives.
  • Present technical designs at meetings with project sponsors and others.
  • Mentor and advance junior programmers in the skills required for research programming by advising and providing feedback.
  • Assume additional programming related duties to further the mission of the institute.

 

MINIMUM REQUIREMENTS & QUALIFICATIONS (Education, Experience, Training, Knowledge):

  • Bachelor’s degree in computer science or computer engineering or a related scientific field.
  • Minimum of 5 years’ experience of prior applied software development work experience (e.g., C/C++, Python, Go, Powershell).
  • Experience in technical project leadership and team building.
  • Excellent oral and written communication skills.

 

PREFERRED REQUIREMENTS & QUALIFICATIONS (Education, Experience, Training, Knowledge):

  • Master's degree or PhD degree in computer science, computer engineering, or a related field.
  • Experience with advanced instrumentation and automation frameworks
  • Ability to conduct reverse engineering of hardware components, software applications, operating systems, network protocols and mobile platforms to determine functionality, design, and program flow.
  • Ability to analyze network communications, develop parsers, investigate covert channels, and aid in the redirection of mal-intended applications to suite research purposes.
  • Experience with Git, RESTful APIs, etc.
  • Experience with modern web development frameworks (e.g., AngularJS).
  • Experience with project management and time management.
  • Networking, and system programming.
  • Virtualization and containerization environment experience (e.g., docker, VMWare).
  • Extensive experience with Windows and Linux environments, in particular with a system administration point of view.
  • Advanced experience with co-simulation and physical equipment.
  • Experience with data analytics, fusion, and generation in the form of both cyber data (e.g., packet traces, logs) and physical data (e.g., voltage and current measurements, breaker status).
  • Advanced understanding and application of cyber security principles.

 

These are both full-time, benefits-eligible academic professional positions, appointed on a 12-month basis. The expected start date is as soon as possible after the closing date. Applicants may be interviewed before the full consideration date; however, no hiring decision will be made until after that date. Salary will be commensurate with qualifications and experience.

 

To apply for these positions, please create your candidate profile at http://jobs.illinois.edu and upload your cover letter; resume; and the names/contact information of three professional references by September 27, 2017. Full consideration will be given to complete applications received by this date.

 

For further information regarding this position, please contact Sarah Musselman at 217-244-1056 or slmusselatillinois [dot] edu.%C2%A0%C2%A0" style="color: rgb(0, 51, 153); text-decoration: none;">slmusselatillinois [dot] edu.  

 

The University of Illinois conducts criminal background checks on all job candidates upon acceptance of a contingent offer.