Backend Software Engineer (Golang)
Awura Computing PLC
·
8 hours ago
Location
Rizq house building 5th floor, Gabon St, Addis Ababa
Department
Software Engineering - AWURA
Employment Type
Full-Time onsite
Applications Received
12
Role: Backend Software Engineer (Golang)
Experience: 2–4 Years
About the Role
We are looking for a performance-driven Golang Engineer to join our technical team. In this role, you will be responsible for designing and maintaining high-performance distributed systems, focusing on concurrency and efficient data-oriented design. You will play a key role in building out our core services, ensuring they are scalable, thread-safe, and highly available.
Responsibilities
- Design, develop, and maintain robust backend services using Golang.
- Implement high-performance communication layers using RPC protocols (primarily Connect RPC but having an understanding of gRPC will work).
- Architect and optimize distributed systems to handle high concurrency and low-latency requirements.
- Collaborate with cross-functional teams to define API contracts using Protocol Buffers (Protobuf).
- Write clean, maintainable, and testable code, prioritizing system efficiency over abstract complexity.
- Manage persistent data layers, ensuring thread safety and data integrity in high-load environments.
Technical Requirements
- Experience: 2–4 years of professional experience in backend development with a strong focus on Golang.
- Protocols: Deep understanding of RPC/gRPC and experience building microservices that communicate via these frameworks.
- Concurrency: Proven ability to write concurrent code using Goroutines and Channels, with a solid grasp of synchronization primitives.
- Databases: Proficiency in SQL (ideally PostgreSQL) and experience with row-level locking and transaction management.
- Architecture: Strong understanding of distributed systems, including service discovery, load balancing, and caching strategies.