In this role, you will be responsible for designing, building, and maintaining high-performance, scalable microservices using Go. You will collaborate with cross-functional teams to ensure our systems are stable, secure, and capable of handling large-scale, real-time data. This position is ideal for someone who is passionate about cutting-edge technologies, cloud-native architecture, and delivering high-quality solutions in a fast-paced environment.
Technical & Operational Duties
- Microservices Architecture: Design, develop, and maintain robust, scalable microservices using Golang.
- Containerization & Orchestration: Leverage Docker for containerization and Kubernetes (including Ingress controllers) for orchestration to deploy and manage services at scale.
- Messaging & Integration: Integrate with and optimize various message brokers (e.g., Kafka, RabbitMQ, NATS) for real-time data streaming and event-driven architectures.
- Caching & Data Storage: Implement advanced caching strategies using Redis, and interact with both SQL (MySQL, PostgreSQL) and NoSQL (MongoDB) databases.
- Monitoring & Observability: Set up and manage robust monitoring, logging, and alerting solutions using tools like Grafana and Prometheus to ensure system health and reliability.
- Performance Optimization: Identify and resolve bottlenecks, debug performance issues, and ensure efficient concurrency and memory management.
- Best Practices & Standards: Champion coding standards, testing practices, and code quality to maintain a clean, stable codebase.
- Collaboration & Leadership: Work closely with product managers, designers, and other engineers to deliver high-quality features and mentor junior team members.
General Administrative Duties
- Active team player, self-starter, and multitasker who can quickly adjust priorities
Job Specifications
Education Level
– Bachelor’s or Master’s degree in Computer Science, Engineering, or a related field (or equivalent experience).
Experience
– 5+ years of professional software development experience, with at least 3 years in Golang
Languages Required
– Proficiency in both written and spoken Arabic and English languages
Required Skills and certificates
– 5+ years of professional software development experience, with at least 3 years in Golang.
– Golang Expertise: Deep understanding of Go, including concurrency patterns, memory management, and standard libraries.
– Microservices & APIs: Proven experience building and scaling microservices in a production environment.
– Containers & CI/CD: Hands-on experience with Docker, Kubernetes (including Ingress), and CI/CD tools (Jenkins, CircleCI, GitLab CI, etc.).
– Message Brokers: Familiarity with one or more messaging platforms (Kafka, RabbitMQ, NATS, etc.).
– Redis & Databases: Proficiency in using Redis for caching and session management; exposure to SQL (MySQL, PostgreSQL) and NoSQL (MongoDB) databases.
– Monitoring & Observability: Proven experience with Prometheus, Grafana, and other relevant monitoring and logging tools.
– Cloud Platforms: Experience with AWS, GCP, or Azure, including services like EC2, EKS, or equivalent.
– Unit & Integration Testing: Write and maintain comprehensive unit and integration tests to ensure the reliability and stability of microservices.
-Test Automation Frameworks: Implement and extend automation testing frameworks (e.g., Go’s built-in testing, ginkgo, testify) to streamline QA processes.
-Load & Stress Testing: Collaborate with QA or DevOps teams to design and execute load testing scenarios, ensuring Golang services meet performance and scalability requirements
– Problem-Solving: Creative thinker with excellent analytical and troubleshooting skills.
– Communication: Strong verbal and written communication abilities for effective collaboration.
– Leadership: Demonstrated experience mentoring junior developers and driving technical initiatives.
-Team Player: Ability to work in a fast-paced, agile environment alongside a diverse team.
Nice to Have:
– Advanced API Frameworks: Familiarity with gRPC, GraphQL, or other advanced API patterns.
– DevOps Skills: Hands-on experience with Infrastructure-as-Code tools (Terraform, Helm) and CI/CD pipelines.
– Security Best Practices: Knowledge of secure coding practices, OWASP guidelines, and vulnerability management.
– Serverless Architectures: Exposure to serverless frameworks like AWS Lambda or Google Cloud Functions.
– Distributed Tracing: Experience with tools like Jaeger or Zipkin for end-to-end tracing of microservices.
– Previous experience in [specific industry, e.g., “fintech” or “POS”].