Position: Senior Ruby Engineer
Company: Leobit
Experience required: 5y
English level: upper

**Requirements:**
• Five-year working experience in Ruby/Rails (at least)
• Experience in fintech projects (would be a plus)
• Profound knowledge of OOP,  SOLID, multitier architecture
• Profound knowledge in MS SQL
• Experience with Web API
• Experience with front-end frameworks e.g. Angular, React or Vue (would be a plus)
• Good knowledge of HTML, CSS, JS
• Experience in unit/integration/acceptance testing
• Strong analytical skills
• Bachelor’s or Master’s degree in computer science (or similar technical field)
• Level of English: Intermediate strong (at least)

**Responsibilities:**
• Collect, analyze and document technical requirements for software development
• Effectively collaborate with project team and project stakeholders to achieve goals
• Design, document and demonstrate software architecture using flowcharts, layouts, diagrams, charts, etc. acquaint it to customer
• Estimate complex projects using different techniques (PERT, etc.)
• Develop well-designed, easy maintainable, scalable and reusable software
• Research, study and develop new or complex technical solutions/technologies (R&D). Bring fresh ideas that can benefit the project and the company
• Split scope into tasks, prioritize, assign them to developers and monitor task implementation
• Review, test and debug team members’ code on a regular basis
• Setup source control system
• Develop automated unit tests, collect code coverage
• Implement performance/load/stress testing procedures according to project needs
• Provide continuous integration practices on the projects
• Package and support deployment of releases
• Migrate data using appropriate approach or source code to appropriate technology
• Setup integration with external software
• Participate in the software engineers recruitment process (conducting technical interviews, test tasks review etc.)
• Mentor and train junior and intermediate developers about software development best practices and techniques
• Participate in conducting internal staff testing (“matrix”), organization of lectures, seminars, knowledge sharing sessions, and other forms of trainings for developers
• Prepare curricula and programs, appropriate training materials for different forms of learning; establish software development standards, best practices etc.
• Improve operations by conducting systems analysis; recommending changes in policies and procedures; perform project assessment

**We offer:**
• Interesting and challenging projects
• Competitive compensation and regular results-based salary review
• A broad range of professional education and personal development possibilities
• Comfortable and cozy working environment 
• Motivated colleagues with profound knowledge of the technical field
• Аttractive compensation package

**Accelerate your career with Leobit!**