Senior Golang Developer for Ciklum Digital

Kyiv, Amosova, Ukraine

Apply

Ciklum is a Software Engineering and Solutions Company. Our 3,000+ IT professionals are located in the offices and delivery centres in Ukraine, Belarus, Poland and Spain.

As Ciklum employee, you'll have the unique possibility to communicate directly with the client when working in Extended Teams. Besides, Ciklum is the place to make your tech ideas tangible. The Vital Signs Monitor for the Children’s Cardiac Center as well as Smart Defibrillator, the winner of the US IoT World Hackathon, are among the cool things Ciklumers have developed.

Ciklum is a technology partner for Google, Intel, Micron, and hundreds of world-known companies. We are looking forward to seeing you as a part of our team!

Read more about the client

Description

On behalf of Ciklum Digital, Ciklum is looking for a Senior Golang Developer to join our team on a full-time basis.

About Project:

Operating in 200 cities and partnering with over 80,000 food businesses. Deliveroo has become a verb for many and a brand that, for its customers and partners, consistently delivers joy, convenience and discovery.

Supporting restaurant and food businesses, independent workers and urban communities is crucial work – even more so during 2020 and as such the Deliveroo’s growth is truly unique; they describe the scale of their opportunity as immense.

Behind the slick looking marketplace with ample food options the world over is a highly technical and well versed product. As such, the tech talent is exceptional – working in a full-stack product team to deliver the very best experience for all end-users, with the key focus being on delivering new features, projects and testing hypotheses with ease and quality.

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
  • Perform a broad range of complex technical or professional activities, in a variety of contexts
  • Investigate, define, and resolve complex issues
  • Able to work in distributed cross-functional teams effectively
  • Influence customers and team members on the project level
  • May supervise others or make decisions which impact the work assigned to individuals or phases of projects
  • Plan, schedule, and monitor own work (and of others where applicable) competently
  • Have learning agility (readiness for challenge and being open to change)

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)
  • Experience with TDD environments (RSpec, Minitest, Capybara, Selenium)
  • Experience with web architecture at scale (20krpm and above)
  • Experience with PostGIS, or any geography-heavy applications
  • Experience with “NoSQL” data backends (Redis, MongoDB, ElasticSearch)
  • Experience solving logistical problems with software

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

Client video presentation