<< Back to Search

Research Programmer/Senior Research Programmer - Information Trust Institute (101761)

Job description


Research Programmer and Senior Research Programmer

Information Trust Institute

College of Engineering, University of Illinois at Urbana-Champaign

The Information Trust Institute (ITI) has openings available for Research Programmers and Senior Research Programmers. In these roles, you will be part of our advanced development teams that focus on cyber resiliency in critical infrastructure with a particular focus on cyber range infrastructure. You will be interfacing with equipment that is typically seen in the management and operations of the electric power grid and interfacing that with cutting-edge networking, storage, visualization, and cloud provisioning to replicate the real world in a contained environment. Merging cyber and physical data, dealing with simulations and emulations, automating configuration and management, reverse engineering functionality and capabilities, and developing the ability to virtualize and emulate "black box" systems are just a few examples of exciting challenges to come. The focus of this role is to advance the current capabilities, and to integrate non-traditional assets (Operational Technology - OT) into the research automation framework to represent real world infrastructure with varying fidelity. This is a programming specific role as part of a larger team, where you'll be expected to write code, design and maintain highly automated deployment tools and self-service capabilities that aid in the research mission.

As a Research Programmer, you will provide programming support for research activities at the Information Trust Institute, focusing on implementing research, facilitating research environments, and developing cutting edge solutions to advance the state of art. Senior Research Programmers will lead software and system design, research programming, integration, maintenance, and support for a variety of projects at the Information Trust Institute, focusing on guiding and implementing research, facilitating research environments, and developing cutting edge solutions to advance the state of art. Senior-level candidates will also provide mentorship and leadership for junior staff to aid in the advancement of efficiency and effectiveness of the team.

RESEARCH PROGRAMMER

Specific duties and responsibilities of the Research Programmer include:

  • Research (75%)
  • Support development and testing efforts of software to facilitate research in information trust, resiliency, and security
  • Assist in the design and development of software
  • Aid in delivering resilient, secure, scalable testbed infrastructure to support research
  • Investigate research solutions to address identified research gaps
  • Facilitate research advancement through providing programming support on research efforts
  • Leverage professional expertise to provide support on data analytics and collection of data for experimental results
  • Assume additional programming related duties to further the mission of the institute
  • Administrative (20%)
  • Produce documentation, training, project reports, publications, and other written material related to software development efforts
  • Work with students, faculty, and staff in identification of new features for the developed software
  • Work with stakeholders to determine needs, identify a plan for addressing those needs, and create a plan for implementation
  • Other duties as assigned (5%)


  • Minimum Requirements/Qualifications:

    • Bachelor's degree in computer science, computer engineering or a related scientific field
    • Experience with application and scripting development in Go, Python, C/C++, 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:
    • Experience with networking and system programming
    • 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)
    • Understanding of, and comfort with, both cyber and physical systems. This may include understanding of small electronics wiring, mechanical processes (e.g., relays, PLCs), or electrical test equipment
    • Experience with reverse engineering, malware, and exploit development to aid in research injection techniques
    • Experience with Git, RESTful APIs, etc
    • Web UI development including experience with modern web development frameworks (e.g., AngularJS)
    • Experience with middleware layers such as RabbitMQ, AMQP, and systems such as google protocol buffers
    • Experience with project management and time management
    • Experience working effectively in both a team environment and autonomously in a self-directed and proactive manner
    • Ability to obtain a U.S. national security clearance preferred; an active U.S. national security clearance strongly preferred


    SENIOR RESEARCH PROGRAMMER

    Specific duties and responsibilities of the Senior Research Programmer include:
    • Research (75%)
  • Support development and testing efforts of software to facilitate research in information trust, resiliency, and security
  • 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
  • Lead the design and development of software
  • Lead activities to deliver resilient, secure, scalable testbed infrastructure to support research
  • Lead investigation of research problems and solutions to address identified research gaps
  • Lead research advancement through providing programming support on research efforts
  • Leverage professional expertise to provide support on data analytics and collection of data for experimental results
  • Assume additional programming related duties to further the mission of the institute
    • Administrative (20%)
    • Mentor junior staff in development practices and research methodologies
    • Direct and facilitate team building to accomplish overall objectives
    • Facilitate growth in efficiency and effectiveness of the team through advancement of full team skillsets
    • Produce and review documentation, training, project reports, publications, and other written material related to software development efforts
    • Work with students, faculty, and staff in identification of new features for the developed software
    • Work with stakeholders to determine needs, identify a plan for addressing those needs, and create a plan for implementation
  • Other duties as assigned (5%)


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


    Preferred Requirements/Qualifications
    • Master's degree (or higher) in computer science, computer engineering, or a related field
    • Ability to obtain a U.S. national security clearance preferred; an active U.S. national security clearance strongly preferred
    • Experience with networking and system programming
    • 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)
    • Understanding of, and comfort with, both cyber and physical systems. This may include understanding of small electronics wiring, mechanical processes (e.g., relays, PLCs), or electrical test equipment
    • Experience with reverse engineering, malware, and exploit development to aid in research injection techniques
    • Experience with Git, RESTful APIs, etc
    • Web UI development including experience with modern web development frameworks (e.g., AngularJS)
    • Experience with middleware layers such as RabbitMQ, AMQP, and systems such as google protocol buffers
    • Experience with project management and time management
    • Experience working effectively in both a team environment and autonomously in a self-directed and proactive manner
    • Experience with advanced instrumentation and automation frameworks
    • Advanced experience with co-simulation and physical equipment, 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)
    • 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
    • Advanced understanding and application of cyber security principles


    These are 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 12, 2018. 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 [email protected].

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

    The University of Illinois is an Equal Opportunity, Affirmative Action employer. Minorities, women, veterans and individuals with disabilities are encouraged to apply. For more information, visit http://go.illinois.edu/EEO. To learn more about the University's commitment to diversity, please visit http://www.inclusiveillinois.illinois.edu

    College Name or Administrative Unit: Engineering
    Category: 6-Research
    Title: Research Programmer/Senior Research Programmer - Information Trust Institute (101761)
    Open Date: 08/29/2018
    Organization Name: Information Trust Institute

    PI105188234

     

     

     

    Diversity Profile: University

     

    Learn more on Inside Higher Ed's College Page for University

    Arrow pointing right
    Job No:
    Posted: 10/29/2018
    Application Due: 12/28/2018
    Work Type:
    Salary: