Position: Senior Full-Stack Ruby Engineer
Company: NCube Ltd
Category: Ruby
Experience required: no_exp
English level: upper

We are looking for a performance-minded **Full-Stack Ruby Engineer** with an eye towards writing well-designed, maintainable code who will be responsible for managing and maintaining our project and product systems as well as operating related services connected to it 

Your primary focus will be the development of products and projects in small and mid-sized teams, ensuring high performance and responsiveness of our back-end system and related services, like databases, background job systems, continuous integration setups, and cloud deployments 

We can consider remote engineers for this project 

**Project stack:** Ruby, JS, React Native 

**Team:** Ukraine - Austria 

**Project domain:** energetics, including IoT technologies 

**Experience / Skills:** 

**Must have:**

5+ years production experience with Ruby and Rails  

Front-End development knowledge and experience (JavaScript, CSS, HTML)  

Experience building & growing web applications, APIs, services 

In-depth experience of back-end APIs (RESTful web services) 

In-depth experience of writing tests (MiniTest, RSpec)  

Good understanding of databases: query performance, indexes, migrations (PostgreSQL)  

Understanding of Graph Databases and Document Stores is a plus (Neo4J, MongoDB)  

Solid understanding and experience of Git  

Excellent communication skills (English – at least upper-intermediate)  


**Good to have:**

Experience with Vue, React or other JS frameworks incl. package managers is a plus   

Familiarity with Cloud services (Google, AWS, Azure)  

Experience with using Docker Experience with using and deploying to Kubernetes   

Experience with implementing GraphQL   

Familiarity with Kanban or Scrum methodology   

Interest, familiarity or experience with Machine Learning (Tensor Flow)   

Interest, familiarity or experience with IoT   


**Responsibilities:**

Collaborating within our project and product team to develop new features, fix bugs and reduce technical debt (you will be involved in the whole application lifecycle)  

Defining and communicating technical requirements  

Building high-quality systems that can be (re)used and extended in the future  

Helping set the design/architectural guidelines to make sure our codebase is improving  

Making sure our systems are scalable and run flawlessly in the whatever cloud we need  

Troubleshooting, debugging and fixing production issues 


**We offer:**

Great team spirit 

Modern technologies and management methods 

Career opportunities 

Flexible working schedule, paid vacations and sick leaves 

Medical insurance 

Regular parties 

Great office location near subway Maidan Nezalezhnosti and Zoloti Vorota