
Senior Software Engineer
This role is for senior C++ engineers who enjoy working on substantial, real-world systems and improving them over time. You'll work hands-on in a large, mature C++ codebase (Windows / MFC) where performance, determinism, and scientific correctness matter every day.
As a Senior Software Engineer, you will contribute meaningfully to the ongoing modernization and evolution of the KnowItAll platform. You'll take ownership of non-trivial areas of the system, refactor legacy components, and implement new capabilities-working closely with Principal Engineers and domain experts to ensure changes are correct, maintainable, and backward-compatible.
This is a role for engineers who respect legacy software, understand constraints, and enjoy making incremental improvements that add up to lasting value.
What You'll Be Doing
- Working in a large, long-lived C++ codebase with significant domain history
- Owning features or subsystems and seeing them through design, implementation, and maintenance
- Refactoring complex or brittle areas to improve clarity, performance, and reliability
- Applying modern C++ practices where they improve safety and maintainability
- Supporting architectural improvements by helping modularize historically monolithic components
- Collaborating with other engineers and chemistry/spectroscopy domain experts
What You'll Work On
- Performance-sensitive algorithms for spectral search, comparison, and analysis
- Data-heavy workflows involving large binary datasets and in-memory data structures
- Classic Windows application architecture (MFC) integrated with newer technologies
- Targeted modernization efforts that improve testability, extensibility, and long-term maintainability
You'll work alongside senior and principal engineers who care deeply about correctness and will expect thoughtful technical decisions-not rushed solutions.
What We're Looking For
- Strong professional C++ experience, including debugging, refactoring, and performance tuning
- Experience working in large, long-lived codebases (not just greenfield projects)
- Windows development experience; MFC experience is a strong plus
- Solid understanding of memory management, threading, and performance trade-offs
- Comfort improving existing systems incrementally rather than rewriting from scratch
- Typically 6-10 years of professional software development experience
- Clear technical communication and collaborative working style
Nice to Have
- Experience with scientific, engineering, or data-intensive software
- Exposure to modernization efforts (modularization, architectural cleanup, API enablement)
- Familiarity with Agile development environments (e.g., JIRA), pragmatically applied
If you enjoy understanding complex systems, improving them piece by piece, and building software that must be trusted, this Senior Software Engineer role offers a rare and rewarding challenge.