<aside> ℹ️ This is a glossary of terms you might hear working at Sourcegraph. Although we try to minimize the use of acronyms, they do appear from time to time and this can be a helpful resource to figure out what people are talking about. In your day to day, try to avoid using them, or at least explain them the first time you use them.
</aside>
Term | Definition |
---|---|
GQL | GraphQL (a type of API, sort of like HTTP or Rest APIs) |
VSCE | VS Code Extension, referring to either the Sourcegraph integration extension for the VS Code IDE, or the Microsoft tool called ‘vsce’ used to publish extensions |
Bext | Brower extension, sometimes pronounced literally as “bext” or “baxt” |
LSIF | Language Server index Format, a specification created by Microsoft which Sourcegraph uses to provide code intelligence. |
RFC | Request for comments |
RFH | Request for help |
RCE | Remote code execution (a security vulnerability) |
MSP | Managed Services Platform. The standardized tooling and infrastructure for deploying and operating managed Sourcegraph services. |
SAMS | Sourcegraph Accounts Management System. The centralized accounts system for all of the Sourcegraph-operated systems. |
SSC | Self-Serve Cody. The system that lets PLG customers sign up for Sourcegraph and manage their subscription. |
SSRF | Server side request forgery (a security vulnerability) |
SEO | Search engine optimization, making Google understand our web pages better |
SSBC | Server-side batch changes. Large scale code refactoring that runs as part of the Sourcegraph server, rather than on a developer’s laptop. |
POC | Proof of concept |
PR | Pull request, where code is sent to be reviewed before becoming a part of the product |
TODO | A note left in the code as a comment indicating something we should do |
DFS | Damn Fine Source code |
Easy stamp, stamp please | Change that needs approval but not review |
CI | Continuous Integration, a server that runs our tests and ensures things are not broken. Often stated as “CI is failing” and “CI is slow” |
Dogfood | Either k8s.sgdev.org (the “dogfood” instance) or just saying “we should try what we built” in general |
dev | Someone who can barely write code, but does so professionally |
k8s | Kubernetes, a thing for deploying software across multiple computers. The “8” is because there are 8 characters between the letter K and s. Kubernetes |
a11y | Accessibility, the “11” is because there are 11 characters between the letter A and Y. accessibility |
i18n | Internationalization, like having the UI show in multiple languages. |
GCP | Google Cloud Platform, servers hosted on Google’s cloud |
AWS | Amazon Web Services, servers hosted on Amazon’s cloud |
SMTP | Simple Mail Transfer Protocol, email server protocol |
IMAP | Internet Message Access Protocol, email server protocol |
IDE | Integrated Developer Environment, the text editor people use to write code |
HG | Horse Graph |
Standup | Everyone sits down for 15/30/60m and says what they are doing. Sometimes they just type it. |
pgsql/psql | Postgres database |
MVP | Minimum viable product, the bare minimum needed to see a feature working for example. Think “very early stages, experimental” |
MVC | Model-View-Controller frontend/JavaScript pattern. React. Google “MVC” |
TDD | Test driven development, you write the tests before you write the code that would pass the tests. |
API | Application programming interface; like when your browser makes a request to your bank’s web server to send money |
DOM | Document Object Model, a tree of buttons/text/etc that are displayed in browsers. “The DOM” refers to all the stuff making up the web page. |
LOC | Lines of code |
LOE | Level of effort |
FSM | Finite-state machine. An abstract machine that can be in exactly one of a finite number of states at any given time. See https://en.wikipedia.org/wiki/Finite-state_machine |
dotcom | Sourcegraph.com |
airgapped instance | Self-hosted customer instance that does not allow any outbound network requests; offline to any external network requests. |
private instance | Self-hosted customer instance that does not share telemetry data (to be enforced via license tagging); does allow outbound network requests. |
airgapped code host | A code host that is physically isolated from the internet. For example, the code host is deployed on hardware (server) that is within the customers’ office/private data center and the only way to connect to this code host is to be physically connected to this air-gapped network; a user has to be within the office and be connected to the air-gapped office network via ethernet cable of wi-fi. |
private code host | A code host deployed in a private network (for example AWS EC2 instance within VPC). |
public code host | A code host that is publicly accessible on the internet - a user can CURL it via IP or open the URL in the browser. This also includes a code host with a public interface but restricts access to IP allowlist. |
KTLM | Keeping The Lights On, time set aside during each product cycle for handling bug reports, user feedback, general maintenance, dealing with tech debt, etc. |
PLG | Product-Led Growth |
CHOP | Chat oriented programming. |
The name Steve Yegge came up with to describe using LLM's to code. See his blog post, Death of the junior developer for more on this in context. | |
one box | This is the internal term we use at Sourcegraph to describe the single input box (aka “one box”) that users will interact with once we unify code search and Cody into one lovable code intelligence product. See ‣ for more on our strategy to unify the two product. |
Note: It’s written as “one box” not “OneBox” or “One Box” because it is just a place holder term, not a proper noun or approved brand. | | Noodle | The code name we used internally at Sourcegraph for the tiger team who worked on early iterations of the unified product (where there's one box for search and chat) as more and more of EPD department work on that one box, this team will disband. |
Term | Definition |
---|---|
EPD | Engineering, Product, Design - refers to the department that includes those three teams. |
AE | Account executive - responsible for maintaining an enterprise customer account and our relationship with them |
CE | Customer Engineer, e.g. pre-sales engineer |
IE | Implementation Engineer |
TA | Technical Advisory, e.g, post-sales customer success |
SE | Support engineer |
PS | Professional Services (our IE and RA teams) |
RA | Resident Architect, part of our PS team. An offering we provide to Enterprise and Strategic customers |
SDR | Sales Development reps - focused on reaching out to customers, determining if they’re good leads to follow up on |
GTM | Go to market |
EM | Engineering manager |
PM | Product manager |
TPM | Technical Program Manager |
PD | Product designer |
IC | Individual contributor, not managing other people. Still works on a team with other ICs. |
Releases team (formerly Release Guild) | A captain of releasing the product, drives releases, gathers and informs others about the release, helps test the release, fixes and discovers issues in the release before it goes out. |
DevRel | Developer relations, they post on Hacker News, Reddit, and Twitter about how cool we are. They give talks and go to conferences |
DevInfra | Developer infrastructure, improving lives of devs working on sourcegraph |
People ops | The HR department, scheduling interviews etc. |
Biz ops | Business operations, like financial modeling, managing legal aspects, etc |
IT tech ops | IT team, if you have laptop issues or need to order a computer |
Ops | Operations (includes Finance, Accounting, Legal, People, Data & Analytics, Strategy, and Tech Ops) |
Term | Definition |
---|---|
PO | Purchase order |
DRI | Directly responsible individual, the “one true owner” of something |
ARR | Annual Recurring Revenue |
iARR | Incremental Annual Recurring Revenue |
CAR | Completion Acceptance Rate |
DAU | Daily Active User |
WAU | Weekly Active User |
MAU | Monthly Active User |
SMB | Small-to-Medium Business; for us this is companies with less than 100 developers |
MM | Mid-Market; for us this is companies with 100 - 500 developers |
MBA | Master of Business Administration - a degree, not to be confused with the NBA which is a basketball team |
Term | Definition |
---|---|
PTAL | Please take a look |
LGTM | Looks good to me |
SGTM | Sounds good to me |
IIUC | If I understand correctly |
ICYMI | In case you missed it |
NBD | No big deal / not a big deal |
AFAIK | As far as I know |
LFG | Looking for Gutekanst - sometimes Looking for Group; alternatively, Let’s…Go! |
YAGNI | You aren’t gonna need it |
ACK | Acknowledged |
OOTB | Out of the box |
This guide is made to define and explain many of the terms that are commonplace in conversations at the Sourcegraph office but not necessarily outside of it. The goal of this guide is to break down these terms in a way that your average person can comprehend, at least at a very high level. Think of this as an "intro to dev-speak" :)
Term | Definition |
---|---|
Editor | A code editor is a text editor program specifically made for editing code of computer programs by developers. It may be a standalone application or it may be built into an integrated development environment (IDE) or web browser. |
Basically, it's the environment where developers write code. Similar to how someone can use Google Docs or Microsoft Word to write and edit an essay. | |
Binary | The simplest form of computer code or programming data. It is a series of 1s and 0s that makes up the “language” that computers understand. It's also used to refer to a pre-compiled executable program. Source code is generally compiled into a binary to be executed on specific operating systems. |
Code | The fundamental component of a computer program that is created by a developer. It can be read and understood by a human and then translated into machine language (binary machine code). |
Humans don’t usually write in the language that computers understand since it’s just a series of 1s and 0s. Instead they write in different programming languages that can be “translated” to instructions a computer can understand. | |
Programming language | Language used by developers involving certain vocabulary and set of grammatical rules for instructing a computer to perform specific tasks. (examples: Go, JavaScript, Python, and many more). Basically, it's a type of language used by developers to make a computer do what they want. |
Compiler | A compiler takes computer programs written in a programming language and converts them into machine language that a computer can understand and run. |
For example, if you’re traveling to France, but you only speak English, you will have to figure out how to communicate in French. You will probably need some sort of translator (a friend, a book, an app, etc.) to translate your words from English to French. Compilers “translate” what developers write in a programming language to binary– a language that computers understand. | |
Open Source | In software, open source code is any publicly accessible code/project/design that can be read and modified and redistributed for any personal, commercial or educational use. |
For example, if you have a recipe for cookies that you want to share with others, so you share it in a public blog– anyone now has the ability to read it, make it, and modify it for whatever they want. | | IDE (Integrated Development Environment) | A software development tool that is similar to an editor, but has other necessary tools (debugger, tester, compiler, etc.) integrated. Imagine a Google Doc that has tools built in for error detection, previews, and language translation. | | Code Host | A service like GitHub, GitLab, or Bitbucket which provides storage and remote access to code. It's basically where your code lives. | | Version Control | A system that tracks changes to a document or project over time in an orderly and systematic way. This is similar to how a Google Doc allows you to review a document’s history (see what changes occurred, who made which changes, etc.) Version control provides the ability to “time travel” and restore previous versions of the document in case something went wrong with one of the changes. | | Git | A version control system, developed for the maintenance of code with particularly strong support for simultaneous efforts by many developers. | | README | This is the file outlining the project and is written by the project developers for others to read. It is comparable to a “front page” of a project, where the project is outlined and described by those that worked on it. | | Issue | A report of a possible problem with a project or piece of software. (Just like a real issue!) It is something of concern that you want to flag so it can be corrected. | | Pull Request (AKA "PR") | A request in GitHub for someone else to review your work for any possible errors or flaws before finalizing changes. For example, if you had written an article, and you were almost ready to publish it but first you wanted someone else to review it. They would have the option to provide feedback through comments or approve it for publishing. | | Merge | The act of taking a series of changes in a document or project (commits, for Git) in a branch and applying them to the existing repository. Generally, merging happens once your pull request has been approved. | | Commit | In Git, a single set of changes. This is how you store changes in your repository. | | Repository (AKA "repo") | A collection of (usually related) source code and other files, plus the history of those files. It is a location for your project, similar to a Google Drive folder that stores related documents in one place. | | Branch | A specific series of changes in a repository, usually used to isolate changes during their development. Branching lets you make changes, test them in a staging area, then merge them into the “main branch” (the “live” part of your code). | | Main Branch | The primary branch of a repository, usually holding the actively-developed product and working of features (non-working versions tend to stay in branches). This is the “live” part of a project that can be viewed by the public. Sometimes referred to as the "master" branch. | | Clone | A copy of a repository, including its full history. Similar to a copy of a Google Doc with all its revision history. | | Fork | Making of a new repository which starts as a clone of an existing repository. Usually used to create changes for submission back to the repository, but also used to make a version that has changes that the original repository’s owner won’t include.
For example, if you took a Google Doc template and made a copy of it so you could use it and edit it, but you also altered the original template to add things the original template didn’t include. | | Ship | A word which simply means that you make a feature or product available to customers. | | Dogfood | A word to describe the act of using your own feature or product. Software is often deployed internally for employees to use before going live for customers. | | Markdown | A text markup language to allow plain text to convert to styled text using common conventions, such as _ italics _ or ~~ strikethrough ~~ It's just a shortcut to edit text (bolding, italicizing, underlining, etc.) without having to click the buttons on a toolbar. | | Command Line (AKA "terminal") | A text-based interface for controlling computers by issuing textual commands. Basically, it's a place where you can enter commands for your computer to execute. |