Senior Software Engineer (Scientific Applications)

Senior Software Engineer (Scientific Applications)

Location: Flexible – Remote
Employment Type: Contract-to-Hire
Citizenship: U.S. Citizenship Required

About the Opportunity

We're partnering with an innovative technology company developing advanced software platforms that transform complex scientific and computational models into intuitive, customer-facing applications.

This is an opportunity to join a small, highly technical team building next-generation analytics software used in demanding commercial and government environments. You'll work at the intersection of scientific computing, backend engineering, cloud infrastructure, and modern application development, helping bring research-grade algorithms into production-ready software.

The Role

As a Senior Software Engineer, you'll take ownership of designing and developing scalable applications that integrate sophisticated mathematical and scientific frameworks with modern web technologies.

Working closely with technical experts, you'll help shape platform architecture, improve engineering processes, and deliver robust software capable of running in both cloud-hosted and locally deployed environments.

This role is ideal for someone who enjoys solving technically challenging problems and thrives in a fast-moving, collaborative engineering environment.

Responsibilities

  • Design, develop, and maintain customer-facing software built around advanced computational models.
  • Build scalable backend services and APIs supporting complex analytics.
  • Develop cloud-hosted and containerized applications alongside local deployment solutions.
  • Collaborate with scientists and engineers to productionize research software.
  • Lead architectural decisions and contribute to platform evolution.
  • Implement CI/CD pipelines, testing strategies, and development best practices.
  • Troubleshoot issues across backend services, computational pipelines, and application interfaces.
  • Deliver new functionality through an agile, iterative development process.

Required Experience

  • 7+ years of professional software engineering experience.
  • Strong Python development experience.
  • Experience building production web applications and REST APIs.
  • Experience working with Docker and containerized environments.
  • Strong Linux development experience.
  • Experience with AWS or another major cloud platform.
  • Understanding of CI/CD, version control, automated testing, and software quality practices.
  • Experience working with streaming data, distributed systems, or data processing pipelines.
  • Comfortable working in agile, startup-style environments with significant ownership.

Nice to Have

Experience in one or more of the following would be advantageous:

  • Scientific or numerical computing.
  • Data fusion or real-time data processing.
  • Machine Learning applications.
  • R or other scientific programming languages.
  • Geospatial, atmospheric, RF, aerospace, or other computational science domains.
  • Building software that bridges research environments and production systems.

What We're Looking For

The successful candidate will be:

  • A strong technical problem solver.
  • Comfortable making architectural decisions.
  • Self-directed and proactive.
  • Able to balance speed with engineering quality.
  • An effective communicator who can collaborate across technical disciplines.
  • Excited by working on technically complex products with real-world impact.

What's on Offer

  • Opportunity to work on cutting-edge scientific software.
  • High level of technical ownership and influence.
  • Collaborative, fast-moving engineering environment.
  • Contract-to-hire pathway with long-term growth potential.
  • Challenging work solving complex engineering and computational problems.