Senior Software Engineer/Architect

GrammaTech, Inc.
🇺🇸 United States

Overview:

GrammaTech is looking for a Senior SW Engineer/ Architect with advanced software architecture and development skills in a large Python and C/C++ codebase. Build new components and extend existing tooling to meet project needs.  Implement both exploratory research prototypes and high-quality library components and products. Significant experience overseeing development activities on large projects, designing and developing software, focus on Python and C/C++ required.

Responsibilities:

  • Architect and develop software in Python and C/C++ to meet goals of research projects
  • Analyze current software against requirements and negotiate appropriate scope to fit within time and budget constraints
  • Evaluate trade-offs among tools and approaches
  • Support and mentor junior engineers in design, development, testing and prototyping
  • Effectively communicate and develop presentations and demonstrations for peers, management, and customers

Qualifications:

Required Skills:

  • BS in Computer Science or equivalent experience. MS preferred
  • 10+ years experience working in structured systems and/or software development teams, with Python and C/C++
  • Experience overseeing development activities on large code bases (>10 MLOC) as well as developing software from scratch
  • Familiarity with common software architectures, design patterns, and software development life cycle practices
  • Demonstrated experience in a leadership role
  • Excellent communication and presentation skills; demonstrated ability to convey information clearly and concisely 

 Preferred:

  •  Binary Analysis, Source Code Analysis
  • Compiler design, compiler front-end integration
  • Static and/or Dynamic Analysis
  • Reverse-engineering
  • Malware-analysis techniques
  • Knowledge of machine code, especially ARM, x86 or x86-64
  • Dynamic analysis, program instrumentation, and profiling
  • Familiarity with executable file formats, dynamic loaders, and the C/C++ runtime
  • System-administration experience, especially related to security
  • Knowledge of machine code, especially ARM, x86 or x86-64