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.