Research Software Engineer (Multiple Openings) - remote

Posted 3 years ago

Overview:

Are you ready to be challenged, right from the interview process? Are you looking to work with a highly intelligent but humble team? Do you want to work on cutting-edge cyber security problems and have the background to do it? Well then, this role may be for you.

GrammaTech is looking for a number of software engineers at varying levels of experience to perform advanced software development. Build new components and extend existing tooling to meet project needs. Implement both exploratory research prototypes and high-quality products. Possess significant experience contributing to large projects, developing software, with focus on C++ and Python.

Location: Our R&D center is in Ithaca, NY, but we will consider remote employees with a strong match of skills and experience.

Responsibilities:

A research-oriented software engineer is expected to:

  • Study and implement approaches drawn from academic literature or in-house design
  • Evaluate the resulting prototype implementation to test its value in addressing the research goals
  • Report results to the PI and respond by adapting the prototype to better address research goals
  • Contribute to presentations and written reports to keep research sponsors up to date on project progress
  • Prepare prototypes for demonstrations and evaluations by research sponsors
  • Transition prototypes into deployable products

Qualifications:

Required

  • BS in Computer Science or equivalent with a minimum of 3+ years demonstrated experience working in software development in C++ and Python. Knowledge of other languages is a plus.
  • Experience in development activities on large code bases with software designed, built, and tested from scratch;familiarity with common software architectures and design patterns
  • Experience with modern software -development life cycle practices including effectively using revision control systems (git), continuous integration and deployment (CI/CD), container and orchestration technology (docker, Kubernetes, etc.)
  • Knowledge of fundamentals of software security and bug/vulnerability finding

Preferred:

  • MS or PhD in computer science or closely related field
  • Knowledge of machine code, such as x86, ARM, or MIPS
  • Background in static analysis for binaries and/or source code
  • Experience with fuzzing or symbolic execution
  • Experience with vulnerability research/demonstration or penetration testing (e.g., Metasploit)
  • Compiler design, compiler front-end integration, C/C++ parsers
  • Dynamic analysis, program instrumentation, and profiling
  • System-administration experience, especially related to security
  • Malware-analysis techniques
  • Experience in using Machine Learning Frameworks like scikit-learn, TensorFlow, Keras, etc.

GrammaTech, Inc. is an Equal Opportunity/Disability/Veterans/Affirmative Action employer.
Members of underrepresented groups are encouraged to apply.