Position: Middle Golang Developer (Ukraine)
Company: Fh. Solutions
Experience required: 2y
English level: upper

- The company's platform evaluates containers using combinations of run-time, static container analysis and removes unnecessary files, executables, and packages by observing container run-time behavior, enabling clients to
quickly build applications that power every business.

1. Should have:
Experience in software development for more than 3 years
Excellent knowledge in Computer Science, Computing Theory:
○ Paradigm &amp; Principles (OOP, SOLID, DDD, TDD, BDD)
○ Database theory (RDBMS)
○ Code testing practices
○ Algorithms &amp; Data structures
○ Design Patterns
○ Security patterns, Reverse engineering resistance, Common attacks types (OWASP)
Understanding of network interactions:
○ protocols
○ conventions (e.g. REST, RPC);
○ authentication / authorization flows &amp; best practices
Excellent knowledge and experience in Golang (more than 2 years)
Practical commercial experience with:
○ REST API development
○ RDBMS (e.g, PostgreSQL, MySQL)
○ Key-value storages (e.g. Redis, Memcached)
○ Messaging systems (e.g. RabbitMQ, Apache Kafka, Google Pub/Sub)
○ Version control systems (git)
○ Continuous Integration tools (e.g. Gitlab Pipeline, Jenkins, TeamCity, Bamboo)
○ Docker
Experience with:
○ Troubleshooting, profiling and debugging applications
○ Agile software processes and technologies
○ Code Review process
○ Refactoring process

- 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 your own work (and of others where applicable) competently
Have learning agility (readiness for challenge and being open to change)
Strong interpersonal and communication skills
- English - Upper-Intermediate+
- Location - Ukraine

2. Would also be an advantage:
Understanding of orchestration and containerisation (e.g. Kubernetes)
Practical commercial experience with:
○ 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 (20k rpm and above)
Experience with NoSQL data backends (Redis, MongoDB, ElasticSearch)

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
Using high coding standards, software best practices and writing highly testable, automatable and performant code