Senior Ruby Engineer - Team Syncs - remote

Silverfin
Posted 3 years ago
If you’re any good at Ruby, this is probably not the first job ad you’ve seen, so we’ve done our best to stand out while also accurately presenting what we’re all about. If it sounds like you would enjoy working with us, don’t hesitate to apply or drop us a line with questions on engineering-jobs@silverfin.com.

Ahum. Here it comes.

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 optimize 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 day more than 15.000 financial service professionals use Silverfin to help and advise more than 200.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 Team Syncs?

One of the core features of Silverfin is integration with the bookkeeping software that accountants already work with, in order to import their accounting data. This means we have API integrations with over 30 different vendors, and we want to add many more as we expand to different markets.

Team Syncs is the team responsible for creating and maintaining those integrations. The ideal candidate loves working with APIs, including the uncertainty they bring. Some APIs we need to use are poorly designed, badly documented or unreliable, and it can be challenging to build a reliable integration. Yet the satisfaction of empowering our customers to import gigabytes of data from their clunky bookkeeping software and enabling the advanced features Silverfin makes it all worth it.

As a member of Team Syncs you’ll work on solving scaling issues, building and maintaining API clients, and improving transparency and communication on the status of the the sync process to the users.

What makes the engineering team at Silverfin special?

We’re a remote-first engineering team of 25 people distributed in 14 different countries. 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 organized 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 favor 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 our wiki, 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 working at Silverfin look like?

We work in nimble teams around 5 people in size, with each team taking ownership of a specific set of features of the application. Teams are responsible for a full slice across the stack, so both the backend as well as the frontend of each part is maintained by the same people.

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”.

Our stack is Vue.js and vanilla JS with a sprinkling of jQuery on the frontend and an up-to-date Rails monolith on the backend. We use 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.

We have a UI-kit to make front-end development easy and consistent, but at Team Syncs there will be little to no front-end development necessary.

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 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.

We’re looking to hire a lot of new colleagues, and we’d like to have a couple of more teams in the future. Each new team would also need a new teamlead, and we prefer to promote from within the engineering team. This means if you’d like to step onto the management track, there will be plenty of opportunities to do so in the near future. We pro-actively keep track of who would be interested, and provide feedback and learning opportunities to work towards such a goal.

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 up for mentoring coworkers and can give in-depth, productive feedback during code reviews. While you appreciate the small stuff, you recognize bikeshedding and can avoid its pitfalls.
  • You enjoy integrating with APIs and aren’t easily dissuaded when encountering unreliable or poorly documented systems.
  • You code with reason and can justify the important decisions you made during development.
  • You can communicate clearly in English, both written 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.

What can we offer you?

  • Actual, proper work-life balance
  • A salary range of €60.000 - €100.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 25 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

Requirements

  • 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 language.
  • You get Rails
  • Your work hours have some overlap with EU business hours (we require your local timezone to be within CET +/- 3h)

Nice to have’s

These would be nice but are definitely not necessary. Don’t worry if none of the following applies to you.
  • 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

Interested?