Engineering Teams
Here are the cliffnotes about the Engineering Teams at Silverfin.
Team Communications
Team comms is in charge of three main components of Silverfin: the internal in-context communication system (hence our name), Insights and Workflows.
Insights is a system that allows accountants to run queries across all their clients. I.e. “which of my clients could be having cashflow problems in the next months”. Workflows help the accountants do their work in a structured way, while giving an overview over the current status.
Many of our features are interactive and are therefore more frontend heavy, which is why team comms is also the driving force behind progress and improvement on how Silverfin handles Javascript and frontend in general.
Team Core
Team Core is responsible for making sure the other teams inside Silverfin can be as productive as possible. This means we maintain and build integrations with external tools such as Salesforce, ClientSuccess and ExactOnline.
We have our own billing engine and make sure user roles and policies are enforced correctly across the application. We also maintain our own authentication app.
Lastly we're also in charge of making sure we're up to date with the latest Rails and Ruby versions.
Team Reporting
By now you’re probably aware that Silverfin deals with financial data. It enters the system through various means but once it’s all collected and organised it needs to be looked at and analysed. This is where Team Reporting’s work comes in. As the name suggested we implement subsystems that provide automated financial reporting in form of tabular reports or charts. We also work on the logic to produce PDFs as static deliverables.
When the reports and charts are consumed in our Web UI they have an additional interactive component allowing you do dig deeper into the numbers to understand the financial situation better. This interactivity of financial reports and how that can improve them in unique ways is where we have our focus for the current and future work.
Team Recon
Accountants need to reconcile accounts which means make them balance e.g. the money going out should match receipts. For accounts this is simple but for more complicated things like corporation tax this can be very complicated. The rules are different for each jurisdiction and can be altered (for example in a pandemic...).
At Silverfin we don’t try to encode these rules into the platform but we have developed a templating language based on Shopify’s liquid. This allows accountants to create their own logic. We allow them to create input fields which can store data on the template or company, and to export results that other templates can use. The language is used by lots of accountants daily, internally as well as externally from Silverfin.
There is a fair amount of tech debt as liquid was never designed to be this complicated. A large amount of the work accountants are doing on Silverfin is filling in these templates so making the templating easy to write and fast to run is important. Team Recon consumes data that team platform has ingested and creates markdown for Team Reporting to process. We are also connected to Team Comms as communication happens on these templates and insights can query them.
Team Platform
This team is responsible for bringing all the financial data into Silverfin. The financial data are the building blocks over what our customers/users/clients operate and for that, Silverfin needs to integrate with multiple services and make sure they keep running.
This team has mostly backend work, where most of the time is spent in understanding the API of a new service, building the integration with it and importing the data into the system.