strings: the Sourcegraph blog
A collection of characters, stories, and other elements
The Sourcegraph Test: 12 more steps to better code
Quinn Slack on
Do you use the best tools money can buy? We ask ourselves that a lot at Sourcegraph. It’s one of the questions in The Joel Test, Joel Spolsky’s classic 12-question benchmark of your team’s software engineering practices.
Since he published the test in 2000, the “best tools money can buy” have dramatically improved. Code review, better editors/IDEs, GitHub, etc. But now you also demand more. It’s not crazy to be using 5 programming languages, multiple repositories, 2 package managers, 200 open source dependencies, several linters, a complex frontend build pipeline, etc.
So, we made The Sourcegraph Test to measure how well your tools help you manage the reality of modern development:
The Sourcegraph Test
- Do you have jump-to-def in your primary language and editor?
- Does your jump-to-def work across repository boundaries?
- Do you have find-references in your primary language and editor?
- Do you have inline error messages and diagnostics in your primary language and editor?
- Do you have jump-to-def in your primary editor for all of the languages you use?
- Does everyone else on your team satisfy the above 5 questions at least as well as you do?
- Can you search over all of your code and dependencies in one place?
- Do you receive and perform code reviews?
- Do you have jump-to-def and find-references in your code review tool?
- Do you have jump-to-def and find-references in your code host?
- Can you review and discuss code even after it has been merged?
- Does your code review process use any form of checklist (i.e., it’s not completely up to the discretion of the reviewer)?
Give yourself a yes (1 point each) or no (0 points) for each question. A score of 12 is perfect, and 9 is pretty good. Most teams are at 4 or 5.
So what?
Until you’re running at 12/12 on The Sourcegraph Test (and The Joel Test), you’re wasting a lot of precious development time on tasks that aren’t core to your business and product. Tracking down the source of a bug takes an extra 5 minutes here, figuring out the impact of a change in a code review takes 10 minutes more, refactoring a method name via plain-text search adds half an hour on top of that — small numbers, maybe, but they add up fast, and they get more costly as your team grows. Any team that’s wasting 20% of their day is falling behind competitors and is being drained of their creative energy to create amazing products.
At Sourcegraph, we think every developer — in every company, in every language, working on any kind of code — deserves to be 12/12. See the Sourcegraph master plan for how we’re working to make that possible.
Share your score on Twitter! ➜
Note: The Sourcegraph Test is v0.9 so we can incorporate any feedback before finalizing it. Did we miss anything? Tell us @sourcegraphusing the hashtag #sourcegraphtest.