Senior Golang Developer for Ciklum Digital Offline

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 4 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 2-3 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;

You can:

- 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:

 

- 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 web architecture at scale (20krpm and above)

- Experience with "NoSQL" data backends (Redis, MongoDB, ElasticSearch)

- Experience solving logistical problems with software.

Soft Skills:

 

- Team player, working integrated in the team

- Adaptive to the standards of the team and BE

- Open and safe communication => not afraid to ask if things are not clear, shares knowledge and experience; we have a diverse environment with people from all kind of contexts - we expect from every team member respectful communication for a safe and open working environment

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.

The job ad is no longer active
Job unpublished on 13 February 2022

Look at the current jobs Golang Kyiv→