How we work
Being distributed and remote-first comes with its fair share of challenges. The biggest challenge is probably that of tracking time to ensure full-flexibility and complete fairness to all team members and clients.
We strive to be fair with teammmates (everyone will work the agreed hours to the best of their ability) and to our clients (we only invoice time that's actually spent on their projects). For these reasons we track time in two ways:
- hours of presence at the office;
- hours of work on projects.
Hours of presence
Your contract includes the number of hours you are expected to be at the office during a regular work day. Considering our distributed nature "hours at the office" really means "hours spent working", including small pauses, like it would in a physical office. If you signed a full-time contract that means you should track 8 hours/day of presence.
During this time you should consider yourself "at the office" meaning that you're around, ready to do active work and to collaborate with the rest of the team.
Full flexibility is possible when it comes to when you work. At any given time during the day you can clock-in/clock-out with Factorial, the tool we use to manage the team. This will allow some pretty flexible scheduling as you are free to start/stop the timer whenever you need to account for events of your personal life.
Your timesheet on Factorial will be used at the end of the month to compute the amount of overtime and PTO hours you did, with very little maintenance needed. The only thing that requires a bit of planning ahead is requestuesting full days of Paid Time Off (PTO). We do this so that everyone is informed that you won't be available and they cannot count on your help on that particular day/week.
Hours of work
These are the hours you actually spend on work tasks and are tracked via Harvest. Keep in mind that Harvest is NOT a tool for controlling employees. We use it in order to be 100% transparent towards our clients and to improve our time management skills. If you are worried about it, reach out to your manager and they will be able to answer all of your questions!
Our Harvest account is setup with various projects and each project has several subtasks. Generally speaking, each client project gets its own project in Harvest and has tasks for Software Development, Project Management and so on. All of these tasks are billable, meaning any time you track will show up in the client's invoice at the end of the month. This means we need to be extra careful not to bill any time we don't spend working for a client.
Unfortunately, the line between billable and non-billable time is not always clear and, as each project is unique, there is no universal rule we can set. We trust you to make the right decisions in accordance with our values. Here are some helpful hints:
We consider this time to be billable:
- time spent working directly for the client;
- time spent pairing with another developer on the project;
- time spent communicating about work done for the client;
- time spent studying resources we need to work for the client.
On the other hand, we do not consider this time to be billable:
- time spent studying generic resources not specific to the client's project (e.g. if you're a junior developer and are reading about MVC, we don't want the client to pay for this);
- time spent waiting the client to reply (but, if you're constantly blocked by the client, you should reach out to your manager).
Also remember: multi-tasking is the enemy of time management. Not only does it actually slow you down instead of speeding you up, it also makes it virtually impossible to track time accurately. If you are struggling with multi-tasking or tracking time accurately, reach out to your manager.
In addition to client projects, Harvest also has two more for internal purposes, that are:
- Solidus - given the size and complexity of the Solidus ecosystem, we track time just like any other client project.
- Investment Time - this includes everything growth and learning related. The main reason for tracking this is to keep track of the yearly Investment Time budget.