We are seeking a highly skilled and driven Senior Ruby Engineer to join our progressive team and play a key role in developing and maintaining innovative software solutions. You’ll work on complex codebases, contribute to architectural decisions, and mentor team members, driving the success of our projects with your expertise in Ruby on Rails. Availability to work with a time shift according to Australian business hours (from 4:00 AM Ukraine time).
Responsibilities
- Write clean, maintainable, and idiomatic Ruby code using Ruby on Rails
- Solve complex problems and diagnose issues within large, legacy codebases
- Apply SOLID principles and proven design patterns to build scalable and efficient solutions
- Design, implement, and maintain effective testing strategies for both new and existing code
- Ensure high code quality through appropriate test coverage and test proportions
- Identify and address security vulnerabilities at the code level, implementing safeguards beyond third-party gems
- Optimize application performance, including resolving N+1 queries and understanding the underlying mechanics of performance tools
- Participate in architectural discussions, evaluating trade-offs and proposing well-reasoned solutions
- Contribute to system design with a focus on event-driven architectures, particularly in payment-related systems
- Collaborate closely with team members through pair programming, code reviews, and constructive technical discussions
- Mentor junior developers, supporting their technical growth and professional development
- Analyze requirements and contribute to incremental modernization efforts, including refactoring, modularization, and risk mitigation
- Work effectively with both technical and non-technical stakeholders to deliver business-driven solutions
Requirements
- Deep, hands-on expertise in Ruby and Ruby on Rails with the ability to write idiomatic, high-quality code without reliance on documentation for basic syntax
- Senior or Lead-level experience with Ruby/Rails (5+ years of commercial experience)
- Strong foundation in software engineering principles, including SOLID principles and common design patterns
- Solid understanding of data structures, algorithms, and object-oriented design
- Proven experience working with large, complex legacy systems and refactoring them incrementally
- Strong knowledge of testing strategies, including test design, execution, and maintaining meaningful coverage
- Demonstrated ability to identify and implement robust security practices at the code level
- Experience with performance optimization, including diagnosing and resolving N+1 queries
- Clear understanding of event-driven architectures and the ability to discuss their benefits and trade-offs
- Ability to lead and participate in architectural discussions and technical decision-making
- Excellent collaboration and communication skills, with experience in pair programming and code reviews
- Proven mentoring experience or strong willingness to support junior developers
- Strong verbal and written English skills (B2+ level)
- Availability to work with a time shift according to Australian business hours (from 4:00 AM Ukraine time)
Nice to have
- Experience with Domain-Driven Design (DDD)
- Familiarity with strategic modernization approaches, including modularization and risk mitigation
- Experience working in agile environments with evolving system and business requirements
Looking for something else?
Find a vacancy that works for you. Send us your CV to receive a personalized offer.
Find me a job