Back to jobs
M
Senior Software Engineer-Algorithm Developer
Huntsville, AL, USPosted 1 months ago
remote
Job Description
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