Experienced Ruby Product Engineer
Software Engineering, Product
Posted on Saturday, March 11, 2023
We start with the cliff notes about the position. If this appeals to you, continue reading for a longer text about working at Silverfin and your role 👇
At Silverfin, we're an equal opportunity employer and value diversity at our company. Although we know we’re not perfect yet, we are working hard on it and always open for your feedback.
According to our vision to build a diverse, equitable and inclusive organisation, our policy is to only make a final hiring decision if minority groups are sufficiently represented in the list of candidates applying for the position. For this reason it’s possible interviews get slightly delayed until we’ve reached that goal.
We're committed to elevating talent by creating an environment where we can all thrive together. So if you think you have what it takes, but don't necessarily check every single box, please consider applying. We'd love to hear how you might contribute to our mission and our team.
What can we offer you?
- Actual, proper work-life balance
- A salary range of €93,000 - €123,000 a year
- Choose your own working hours and work 100% remotely
- Personal growth training and opportunities
- Join a distributed remote-first engineering team with 35 colleagues in 14 different countries
- A refreshing work environment with professional, friendly and welcoming colleagues
- A €1000 yearly budget for conferences, courses, workshops or other expenses that will improve your skills
- This year we offer monthly fix company-wide Wellbeing Days for all employees (10 paid days off in 2023)
What will you work on?
- Figure out the best way to solve a customer or business problem in close collaboration with a product manager, a product designer and other engineers
- Work on user facing functionalities
- Help with discovery and delivery of a solution
- Give the engineering perspective on potential ways of approaching a specific challenge
- Help with maintenance and support of existing functionality
What are we looking for?
- You’re experienced in both Ruby and Rails, and also understand where the boundaries lie between them. You can code in Ruby without any of Rails’ training wheels if necessary.
- You're interested in getting to know our customers to find the best solution for a given challenge.
- You’re up for mentoring coworkers and can give in-depth, productive feedback during code reviews. While you appreciate the small stuff, you recognise bike-shedding and can avoid its pitfalls.
- You code with reason and can justify the important decisions you made during development.
- You can communicate clearly in English, both in writing and verbally.
- You know and can apply best practices when relevant. That means the usual like version control, testing, and refactoring; but also higher level concepts such as good object oriented design.
- You're aware of the trade-offs involved in proper engineering and can make balanced business decisions, keeping in mind all the stakeholders of the project.
- You’ve got opinions on code design and you can discuss them, but you’re professional enough to not let those opinions get in the way of a consensus if necessary.
- You have at least 4 years of experience working with Ruby, or 2 years of experience with Ruby and 4 years in one or more other programming languages
- You get Rails
- Your work hours have some overlap with EU business hours (we require your local timezone to be within CET +/- 3h)
- You can communicate clearly in English, both written and verbally
Nice to haves
- Experience as a remote worker in a fully remote team
- Experience working with large datasets and the problems they bring
- Experience in Fintech
- Accounting knowledge
These would be nice but are definitely not necessary. Don’t worry if none of the above applies to you.
What’s a Silverfin?
At Silverfin we’re trying to apply the promise of software to the age-old industry of accounting. With our SaaS we’re automating a large chunk of the busy-work that accountants are currently handling manually, and are building new tools so they can provide better services to their customers. We aim to optimise their workflow in such a way that accountants can spend more time on the much more impactful and rewarding work of advising their customers, the business owners.
The good news is we’re succeeding in doing exactly that. Every week more than 15.000 financial service professionals use Silverfin to help and advise more than 400.000 businesses. Our customers adore us! The even better news is there’s still plenty left to work on, and that’s where we hope you come in.
What’s the product team like?
The product team is a cross-functional team where engineers work together closely with product managers and product designers. The team's input is a user or business problem which it can solve with a high degree of autonomy. From day one all profiles are involved in understanding the problem, ideating solutions and doing quick experiments to prove that a certain solution might actually lead to the desired outcome. After the discovery phase the same team is tasked with the delivery of the chosen solution. The team will then track the adoption of the solution and will make sure that the problem is actually solved. The setup of the team is largely based on the book "Inspired" by Marty Cagan.
What does working at Silverfin look like?
The product team will work together with the other Silverfin engineering teams. While the product team is set up as a stream-aligned team, most other teams are set up as platform teams around modules and topics of the Silverfin application. They are helping the stream-aligned team to develop solutions fast and without a lot of mental overhead. The platform teams' focus is the stability and long term architecture of the product as well as building frameworks and libraries that can be used by the stream aligned team. If those terms are not familiar to you, check out the "Team Topologies" book by Manuel Pais and Matthew Skelton which inspired this structure.
Our ops team ensures things run smoothly, deploys happen correctly, and will work with you when issues should arise. We’re enthusiastic followers of the devops mindset, which means ops and developers work together to solve problems, and empower each-other to be self-sufficient, instead of throwing problems over the wall to the “other side”.
We run an up-to-date Rails monolith on the backend, with PostgreSQL and Redis for persistence and caching, and everything is running on a Kubernetes cluster in Google Cloud. Our daily tools include GitLab, Quip and Slack, with Zoom as our remote conferencing tool of choice.
No code gets deployed without a code-review by a peer and testing is a must. Our pipeline automates deployment when the suite is green, and deploys happen dozens of times a day. Each team is currently doing Kanban, but they’re free to follow whatever process suits them best. There are regular retros held to work towards continuous improvement.
Software for accountants is not considered to be very exciting, but we have our fair share of technical challenges. To give you a sense of scale: our database exceeds 10TB*, and our largest table has crossed the 10 billion row mark a long while back. We interface with more than 30 different external APIs, and provide third parties an API of our own.
*: Our ops team noted that this actually isn’t that hard to achieve if you’re just indexing everything, but it still sounds impressive, right?
What makes the engineering team at Silverfin special?
We’re a remote-first engineering team of 35 people distributed in 14 different countries over two continents. A priority for us is maintaining proper work-life balance. We avoid meetings as much as possible, accept deadlines only when absolutely necessary, and never expect anyone to work longer hours than they’ve signed up for. A day in our working lives is pretty boring, and we feel that’s exactly how it should be.
Working with us means you can be flexible with your schedule. It’s OK to disappear for a few hours in the middle of the day to run some errands, get a haircut, pick up the kids - whatever reason, you don’t need to explain yourself. You also fully decide when you take time off: our team is sufficiently varied and well organised that there are always enough people around to handle the load, and in the rare cases it’s not, we will decrease the load instead of asking people to move their holiday.
Being remote-first means we favour asynchronous communication. We don’t shy away from chatting in Slack, but the important decisions or discussions are done in Gitlab issues, over email, or in Quip, so there’s a written, persisted record. We’re mindful of maintaining long chunks of focussed time, which means we avoid @-mentions or PMs on Slack, and other triggers and interrupts. We encourage using Slack’s DnD function, especially when you’re not working!
We’d be really happy to welcome you in our #engineering channel, but it’s not just virtual: we make sure we regularly get to see each other in real life too. Twice a year we fly the whole engineering team together to a different location in Europe, and at least once a year we join up with the rest of the company so we can spend some time together with the other departments.
What does your future look like?
Personal growth is key to staying motivated. At Silverfin you don’t need to move to management in order to advance. We see the individual contributor track and the management track as two different growth paths which every engineer can follow and switch between. You can be promoted, including pay raises, as a contributor just like as a manager.
Everyone has a €1000 yearly budget to spend on conferences, courses, workshops or other training to improve their skills and level up. This also includes accommodation, travel costs. If the conference is on a workday you’ll get paid like any normal day.
You can apply today and we’ll start having interviews from 27/03. There’s no benefit to applying early, so you can take your time answering the application questions.
- Apply for the job right here
- Or email us with any questions on firstname.lastname@example.org