Position: Expert Golang Developer for Ciklum Digital
Company: Ciklum
Experience required: 3y
English level: intermediate

Headquartered in the UK, we unite 3,500+ software developers, designers, product managers and data scientists around the world building tailored digital solutions that leverage emerging technologies.
We are enabling digital transformation for some of the largest household names and platforms in the digital economy. Ciklum is the place to make your tech ideas tangible and join the global projects redefining industries.

We are looking forward to seeing you as a part of our team!

Description

On behalf of Ciklum Digital, we are looking for an Expert Golang Developer to join our team on a full-time basis.

About the Project:

Our client is building the next generation global on-demand delivery platform. They have grown rapidly from inception in 2011 to become the world's largest food-ordering network and they are now innovating and creating new verticals.

The awesome international team already operates in 40+ countries worldwide and is looking for the most talented people to join the team on their mission to ‘always deliver an amazing experience.’

The client is building the next generation online food-delivery platform, with data at the center of delivering amazing food experiences.

It was founded in March 2012 in Dammam, as one of the first online food ordering portals in the region, today is the food delivery platform leader in Saudi Arabia with more than 100,000 orders per day and millions of happy customers every month.

Responsibilities
- Back-end development to meet customer’s business needs and implement components according to modern software development environment (cloud-based platforms, microservice architecture, etc.)
- Taking part in the decision-making process in design application architecture, solution development, architecture and code review
- Develop and review feature design documents and provide inputs/update to specifications for the solution
- Design and implement a set of various types of tests (unit, integration, functional, etc)
- Proactive position in solution development, processes improvements
- Working in an international distributed team in an Agile environment
- Communicate with PMs, engineers, Architects, QA and other colleagues and stakeholders
- Delivering the product roadmap and plannings
- To use high coding standards, software best practices and write highly testable, automatable and performant code over the whole SDLC

Requirements
- Experience in software development for more than 5 years
- Excellent knowledge in Computer Science, Computing Theory:
- Paradigm & Principles (OOP, SOLID, DDD, TDD, BDD)
- Database theory (RDBMS, NoSQL)
- Code testing practices
- Algorithms
- Data structures
- Architectural, Enterprise and Design Patterns
- Microservices architecture, SOA
- Autoscaling, monitoring, alerting approaches
- Security patterns, Reverse engineering resistance, Common attacks types (OWASP)
- Understanding of network interactions:
- protocols
- conventions (e.g. REST, RPC)
- authentication and authorization flows
- standards and practices (e.g. oAuth, JWT)
- Excellent knowledge and experience in Golang (more than 5 years)
- Practical commercial experience with:
- Microservices architecture
- REST API development
- Web application frameworks, Testing frameworks, ORM
- RDBMS (e.g MySQL, PostgreSQL, MS SQL)
- Key-value storages (e.g. Redis, Memcached)
- Messaging systems (e.g. RabbitMQ, Apache Kafka, Active MQ, Google Pub/Sub)
- Version control systems (GIT)
- Cloud computing platforms (Google Cloud Platform)
- Integration with 3rd party solutions
- Docker
- Continuous Integration tools (e.g. Gitlab Pipeline, Jenkins, TeamCity, Bamboo)
- Builders
- Experience with:
- Troubleshooting, profiling and debugging applications
- Creation software architecture and design of complex applications, platforms, microservices solutions
- Agile software processes and technologies
- Code Review process
- Refactoring process
- Fluent or Upper-Intermediate English

Desirable
- Experience in software development for more than 8 years
- Experience with Ruby on Rails
- Certifications on:
- Cloud computing platforms (AWS, GCP, Microsoft Azure)
- Understanding of orchestration and containerisation (e.g. Kubernetes, Swarm)
- Knowledge in Deployment patterns
- Practical commercial experience with:
- NoSQL (e.g. MongoDB, ElasticSearch, CouchDB)
- Experience with Search Engines (e.g. ElasticSearch, Azure Search, Apache Solr)
- Provisioning tools (e.g. Terraform, Ansible)
- Quality tools (e.g. SonarQube)

Personal skills
- Positive attitude and proactive communication
- Strong self-motivation, reliable and flexible team-player. High attention to details
- Always seeking to improve processes and suggest better solutions
- Working with new skill sets and continuously improving hard and soft skills

What's in it for you
- Close cooperation with the client
- A constant flow of new projects
- Dynamic and challenging tasks
- Ability to influence project technologies
- Projects from scratch
- Team of professionals: learn from colleagues and gain recognition of your skills
- European management style
- Continuous self-improvement