-
Notifications
You must be signed in to change notification settings - Fork 17
docs(compensation): get paid based on the track model #155
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
27 commits
Select commit
Hold shift + click to select a range
5c4cd16
docs(compensation): read the pay model for both tracks in prose
zolotokrylin 88f7076
docs(compensation): point Entry at the guidelines already in this repo
zolotokrylin a7da1e6
docs(compensation): move the commission rate out of this public repo
zolotokrylin 05b2f16
docs(compensation): drop the undefined Product Owner title
zolotokrylin 4612890
docs(compensation): name Partner as the acquisition track's account role
zolotokrylin e8ad7df
docs(compensation): drop cross-repo links, keep this file self-contained
zolotokrylin 9741c5d
docs(readme): rename the docs index to Contributing Guidelines
zolotokrylin 118f97a
docs(advocacy): fold ADVOCACY.md into DEV-510 and DEV-520
zolotokrylin c8e6e69
docs(rules): move the product/specs subtree facts into DEV-180
zolotokrylin 05c799b
docs(readme): delete the orphaned application-success page
zolotokrylin fd224d9
docs(readme): delete the stale trial-period doc
zolotokrylin b57b501
docs(readme): split entry point and index by job, not by title
zolotokrylin 0f1005e
docs(rules): fix the X handle in DEV-520
zolotokrylin 0dba4ce
docs(rules): add Bluesky as a fourth channel in DEV-510 and DEV-520
zolotokrylin 1d3b51f
docs(rules): swap DEV-510/DEV-520 so advocacy depends on setup
zolotokrylin c12b7b9
docs(rules): mark DEV-510 semi-automated, Wizard opens the Problem
zolotokrylin cd416c8
docs(rules): rename categories so Contribution isn't one category's name
zolotokrylin 320a8e1
docs(rules): cut the redundant Rule file format section
zolotokrylin 794e94a
docs(rules): restore the Goal/Problem/Solution overview
zolotokrylin ded41d0
docs(rules): cite Planning's rule IDs per DEV-040, not by description
zolotokrylin 05fe176
docs(rules): fold the rule ID into the descriptive anchor
zolotokrylin 6fc2d7e
docs(compensation): add pay by level, fix juniors wording, official B…
zolotokrylin d4f6eae
docs(compensation): remove a contradiction and a duplication, finish …
zolotokrylin 990a11d
docs(compensation): drop the private hr-internal link from Pay by Level
zolotokrylin aab7e76
docs(compensation): tighten the Goal line
zolotokrylin ea7aa1a
Update docs/rules/DEV-510.md
zolotokrylin a133972
docs(compensation): find your rate in your own Special Terms
zolotokrylin File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,30 +1,86 @@ | ||
| # Compensation Guide | ||
|
|
||
| **Goal:** Reward impact, not titles or location. Pay based on merit—what you | ||
| deliver independently. | ||
| **Goal:** Reward impact, not titles or location. Pay follows what you deliver. | ||
|
|
||
| > Open roles: [holdex.io/c/jobs](https://holdex.io/c/jobs) | Mission: [holdex.io/about](https://holdex.io/about) | ||
| > Open roles: [holdex.io/c/jobs](https://holdex.io/c/jobs) | Mission: | ||
| > [holdex.io/about](https://holdex.io/about) | ||
|
|
||
| ## Core Rules | ||
|
|
||
| 1. **Clear incentives** — Same job, same level = same pay. More results = more | ||
| rewards. | ||
| 1. **Simple framework** — Consistent rules for growth. | ||
| Same job, same level pays the same, and more results earn more reward. The | ||
| framework stays simple and consistent so growth doesn't get renegotiated case by | ||
| case. | ||
|
|
||
| ## Levels & Core Skills | ||
| ## Two Tracks | ||
|
|
||
| | Level | Key Traits & Expectations | Team Culture | Goals | Problems & Solutions | | ||
| | ---------------- | --------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------- | --------------------------------------------------------------- | | ||
| | **Entry** | Student mindset: Bug-free. Execute tasks. Research. Learn fast. Communicate clearly. Take feedback. | Follow [principles](https://holdex.io/c/learn/principles) & [GitHub rules](https://holdex.io/c/learn/github-strategy). | Understand goals. | Solve, estimate, research, present. Help juniors. | | ||
| | **Intermediate** | Confident executor: Solve complex problems. Lead small parts. Help Entry. Strong opinions. | Follow principles. Remind team. | Break into problems. Research solutions. | Identify real problems. Break down. Prioritize. Review juniors. | | ||
| | **Lead** | Project owner: Run full projects. Delegate. Coach team. Align with business. Inspire. | Coach others. Lead in projects. | Set timelines. Ensure delivery. | Delegate. Distribute to best fit. | | ||
| | **Partner** | Big-picture leader: Own multiple projects. Shape strategy. Say no when needed. Grow culture. | Improve rules/values. | Define business goals & priorities. | (All above + strategic input) | | ||
| Every role falls into one of two buckets: delivery or acquisition. | ||
|
|
||
| Delivery covers building and rendering the service: engineering, design, and the | ||
| operational work that keeps an account running. It's paid on hard skill and | ||
| cost-effectiveness. Developers are paid per code delivered, billed hourly per | ||
| month, and the levels below set what that skill looks like at each stage. | ||
|
|
||
| Acquisition covers client acquisition and retention: sales and business | ||
| development. It's commission-based on closed deals, and if you bring in a lead | ||
| that gets onboarded and you're positioned to join as Partner for that account, a | ||
| fixed rate is added on top of commission, per Pay by Level below. | ||
|
|
||
| The two tracks are judged on different things by design. Delivery is judged on | ||
| skill and problems solved, the same principle [DEV-440](./rules/DEV-440.md) | ||
| states for reviewing pull requests: value delivered, not effort spent. | ||
| Acquisition is judged on closed business, not on hours logged or activity | ||
| performed. Research, CRM upkeep, and reporting are methods, not deliverables: | ||
| they support acquisition work but aren't paid for on their own. | ||
|
|
||
| ## Delivery Levels | ||
|
|
||
| Four levels, each with its own traits, culture, and goals. | ||
|
|
||
| **Entry** operates with a student mindset: bug-free execution, fast learning, | ||
| clear communication, and taking feedback well. Entry follows the | ||
| [Developer Guidelines](../README.md), understands the goals handed to them, and | ||
| solves the Problems already scoped for it: researches, estimates, and presents a | ||
| solution, while helping other Entry-level teammates. | ||
|
|
||
| **Intermediate** is a confident executor: solves complex problems, leads small | ||
| parts of a project, helps Entry-level teammates, and holds strong opinions. | ||
| Where Entry solves the Problems it's given, Intermediate additionally breaks a | ||
| whole Goal into its full set of Problems (per [DEV-150](./rules/DEV-150.md)), | ||
| identifies real problems rather than symptoms, prioritizes them, and reviews | ||
| Entry-level teammates' work. | ||
|
|
||
| **Lead** owns projects end to end: runs full projects, delegates, coaches the | ||
| team, aligns work with the business, and inspires. Lead sets timelines, ensures | ||
| delivery, and distributes work to whoever fits it best. | ||
|
|
||
| **Partner** thinks in the big picture: owns multiple projects, shapes strategy, | ||
| says no when needed, and grows the culture. Partner defines business goals and | ||
| priorities and improves the rules and values everyone else works within. | ||
|
|
||
| ## Pay by Level | ||
|
|
||
| Entry is the trial phase run by [holdex/trial](https://github.com/holdex/trial): | ||
| unpaid, and it ends when the trial goal clears and the contributor graduates to | ||
| Intermediate. | ||
|
|
||
| Intermediate and Lead are paid an hourly rate agreed per engagement and recorded | ||
| in your own Special Terms, which HR prepares from the template in | ||
| [holdex/contractor-terms](https://github.com/holdex/contractor-terms) and stores | ||
| privately. Ask your lead for your number. The rate is fixed for the engagement, | ||
| not the total: more hours delivered still means more pay, per Core Rules above. | ||
|
|
||
| Partner is paid a fixed rate plus a percentage of the deals they close. The | ||
| exact numbers are set by leadership per deal: ask your lead for the current | ||
| terms. | ||
|
|
||
| Every level above Entry requires ongoing compliance with the Developer | ||
| Guidelines. Falling out of compliance is a demotion back to Entry, not a | ||
| warning: the rate that comes with a level is conditional on holding the bar, not | ||
| a status earned once. | ||
|
|
||
| ## Growth Path | ||
|
|
||
| | Level | Focus | | ||
| | ---------------- | --------------------------- | | ||
| | **Entry** | Learn → Execute → Ask | | ||
| | **Intermediate** | Solve → Teach → Lead small | | ||
| | **Lead** | Own → Delegate → Coach | | ||
| | **Partner** | Strategize → Scale → Say No | | ||
| Entry grows by learning, executing, and asking questions. Intermediate grows by | ||
| solving, teaching, and leading small pieces of work. Lead grows by owning | ||
| projects, delegating, and coaching. Partner grows by setting strategy, scaling | ||
| the business, and knowing when to say no. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.