We are working on a new project that was started in 2017, so there’s no legacy code or outdated technologies. We use the latest versions of the frameworks / libraries and update them on a regular basis. The backend architecture is far more sophisticated than what is provided by Rails by default, so expect to work with patterns like service, policy, form objects, etc. Frontend architecture: per-page approach to code organisation, a library of reusable components based on Material-UI, mini-framework for state management based on Mobx.
The product is intended for internal use and we have more than 2k employees worldwide (and counting). Most of the functionality we develop requires creative and non-trivial solutions due to differences in processes depending on location, organisational branch, etc. We are not only developing and owning the product, but also consuming it along with our colleagues from the company. That’s why we aim for constant functionality and performance improvements, code refactoring.
Requirements
- Good knowledge of Ruby language, work experience as a Ruby on Rails developer, knowledge of design patterns and best practices in Ruby on Rails
- Good knowledge of relational databases, SQL, experience with PostgreSQL or MySQL
- Experience with Git
- Strong OOP and algorithmic skills
- Intermediate English level
- Passionate for getting things done and result-oriented mindset
- Team player
Will be a plus
- Experience with Docker platform
- Experience in writing unit and integration tests
- Knowledge of JavaScript (ES6+)
- Experience with React.js library, Typescript, MobX
- Experience with AWS platform
- Experience with Redis
- Understanding CI / CD process
- Experience working in an Agile / SCRUM environment
Responsibilities
- Contribute during all stages of the development lifecycle: analyze and estimate user stories, design architecture, write code, unit, and functional tests, make code reviews
- Apply best development practices to create a readable, well-structured, standardized, and efficient code
- Take responsibility for maintaining, expanding, and scaling internal system applications
- Be a team player, share knowledge and contribute to the development of team members and the team itself as a solid entity
- Be aware of the latest trends in the industry and technologies applying them into internal processes
- Strive for continuous self-education, searching for possible solutions to non-trivial issues
We offer
- Opportunity to deal with top-notch technologies and approaches in a world-leader product company with millions of customers
- Opportunity to make a difference for online privacy, freedom of speech, and net neutrality
- Decent market rate compensation depending on experience and skills
- Developed corporate culture: no micromanagement, culture based on principles of truth, trust, and transparency
- “You build it, you own it” mentality in most contexts
- Support of personal and professional development
- coverage of costs of external trainings, conferences, professional literature
- support of experienced colleagues
- in-house events and trainings
- regular knowledge sharing in teams
- English classes and speaking clubs
- Life-balance support
- truly flexible schedule, no time-tracking at all
- 25 working days of vacation
- 5 days of paid sick leave per month (if necessary) without providing a medical certificate
- generous maternity leave program
- compensation of sport or massage
- Professionally strong environment, friendly and open atmosphere, ability to influence the product development and recognition for it