Sr. Software Engineer - Go/MongoDB
NewInactive
J
JobgetherDatabase Software
GermanyFull-TimeSenior
This job is no longer active. We keep the page for reference, but the employer may not accept new applications.
Salary not disclosed
Job Details
- Required Skills
- GitMongoDBGoCI/CDRESTful APIsDistributed Systems
Requirements
- Strong professional experience developing production applications in Go (Golang).
- Solid understanding of concurrency concepts, including goroutines, channels, worker pools, context management, and synchronization.
- Experience designing or maintaining distributed systems with knowledge of data consistency, idempotency, ordering, and fault tolerance.
- Hands-on experience with MongoDB, including replica sets, sharding, change streams, oplog management, and large-scale deployments.
- Experience building command-line applications, REST or HTTP APIs, and implementing structured logging and monitoring solutions.
- Strong testing mindset with experience writing reliable automated tests and maintaining software quality.
- Familiarity with Git workflows, code reviews, and collaborative open-source development practices.
- Excellent analytical, debugging, and problem-solving skills with the ability to work independently in a remote environment.
Responsibilities
- Design, develop, and enhance core features for distributed MongoDB replication, backup, and recovery tools using Go.
- Build and optimize replication engines that support data synchronization, change streams, resumability, and high availability across replica sets and sharded clusters.
- Improve system resilience by implementing fault-tolerant mechanisms for network interruptions, failovers, and recovery scenarios.
- Develop scalable solutions for backup, restore, and point-in-time recovery across complex MongoDB deployments.
- Enhance CLI tools, HTTP APIs, logging, metrics, and observability features to improve operational visibility and user experience.
- Optimize application performance, concurrency, resource utilization, and throughput for large-scale production environments.
- Write automated tests, participate in code reviews, and contribute to release quality through CI/CD pipelines and security best practices.
- Collaborate openly through GitHub, pull requests, issue tracking, and community discussions while contributing to open-source projects.