Summary
Northwood is on a mission to transform connectivity between Earth and space through innovations in space communications technologies. As a Software Engineer, you will design, implement, and optimize services that deliver connectivity to customers, with ownership over key areas including control systems and customer APIs.
Responsibilities
- Design and implement control systems for our ground station hardware, you will write software that interacts with everything from embedded systems to RF modems
- Architect and optimize data pipelines for efficient movement of data between ground stations and various end environments
- Ensure low-latency and high-throughput data distribution across different platforms, with an end goal of building Northwood’s Software Defined Wide-Area-Network (SD-WAN) capabilities
- Lead the design and architecture of distributed systems which orchestrates our global ground network across both cloud and on-premises environments
- Develop the entire stack design, focusing on inter-service communication protocols to ensure seamless integration and operation
- Design and build robust APIs for customer and internal interactions
- Develop intuitive front-end interfaces using modern web technologies
- Build a scalable data backend - integrating into ETL pipelines to help make data more actionable
- Create comprehensive monitoring and alerting solutions for software and infrastructure
- Implement tools to ensure continuous uptime and rapid issue resolution
- Transform our telemetry data into actionable insights, enabling predictive diagnostics to address issues before they arise; keep our customers informed about relevant operations in real time
- A global network requires global deployments, and Northwood is committed to building a secure, reliable, and stable pipeline
- Develop software for production line bring-up and testing
- Automate testing procedures to ensure hardware and software reliability
- Working alongside mechanical/RF/EE/FPGA and SW engineers to ensure system correctness, performance, and reliability before leaving our manufacturing line
- Create simulations that model satellite and network design
- Create simulation tools for testing and validating system performance
- Design and implement software that orchestrates our global antenna network and data plane
Skills
- 0-2 years of professional software development experience (this doesn't have to be from a full-time role—there are many ways to gain valuable experience, and we'd love to hear about yours - tell us about internships, projects out of the classroom, or any personal projects)
- Completed bachelor's degree in Computer Science, Computer Engineering, Math or other related major (soft-requirement, tell us why you didn't pursue a degree, and what you've done in it's place)
- A U.S. citizen or lawful permanent resident of the U.S
- A protected individual as defined by 8 U.S.C. 1324b(a)(3)
- Eligible to obtain the required authorizations from the U.S. Department of State
- Proficiency in one or more of the following: Rust, Golang, Haskell, C/C++
- Open to other languages that are suitable for distributed systems and/or high-performance computing and interested in strong opinions on the right language for various applications
- Strong problem-solving abilities
- Excellent communication and collaboration skills
- Ability to work in a fast-paced, dynamic environment
Qualifications
Must Haves
- 0-2 years of professional software development experience (this doesn't have to be from a full-time role—there are many ways to gain valuable experience, and we'd love to hear about yours - tell us about internships, projects out of the classroom, or any personal projects)
- Completed bachelor's degree in Computer Science, Computer Engineering, Math or other related major (soft-requirement, tell us why you didn't pursue a degree, and what you've done in it's place)
- A U.S. citizen or lawful permanent resident of the U.S
- A protected individual as defined by 8 U.S.C. 1324b(a)(3)
- Eligible to obtain the required authorizations from the U.S. Department of State
Nice to Haves
- Proficiency in one or more of the following: Rust, Golang, Haskell, C/C++
- Open to other languages that are suitable for distributed systems and/or high-performance computing and interested in strong opinions on the right language for various applications
- Strong problem-solving abilities
- Excellent communication and collaboration skills
- Ability to work in a fast-paced, dynamic environment
Benefits
- Company stock
- Stock options
- Cash awards
- Discretionary performance bonuses
- Equity
- Healthcare
- Unlimited vacation
- Retirement savings
- Professional development opportunities