Ruby on Rails Engineer
Zagreb |
WHO WE ARE LOOKING FOR
An experienced Ruby on Rails Engineer who will plan, develop, deploy, maintain and document various solutions together with our highly organized Rails team.
Infinum’s Rails team is composed of around 13 engineers. Our primary technology is Ruby on Rails, and our database of choice is PostgreSQL. We write our projects using the DDD methodology, and are proud of our excellent test coverage across projects.
We mostly build APIs, admin dashboards, and integrations with third-party services – without us, clients aren’t served, and emails aren’t sent. Since we are big believers in keeping API documentation up-to-date with the actual implementation, we generate ours from tests.
To support team-wide knowledge-sharing, we hold weekly presentations and discussions. The teams we most often collaborate with are JavaScript, Mobile, and DevOps.
We like quality software, automating boring tasks, BBQ’s by the Mrežnica river, and team buildings that involve jacuzzis.
01
Qualifications & Experience
- at least 4 years of experience with Ruby on Rails
- background in software development and/or computer science
- experience working with applications in production
- comfortable taking ownership of various aspects of a project and being in charge of ensuring everything is delivered on time
- affinity for keeping up with general software development news
- deep understanding of object-oriented programming and design patterns
- experience with writing tests
- experience working with both local and international clients
- excellent knowledge of written and spoken English
- experience with JavaScript frontend frameworks is a nice-to-have
- a drive to make your code better every day
02
Your responsibilities
- planning, developing, deploying, maintaining, and documenting various software solutions
- regular dependency upgrades and security patches for CVEs
- defining tasks and providing time estimates
- writing clean, maintainable code and tests (unit/integration/end-to-end)
- rolling out new features, and analyzing (and reacting to) the results you learn about from our QA Engineers and user feedback
- collaborating with clients, project teams, and technical teams
- presenting your solutions to clients and/or a group of colleagues
- proactively communicating with other team members and project stakeholders
- using agile methodologies in development
- participating in code reviews, pairing, and other forms of knowledge-sharing
- continually improving your skills, pushing others to expand their skills and sharing your knowledge with team members
- working in a cross-functional team
The selection process
01
Initial call
You talk to the Talent Partner leading you through the selection process. You get to know more about Infinum, your potential future project, and your position while we also get to know you. We’ll also take a closer look at your general engineering skills.
02
Technical interview
You talk to Team Lead, Lead Engineer, and the HR person leading you through the selection process. You get to know Infinum, your potential future team, and position, while we also get to know you. It can also include a live coding assignment to better assess your technical knowledge.
03
Final interview
Usually you talk to the Management or Head of the department, Team Lead, and an HR person. You get a deeper insight into the position and our expectations, while we get the opportunity to ask you more specific questions.
04
Offer
All going well, in this stage we send you the offer, which includes all the information from salary details, vacation days, and educational budget, to other perks and benefits of working at Infinum.
03
Next thing you know
Next thing you know, you’ll be a part of the Rails team.
Tools
we use
GitHub
All of our work is on GitHub. Everything goes through pull requests and code reviews with your future team members.
GitHub Actions
We use GitHub Actions to automate our CI/CD pipeline, ensuring that our code gets from development to production with minimal fuss.
New Relic
New Relic is our go-to solution for monitoring the performance of our apps so we can make sure there are no bottlenecks that stop everything from running smoothly.
Docker
On some projects we add Docker to our toolkit to bundle up our apps and dependencies, making deployment a breeze.
AWS
Our go to cloud-computing platform which we use for hosting our apps, working with databases, storing files and other features.
Sidekiq
Sidekiq is our behind-the-scenes hero, handling all those background tasks and making sure our apps stay lightning-fast.
JSON:API
The https://jsonapi.org/ standard is our preferred solution for server-client data exchange. We’ve built multiple gems that simplify data extraction, serialization, etc.
Bugsnag
We rely on bugsnag for capturing errors on our applications. When a problem occurs in our code, Bugsnag automatically creates an event and notifies the whole development team.
Rubocop
A Ruby static code analyzer and formatter, created by the community to make clean code, by following the best practices used by Ruby developers.
RSpec
Tests are an important part of our projects, and we use the RSpec testing framework for Ruby and as well for Rails. It is the most frequently used testing library for Ruby in production applications.
Dox
Our in-house developed Rails gem for automatically generating API documentation from Rspec tests.
Revisor
We’ve built an application that observes the health of every active project and notifies us about new CVEs. We frequently update our dependencies and like to keep our apps and infrastructure up-to-date.
Productive
Most of our projects are managed using Productive, in-house software which substitutes Jira, Asana, Trello and other issue tracking products.
Slack
Whether remote or in the office, Slack enables us to exchange information, discuss code, make decisions quickly and stay on top of things.
Handbook
Through the years we’ve built a vast repository of knowledge related to ruby, rails and backend in general. It also serves as our guide and shows how we make our applications.
What do we offer?
Feedback and feedforward
Honest communication fuels growth. In our 1 on 1 sessions, 360 reviews, and career progression meetings, we discuss what is great and what could be improved.
Additional equipment budget
A little extra to supplement your standard work equipment. Pick a latest-model mobile phone, tablet, e-book reader, or a pair of earphones you’ve been dreaming about. Mix & match, why not.
Contributing to open source
Sharing is caring doesn’t only apply to chocolate.
Educational budget
If you’re eager to learn, we’re eager to help. Every employee receives an educational budget.
Paid language courses
Paid language courses help our employees master the English language.
Doing a career switch
We don’t have a sorting hat to tell you where you belong, but we will support your career switch from one job position to another.
Traveling on business
Having clients all over the world means our employees sometimes have to travel to and work from beautiful locations.
Subsidized recreation
Stay in shape with a sponsored fitness membership of your choice.
Sponsored health checks
You know the old saying – the greatest wealth is health.
Working remotely
Office location? Anywhere. It’s all about flexibility.
Free power-ups
Snack on fruit, cookies, and nuts to keep your energy levels up.
Car and bike parking
Don’t let it get caught in the rain. We offer free parking for bicycles and subsidized car parking.
Flexible working hours
Tailor your working hours to fit your schedule.
Fun and games budget
Every team gets a monthly budget to hang out and do fun stuff.
Benefits
In addition to professional development opportunities, we provide a selection of benefits that help you thrive and grow.