Senior Software Engineer
Modern Technology Solutions, Inc. (MTSI) · Huntsville, AL · 2 wk ago
EngineeringTemporary
About the role
We are seeking an experienced Senior Software Engineer with a strong background in algorithm design, optimization, and implementation using C++, Fortran, 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.
Requirements
US citizenship and an active security clearance are 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.