Our Infrastructure team is looking for a senior software engineer to be responsible for laying the critical infrastructure for our mission to map and monitor the planet's forests. Infrastructure covers everything from event messaging, big data storage, ephemeral environments, service integration testing, microservice provisioning, setting standards and architecture guides, service mesh building, high fidelity monitoring, and necessary tooling. You will build the infrastructure that makes the lives of our engineers and data scientists significantly easier so that they can purely focus on building our applications.
You'll be working as the second hire into a newly founded team ~ the Infrastructure Team. We will be working with existing products, different teams of software engineers, sustainability experts, forest scientists, machine learning experts, and designers to understand the right tooling and improvements to introduce to help deliver high-quality, scalable products. The systems you build will underpin the entire technology of the company, allowing the company's heartbeat to thrive at its best rhythm. You will be responsible for the strategy and implementation of critical systems for all of our researchers and engineers. You will design and implement the workflows responsible for allowing our teams to choose and efficiently use the technologies that best fit their needs.
We're looking for engineers who find joy in the craft of building and want to make an impact. Engineers who push forward initiatives by asking great questions, cutting through ambiguity, and organizing to win. Engineers who are relentlessly detail-oriented, methodical in their approach to understanding trade-offs, place the highest emphasis on building, and building quickly.
- build a full ephemeral environment system with Garden that enables automated service-to-service integration testing and rapid spin-ups of different versions of our entire platform,
- continually improve and further develop our usage of confluent Kafka through easy usage of dead letter queues, unblocked schema evolutions, efficient usage of partitions,
- implement an automatic trace ID system that allows us to trace from event-to-event as they are consumed and produced
- implement the high fidelity security requirements to allow fully transparent large enterprise deals to move forward unhindered,
- recommend and build and improve upon a service mesh technology,
- introduce strong SLA/SLO/SLI practices to help derive the health of all of our team's services,
- developing tools and infrastructure to increase iteration time and improve developer experience,
- building Backstage for automated documentation of each microservice and their related tools,
- developing plans for cross-team initiatives related to infrastructure and delivering on them.
We are looking for strengths with:
- building scalable and fault-tolerant distributed systems that process large amounts of data
- event messaging in mature production systems,
- algorithms and data structures, domain-driven design, and event-based microservices.
- understanding enterprise level security requirements and recommendations,
- handling large ambiguous projects through systematic and documentation driven approaches.
We expect you to:
- learn fast and be humble.
- own solutions end-to-end.
- take part in strategic thinking and take apart problems.
- ship high-quality software.
- communicate well and document better.
- have fun.