Upsilon is a custom software development agency that focuses on building products and startups for clients and also has several in-house products.
Everything? Not yet, but we are getting there. If something is not in Fibery yet, I have a plan to bring it here.
We started out with financial models and calculations for the company, but right now everything from recruiting, onboarding, vacations, and inventory management to finance, invoices, and client management lives here interconnected.
So our workspace map is not even a spiderweb, it’s a separate beast and I don’t look at it often. It will be hard to explain everything at once, so in this case study, I’ll tell mostly about recruiting.
We were quite early adopters of Fibery, as we were following Michael’s previous work and projects. We switched to it almost two years ago from Airtable and lots of scattered Google Sheets… We hadn’t used Airtable for long though, not everything worked out for us at that time.
There was some learning curve, but in the end, I’m super happy we moved to Fibery, and here is why. 👇
Adding and automating new processes is very easy. I could not have imagined that we would reach this point — and there is still so much potential and so many things coming.
I stopped even looking for different tools for specific tasks or problems most of the time, as I know I can build it in Fibery and it will live in one ecosystem connected to all my other data. I’m not sure how much money we are saving because of that, probably, a lot. But I know for sure that working with all our data in one system saves a lot of my mental health.
In this case, I’ll tell you how we organized our recruiting/hiring process in Fibery.
Here are some problems that we were trying to solve:
Below I’ll tell you how we solved it. 🚀
Here is our Space map, it looks quite simple. We have 3 different databases:
The data from those databases is visualized with different views. The views menu is structured in the same way as our hiring process, from an open position to the hired candidate:
We start with a new position. It is where we keep all the information about who we need to hire, what are the requirements, which project is it for, what is the salary range, etc.
The list of positions looks like this:
And here is an example of a position card:
We overview the current status for all positions and candidates on a ‘Candidate pipeline’ board view:
The positions statuses are custom, here is the full list:
When there are a lot of positions and candidates and this view becomes too large to consume, we create smart folders for separate open positions:
Besides the ‘Candidate pipeline’ view we have separate views for our major recruiting statuses (Prescreening, Interviews, Offers, etc) so that we can focus on the specific status with one click. There are also different people and automations involved in different steps.
New candidates are automatically created in the ‘Prescreening’ state — which means our Sourcer found the matching candidate and created their record in Fibery.
The candidate card contains all relevant information (from CV to Sourcer and Recruiter info):
🤖 Once the card is created, automation kicks in: if the position is Frontend – our Frontend Lead gets a notification in Slack that a new candidate is available for his review. He follows the link to Fibery, checks the candidate, and accepts or rejects them. The creator of the card gets notified that the decision has been made.
The candidate moves to the ‘Waiting for interview’ state.
‘Upcoming Interviews’ view is quite straightforward: it is a list that shows candidates waiting for an interview. Recruiters contact them, agree on a date and time and add that information to Fibery.
🤖 Candidates with no interview date are colored red to bring attention to them.
After an interview, the responsible Lead goes to Fibery and gives feedback about the candidate using a special action button.
🤖 Action is created to do a few things at a time:
As soon as the candidate appears in the ‘Interview passed’ state — you guessed it — notifications are sent, to decision-makers this time. They receive information about the candidate (position, salary expectations, feedback), and mark if generally feedback is positive or not.
We are using a new feed view to go through candidates with feedback in Fibery:
The next action is to make an offer or reject the candidate. The ‘Reject’ action just moves the candidate to not hired state and notifies the responsible Lead about the decision.
The ‘Make Offer’ action is done by the recruiter once we discuss the offer details. The candidate moves to ‘Offer Made’ state and we are waiting for their response
It is important to monitor how your offers are doing and check in with candidates if needed. The most important information about the offer is placed here from the action. We add some fields for quick checks and coloring — for highlighting candidates that are near the date when the offer ends:
If the offer is accepted, we ask to fill the ‘Planned start date’ field for future use.
Next, we have a view for employees who are joining the team soon — to also keep an eye on them and check if everything is alright.
🤖 Automated notification is sent close to the start date to everyone who is taking part in the onboarding process.
Hired candidate moves to ‘Hired’ state and is displayed in a separate view. There are a few automated actions there, that help us:
🤖 When we create an Employee record, we simply reuse a lot of data from the Candidate records (Name, Start Date, Salary, etc.). The Employee and Candidate records remain linked for the future to easily check additional Candidate info for our employees if needed.
And there are a couple of automations that run immediately after employee creation like
But this is a whole different story for another time =)
We can also create bonuses for our recruiters right from here. We have a Recruiter entity that is connected to the Employee record — and commission is specified too. Commission for sourcing is fixed and used only in automation formula.
🤖 Based on this info, with a single Automation button click a set of bonuses is created for employees for different time periods, which are then used by our Ops to add them to the payment.
Apart from checking notifications and acting accordingly, we have weekly recruiting catch-up meetings, where we go through all our views, check the states, update our positions and create some action items for specific candidates.
And this is it. The whole process, step by step.
We also have some reporting that needs some serious updating for proper usage. But here are some examples for reference.
Here is one of our most important stats along with hired people. It deserves its own separate place =)
I think the next report has potential, especially for performance tracking, but for now, we don’t really use it that much.
Here are also the ‘Position overview’ report and a report that shows positions by client:
There are a lot of them really.
And I think I just got used to a lot of good stuff.
I have really high hopes for Fibery and where it is going. Checking the roadmap and updates usually brings me some great news and things to look forward to.
Here are a few general things that I would like to see improved and implemented:
There is a Slack integration which is awesome, but I would like to have the ability to:
And also I would love Fibery team and readers to give us feedback — what we can do better? What tips and tricks do you have to make our life easier? 🤗
Vandrouka
customer story
Vandrouka
customer story
Creating worlds
customer story
Creating worlds
customer story
TrueBrow
customer story
TrueBrow
customer story
Saving X-mas '21
customer story
Saving X-mas '21
customer story