- Location
- Huntsville, AL,US, US
- Type
- Full-time
- Department
- Engineering
- Seniority
- Senior
- Education
- PhD
- Clearance
- Required
- Source
- Eightfold
Description
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. Note: US citizenship and an Active Security Clearance is required Bachelor's degree in Computer Science, Computer Engineering, Electrical Engineering, Mathematics, or related field. Strong expertise in modern C++ (including templates, STL, memory management, and object‑oriented design), with additional professional experience in Python, MATLAB, and Fortran. 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. 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. LI-JJ1