Software Systems Engineer
Job description
About the role
Satellogic is a geospatial analytics company that builds and operates Earth observation satellites to deliver high-resolution imagery and data products. The Software Systems Engineer will join the engineering team in Buenos Aires and contribute to the design, development, and maintenance of software systems that power satellite operations and data processing pipelines. This role involves working across multiple layers of the technology stack to ensure reliable and scalable performance of mission-critical applications. The engineer will collaborate with cross-functional teams to translate technical requirements into well-architected software solutions. Satellogic operates a constellation of small satellites that capture high-resolution optical and multispectral images of the Earth surface. The position offers the chance to work on software that directly supports space missions and scientific research worldwide.
Key facts
What you'll do
Design and implement distributed software systems that support satellite command and control operations
Develop and maintain data processing pipelines for geospatial imagery and remote sensing data
Write clean, well-documented code in languages commonly used for systems-level programming
Participate in code reviews and contribute to architectural decisions across the engineering organization
Troubleshoot and resolve software defects in production environments affecting satellite data delivery
Collaborate with hardware and operations teams to integrate software components with ground station infrastructure
Build and maintain automated testing frameworks to ensure software reliability and correctness
Optimize system performance and scalability to handle growing volumes of satellite imagery data
Document system designs, APIs, and operational procedures for internal and external stakeholders
Participate in on-call rotations to provide incident response and system monitoring support
Contribute to the evaluation and integration of new software tools and frameworks that improve engineering productivity
Support the deployment and configuration of software updates to satellite ground systems and data centers
Engage in technical discussions with product managers to define software requirements and acceptance criteria
Requirements
Bachelor's degree in Computer Science, Software Engineering, or a related technical field from an accredited institution
Experience with systems-level programming in languages such as C, C++, or Python for building reliable software
Understanding of distributed systems concepts and concurrent programming principles in multi-threaded environments
Familiarity with Linux operating systems and command-line development workflows for daily engineering tasks
Experience working with version control systems such as Git in a collaborative team environment
Ability to communicate technical concepts clearly to both engineering and non-engineering stakeholders and audiences
Comfort working in a fast-paced environment with shifting priorities, tight deadlines, and changing requirements
Willingness to work in the Buenos Aires office on a full-time basis with regular attendance
Familiarity with agile software development methodologies and iterative delivery practices in a team setting
Strong problem-solving skills and the ability to work independently as well as in a team
Demonstrated ability to learn new technologies and adapt to evolving project needs quickly
Nice to have
Experience with real-time operating systems or embedded software development
Knowledge of geospatial data formats such as GeoTIFF, NetCDF, or HDF5
Exposure to cloud platforms like AWS or GCP for data processing and storage
Familiarity with containerization technologies such as Docker and orchestration tools like Kubernetes
Background in signal processing or image analysis techniques for geospatial data
Experience with version control workflows involving pull requests, code reviews, and branch management strategies
Skills & tools
Programming languages including Python, C, and C++ for systems development
Linux system administration and shell scripting for automation tasks
Git for version control and collaborative software development workflows
CI/CD pipelines and automated build and deployment systems
Database systems including SQL and NoSQL options for data storage
Monitoring and observability tools for production system health tracking
Container orchestration platforms and infrastructure-as-code practices for managing scalable deployments
Continuous integration and delivery practices with automated testing and quality assurance pipelines
Practical notes
This is a full-time position based in the Buenos Aires office with regular in-person collaboration
The role requires regular collaboration with team members across different time zones and locations
Candidates should be prepared to participate in on-call duties as part of the engineering rotation schedule
The hiring process includes technical interviews, a systems design exercise, and a culture-fit conversation
The company values diversity and encourages applicants from all backgrounds to apply for this role