Overview

Overview:

GrammaTech is seeking a Software Engineer in the Research/Reverse Engineering Team to develop new tools and integrate existing tools to advance the state-of-the-art in software reverse engineering and binary analysis. Application areas include: decompilation, firmware analysis and patching, software architecture recovery, and software functionality identification.

Location:  Preference is for this candidate to be located in our office in Ithaca, NY.  Although, management may consider a remote employee when there is a strong match of skills and experience.  (If Remote, must be in USA Only.)

Responsibilities:

  • Execute all phases of the software development lifecycle on existing codebases and new implementations
  • Write and maintain well-designed, documented, testable code and address quality assurance issues
  • Communicate task progress via verbal and written reports to keep stakeholders up to date on project progress
  • Prepare software deliveries for demonstrations, evaluations and customer transitions
  • Support demonstration events and customer installation and usage to ensure a smooth and successful evaluation

Qualifications:

Required

  • Experience working with at least one assembly language (x86, ARM, MIPS, etc.)
  • Advanced software application development skills in C/C++ and Python
  • Ph.D. in computer science – or – BS in computer science or equivalent with 3+ years’ experience

Preferred

  • Experience with reverse engineering tools (e.g. IDA Pro, radare2, binwalk, etc.)
  • Experience with firmware and/or RTOS development, configuration, deployment and/or emulation
  • Experience with fuzzers, at least using and configuring them; experience with AFL especially useful
  • Experience with symbolic execution