Remote Developer & Coding Jobs

Discover top remote jobs for frontend and backend developers—Ruby, React, PHP, Python, and more.

Signup for our free daily newsletter to get notified of new remote developer jobs.

Unsubscribe at anytime. Privacy policy

Posted over 4 years ago


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