For a while, team compensation has been a sensitive topic at OpenCraft. Accordingly, it’s been a difficult topic to bring up and participate in.
Previous discussions have taken place at OpenCraft regarding raises, hourly rates and compensation. The latest discussion played a large role in openly defining the Team Compensation process in the handbook.
According to the handbook, team compensation is a sensitive topic which might result in a lot of friction when it is coupled with self worth and comparable work. Regardless of the approaches available across different companies to address these issues, unfortunately, making someone feel undervalued is inevitable.
Some of the companies, such as GitLab, rely on a salary calculator based on location in an attempt to solve the inequality issue. The handbook makes it clear that OpenCraft hardly considers location a fair criteria. According to the handbook, it shouldn’t matter where members are located if they are able to produce the same quality of work.
Another option some companies attempt to utilize is setting a unique salary for everyone. Unique salaries bring their own challenges because they require either eliminating the company’s competitiveness on the international market or underpaying team members from certain parts of the world depending on which salary is chosen.
Accordingly, OpenCraft has attempted to strike a balance by adding a minimum hourly rate and team-wide raises.
A minimum hourly rate at OpenCraft helps ensure that even members who low-ball themselves get the chance to live comfortably. The minimum hourly rate is available for core members only, to ensure they are fairly compensated.
In addition, OpenCraft offers team-wide raises where hourly rates are bumped by a percentage amount by the end of each year, based on the overall company results. This enforces a collaborative atmosphere where members are rewarded for staying with the team longer.
By not individually negotiating rates, and directly accepting or rejecting initially proposed rates, OpenCraft attempts to eliminate the unfair advantage some people might have over others when it comes to negotiating.
OpenCraft allows discussing such sensitive topics and finding appropriate solutions, as the one in place, because of its core values. OpenCraft highly values openness, quality, commitment, and empathy , and does a good job at including them in most processes created.
According to Xavier Antoviaque, OpenCraft’s CEO, “OpenCraft is like an open source project - when something with it doesn’t work well for you, patches to fix it are not only possible, but welcomed”.
Due to OpenCraft welcoming change and the Developer Advocate role being in discussion, I considered demonstrating the main responsibility of the role by discussing one of the highly avoided topics at OpenCraft at a depth that has not been done on the forum before.
The team compensation process hasn’t been working well for me and some other members. This process lead to me reconsidering my future at OpenCraft, a company which I adore. In hopes of having the team compensation process better aligns with the developers’ success at OpenCraft and the future of OpenCraft, I’m hoping to contribute some of my ideas to the friction I had with it.
According to OpenCraft, choosing the hourly rate should factor in for vacations, sick days, and some additional costs. The current minimum hourly rate, although generous, becomes insufficient when those costs are considered. Therefore, a specific calculation is done in hopes of justifying raising the minimum hourly rate.
Moreover, team-wide raises encourage members to stay at OpenCraft. Even though the intentions behind team-wide raises is wonderful, it requires further refinement. In hopes of making it possible for developers to progress at a faster rate than switching companies, the idea of a 1 year contract life-span is suggested.
In a perfect world, an optimal month of work is a month consisting of 22 business days where the member fulfills their whole commitment (ie. 132 hours or 176 hours — depending on the member’s weekly commitment).
With a whole year of optimal months , this accounts for between 39,600 euros and 52,800 euros per year while making the minimum hourly rate.
Unfortunately, optimal months of work are rarely the case, because humans are not perfect and are susceptible to life’s mess and chaos. Therefore, according to the handbook, when choosing the hourly rate, one should account for the following costs as well: “taxes, vacation and benefits, and insurance for sickness or unemployment”.
If one accounts for sick days, vacations, public holidays, and weekends, they are left with an average of 227 days of work, instead of the optimal year consisting of 260.
This was calculated by following the following steps, which you can skip if you’re not interested:
245 is the average number of business days in a year, excluding weekends and public holidays, for the past 10 years (can be calculated using timeanddate).
Although, according to IAmExpat, sick leave in Germany is granted up to 6 weeks, that number seems pretty high for a remote job. Meanwhile, according to Indeed, full-time employees in the private sector are given an average of 7 days of sick leave in the United States of America.
238 days of actual work remain after taking 7 days of sick leave into consideration.
According to Global Workspace Insider, employees working five days a week are entitled to 20 days of paid vacation; this number seems a little bit high given the remote worker’s freedom in traveling while continuing to work. Meanwhile, in the United States of America, full-time employees receive 11 of paid vacation, according to Indeed.
227 days of actual work remain after taking 11 days of paid vacation into consideration.
Hence, OpenCraft members earning the minimum hourly rate end up making between 34,050 euros per year and 45,400 euros per year by working 227 days, as long as they work 6 to 8 hours consistently for all 227 days.
After taxes, the minimum hourly rate no longer remains sufficient when accounting for the costs of insurance for sickness or unemployment. Assuming the tax rate is 10%, these members remain with income ranging between 30,645 euros to 40,860 euros. This accounts for approximately 2,554 euros to 3,405 euros per month.
For a family, the remaining amount would most likely go mainly towards different expenses, while saving a minor amount. For individuals, the remaining amount can provide a good-quality life.
According to OpenCraft’s values, by recruiting a team of senior professionals, they can ensure quality. Thanks to the high quality results produced by its team, OpenCraft can charge, at this time, 180 euros per hour for its services.
OpenCraft, with the quality of its services, has a vision of contributing to education and different communities. In addition, OpenCraft has a vision of growing “in a way that provides a nice lifestyle (remote work, flexible hours, expertise and growth) for everyone on the team”.
OpenCraft cares a lot about its developers and sets them as one of their main priorities. Thanks to that mentality, OpenCraft has managed to increase the hourly rates for its services.
Due to this large amount of growth, the minimum hourly rate forms 13.8% of what OpenCraft charges for its services.
Having the minimum hourly rate be set with respect to what OpenCraft charges for its services would play a huge role in improving the quality of life for members making the minimum hourly rate and providing them with a nice lifestyle.
It’s usual for companies to charge much more, per hour; companies have different expenses which need to be accounted for. Two of the main expenses that need to be accounted for at OpenCraft are sustainability, internal work unrelated to client projects, and a rainy day fund, in case client work halts.
However, by doing some calculation, we can attempt to reach a different minimum hourly rate which would improve the members’ lifestyle and ensure that a large of the remaining amount goes towards OpenCraft’s expenses.
Yearly income for Software Engineers is different based on locations. Location is definitely not a fair criteria in specifying a members’ yearly income, as OpenCraft acknowledges in its handbook.
Accordingly, since OpenCraft is based in Berlin, Germany, I chose to compare the yearly income an OpenCraft member making the minimum hourly rate generates with the 25th percentile of salaries for Software Engineers located there.
This comparison is in hopes of providing OpenCraft members, making the minimum hourly rate, with the value of the 25th percentile of salaries for Software Engineers in Berlin, Germany.
According to levels.fyi, the 25th percentile makes 70,550 euros per year in Berlin, Germany.
OpenCraft members earning the minimum hourly rate, at the moment, make between 48% to 64% of what Software Engineers in Germany make. For an OpenCraft member to make 70,550 euros per year, while maintaining a healthy work-life balance by working the minimum full-time requirement of 30 hours per week, the OpenCraft member would have to make 52 euros per hour (70,550 / (227 * 6) ~= 52).
Accordingly, I’m hoping that OpenCraft would increase the minimum hourly rate to form 25% to 30% of what it charges for its services. At the moment, this would range between 45 to 54 euros per hour.
According to OpenCraft’s vision, they “aren’t focused on hyper-growth and profits, but try to grow in a way that provides a nice lifestyle (remote work, flexible hours, expertise and growth) for everyone on the team”.
Hence, I believe that having the minimum hourly rate be a percentage of what OpenCraft charges by the hour is something OpenCraft might possibly consider. In case OpenCraft chooses to move forward in such a direction, I trust that OpenCraft would choose the best percentage which would most benefit its developers while stunting its own growth.
In theory, team-wide raises are there to reward members for sticking with OpenCraft for a long time. Personally, I admire the intentions behind having team-wide raises.
Having team wide raises makes people more conscious about the whole team and its success, as well as theirs. Accordingly, it encourages a collaborative atmosphere, which aligns perfectly with OpenCraft’s different cell processes.
However, growing at OpenCraft, through team-wide raises, is extremely difficult, especially if members start with the minimum hourly rate.
In a perfect world, where team-wide raises, every year, are 10%, an OpenCraft member, earning the minimum hourly rate, needs 8 years to reach the 25th percentile of salaries in Germany, 70,550 euros per year.
This comparison is again being done in hopes of providing OpenCraft members, making the minimum hourly rate, with the value of the 25th percentile of salaries for Software Engineers in Berlin, Germany.
Instead of spending 8 years at OpenCraft, the very same engineer can, instead, transition, after 1 or 2 years at OpenCraft to a different company which pays the needed rates. After another year or two, the same engineer can apply back to OpenCraft at an even higher rate.
Therefore, In 2 to 4 years, the engineer can make more progress than they would’ve at OpenCraft even after staying with the company for 8 years.
Team-wide raises are much like earning interest rates at a bank. You will barely get anything out of it, unless you already have high hourly rates. Team wide raises are mainly effective for members who have an hourly rate of 50 euros or more. Only then would team-wide raises of 10%, which aren’t always the case, be significant for those members.
Therefore, for an OpenCraft member starting off at the minimum hourly rate, it becomes more efficient for them to leave OpenCraft for a couple of years, and re-apply the proper rates. Unfortunately, this highly contradicts with the team-wide raises’s intentions of “rewarding those who choose to stay in the team”.
This makes it less encouraging for members who start off with the minimum hourly rate to stick around for a while.
OpenCraft, for members who have good hourly rates, is a wonderful place to work and grow. However, for those making the current minimum hourly rate, that is not the case. After all, since there is no hierarchy in OpenCraft, the only senses of progression a person can have are learning and compensation.
Personally, I do want to continue at OpenCraft, even with the absence of hierarchy. I love the amount of open source work and community reach OpenCraft provides. However, I’m not satisfied with the current minimum hourly rate.
When I first joined OpenCraft, I set specified 15 euros an hour for the hourly rate. I was ecstatic when I was informed that the minimum hourly rate at OpenCraft is 25 euros an hour. I was receiving more than I ever needed, because I was a single person without any responsibilities.
Yet, life changes; it’s full with unexpected challenges. The amount I considered to be more than sufficient when I first joined OpenCraft is no longer sufficient now. The inflation at Lebanon almost nullified my father’s only income and froze all his savings, and I had to be responsible of providing for the whole family. This has been the case for the past many months. The situation resulted in my burn-out which in turn depleted my savings and resulted in an even worse burn-out.
Although I can seek other jobs in order to find the hourly rate that would be sufficient for my current situation, I do wish to continue working at OpenCraft for the reasons I mentioned before, and more… At the same time, it’s inconvenient for me to spend 8 to 10 years to reach an hourly rate which would be sufficient for my current situation; waiting that many years would feel more like a punishment than a reward. Waiting that many years in my current situation would delay my future because I’d be idle on survival mode for years.
The contract is “unlimited by time”. I know a lot of members, like myself, who love their jobs at OpenCraft. However, in the case of similar circumstances, when given the option of making twice as much, a member would be obliged to leave OpenCraft for a job they might not even want to be doing.
At the moment, there are no processes in place to help developers adjust to life situations, which are out of their control, without switching jobs.
However, if contracts were made to be binding only for a specific amount of time, preferably a single year, members would have the chance to either renew their contract, as is, or adjust their hourly rate without having to switch jobs.
OpenCraft, in its handbook, already gives a good idea regarding how negotiating hourly rates is not fair among members. To avoid negotiations, OpenCraft simply hires candidates with the rate they set, or reject them.
A similar approach can be taken when adjusting hourly rates on a contract with a single year life-span.
This would provide members with the chance to re-consider their hourly rate at OpenCraft, on a yearly basis without any justification. The member can either choose to re-price themselves or qualify for team-wide raises. OpenCraft can, then, choose to accept this request and adjust the hourly rate. But, if OpenCraft denies the request, the member would have to submit their one month notice.
By including this option, members would have the chance to adjust their stay at OpenCraft based on their life circumstances. This would help encourage members who love working at OpenCraft to continue doing so. Simultaneously, OpenCraft would ensure that members rely on team-wide raises, unless life circumstances dictate otherwise.
In addition, such an approach would align with OpenCraft’s value of empathy. It would also help highlight OpenCraft’s own commitment, another core value, towards its members.
OpenCraft, while holding onto its core values, does a wonderful job at discussing different topics related to its success and its developers’ success openly. Yet, OpenCraft considers its own processes to be “in-development”, encouraging different members to contribute their ideas to help reach a consensus among all.
Some topics are sensitive, while others are easier to discuss. Although there has been many attempts to discuss the sensitive topic of team compensation, some of the issues with the team compensation haven’t been openly discussed.
As an OpenCraft member, I have some friction with the minimum hourly rates and the team-wide raises which affect my future at OpenCraft. By discussing the friction I’ve had, openly, I’m hoping some refinement would be done to the process.
Having minimum hourly rates with respect to how much OpenCraft charges for its service and limited life-span contracts would help provide even more success for members within OpenCraft.
OpenCraft is a community and a team of wonderful members, and ensuring the future of these members within OpenCraft, regardless of their varying circumstances, would play a huge role at holding onto these members even longer.