We are seeking an experienced Senior Software Engineer with a strong background in algorithm design, optimization, and implementation using C++, FORTAN, Python, and MATLAB. The ideal candidate excels at solving complex technical challenges, designing efficient software architectures, and working collaboratively within cross-functional engineering teams.
Responsibilities
- Design, develop, and optimize algorithms for complex software systems.
- Implement high‑performance, reliable, and maintainable code using modern standards.
- Analyze system requirements to architect scalable algorithmic solutions.
- Profile and optimize existing algorithms for speed, accuracy, and resource usage.
- Integrate software components written in multiple programming languages, ensuring seamless interoperability and consistent functionality across C++, Python, MATLAB, and legacy codebases.
- Collaborate with systems engineers, domain experts, and other software developers to integrate algorithms into larger applications.
- Write unit tests, participate in code reviews, and ensure code quality across the software lifecycle.
- Document algorithmic approaches, assumptions, and performance metrics.
- Troubleshoot and resolve technical issues in both new and legacy codebases.
Required Qualifications
Note: US citizenship and an Active Security Clearance is required
- Bachelor’s degree in Computer Science, Computer Engineering, Electrical Engineering, Mathematics, or related field.
- 7+ years of professional software engineering experience.
- Strong expertise in modern C++ (including templates, STL, memory management, and object‑oriented design), with additional professional experience in Python, MATLAB, and Fortran.
- Demonstrated experience developing and implementing complex algorithms.
- Skilled in debugging, profiling, performance tuning, and code optimization.
Experience with version control systems such as Git.
- Ability to work independently on technically challenging problems and contribute within a collaborative team setting.
- Strong analytical, mathematical, and problem‑solving skills.
Preferred Qualifications
- Master’s or PhD in a technical field related to algorithms or software engineering.
- Experience with real‑time systems or high‑throughput data processing.
- Knowledge of numerical methods, signal processing, or related algorithmic domains.
- Experience modernizing or integrating legacy Fortran-based algorithms into contemporary software systems.
- Familiarity with CI/CD pipelines, DevSecOps, containerization, or automated testing frameworks.
- Experience with Linux development environments.
#LI-JJ1
Read Full Description