Position: Middle Golang Developer
Company: Simplify
Experience required: 3y
English level: upper

About us:
We’re a creative team of marketers, designers, developers, and copywriters, who are focused on solving business problems by making simple, but effective websites & mobile apps.
Our job is to eliminate barriers, misunderstandings, and unawareness between a product and a consumer. We make their ways to each other simple.
Simplify — your way to Greatness.

DESCRIPTION:

We are looking for a Middle Golang Developer to join our client’s team on a subcontract basis.

Developer of a container lifecycle management platform intended to help application developers create, build, deploy and run their own cloud-native applications with less friction, complexity, and waste. The company's platform evaluates containers using combinations of run-time, and 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.

Should have:
○ Experience in software development for more than 3 years
○ Excellent knowledge of 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 storage (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 that 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+

Nice to have:
○ Understanding of orchestration and containerization (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/updates 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 planning
○ Using high coding standards, software best practices, and writing highly testable, automatable, and performant code

The full-time workload on a remote basis
Start - ASAP
Duration - 6+ months with monthly renewable
Location - Ukraine
Time zone - US pacific time, or at least overlapping 5 hours

We offer:

• Professional development and personal growth
• Financial opportunities that attract
• Remote work option
• Comfortable working environment
• 14 working days of paid vacation (minimum)
• Paid leave 10 days / Paid sick leave
• Friendly and open-minded team