Position: Backend Engineer (Ruby/Rails)
Company: U-genius
Category: Ruby
Experience required: 1y
English level: intermediate

**We hope:**
- You have at least 3 years of work experience as a Back-end Engineer.
- You have a solid knowledge and production experience with Ruby/Rails.
- You have essentially developed skills in an AWS / Google Cloud, CI/CD, Docker/Kubernetes
- You have basic knowledge of Front-end technologies (CoffeeScript, VanillaScript, TapeScript, React.js/Angular.js, etc.).
- You have a structured, proactive working style.
- You can freely read the documentation and chat with team members in English.
- You are a self-starter and an entrepreneurial mind, as well as a team player.

**Like a big plus:**
- You have experience with a microservice architecture.
- You have production experience with AWS (CloudFormation, EC2, Route 53, Elasticache, RDS, Elasticsearch, AWS Lambda) and/or Google Cloud technologies.
- You have experience with DDD, Event-Driven Systems, Service-Oriented Architecture, EventSourcing, and CQRS.
- You know Kubernetes and Terraform.
- You know GraphQL.
- You have practical experience in the definition and rectification of system architecture (for small and midsize solutions).

**We offer:**
- Collaboration with highly motivated, talented, and inspirational team members.
- Challenging and exciting software projects, not just tedious routine work.
- Extensive remote work possibilities and flexible working schedules.
- Unforgettable team buildings in different countries.
- Business trips abroad.
- Educational programs in English, and paid seminars, master classes, trainings, and world-class conferences.

**Duties:**
- Designing, building, and maintaining efficient, reusable, and reliable Ruby/Rails solutions.
- Developing and documenting software design/architecture.
- Identifying bottlenecks, bugs, and devising solutions to these problems.
- Helping to maintain code quality and its automatization.
- Working with various third party APIs to automate processes.
- DevOps activities: deploying applications to test instances.
- Contributing to all phases of the development life cycle.
- Driving continuous adoption and integration of new technologies
- Taking part in negotiations with customer representatives to prepare/optimize the solution architecture.
- Constant monitoring team's code quality and optimality.