Posting a new job listing

Last updated:

|Edit this page

Creating a new job

  • Log in to Ashby
  • Hover Jobs
  • Click Admin
  • Click Create Job
  • Fill in the required fields
  • Click Create Draft

You will now be on the settings page for the newly created job.

Custom fields

We use custom fields to connect various data to each job posting. Below is the description and purpose of each.

Teams

Teams is the only required custom field. The value(s) selected determines pineapple preference, objectives, mission, team lead, and which team members appear in the sidebar. If multiple teams are selected, all selected teams will appear as accordions in the sidebar, and the mission and objectives will be hidden.

Timezone(s)

Determines the preferred timezone for the position. If a value exists, it appears under the title.

Repo

Determines which repo to pull GitHub issues from if using the Issues custom field.

Issues

A comma-separated list of GitHub issue numbers relevant to the position. Queried at build-time and shown in the automatically created Typical tasks section.

Salary

Determines which role to use in the salary calculator. If no value is present, the job title is used. The calculator is not rendered if there is no matching role in the compensation calculator. If the role has been newly added to the compensation calculator, you'll need to add the role as an option to the custom field in Ashby global admin settings.

Mission & objectives

Determines whether the Mission & objectives section is shown on job listings

Creating a new job posting

Pages are only created for listed job postings. While viewing a job in Ashby:

  • Click Job Postings in the sidebar
  • Click New Draft

From here, you can create a job description and add automations.

Job descriptions

Each job posting can have a different description. When creating a new description, separate sections by H2 if you would like them to be collapsible. When the site is built, sections that start with an H2 are transformed into collapsible elements and added to the table of contents.

Below is a list of the automatically created sections and how they work.

Salary

This section appears if the job title or Salary custom field matches a job in the SF benchmark file.

Benefits

This section appears on all job postings. The data in this section can be updated here.

Typical tasks

This section appears if any GitHub issues are added to the Issues custom field in Ashby. The custom field accepts a comma-separated list of GitHub issue numbers.

Objectives

This section appears if the team has a mission.mdx file in their team folder. Example

Interview process

This section appears on all job postings. The data in this section can be updated here. To add a custom interview process for a specific job, add a new key to the roleInterviewProcess variable and assign an array of IInterviewProcess objects.

Example:

JavaScript
const roleInterviewProcess: Record<string, IInterviewProcess[]> = {
'Site Reliability Engineer - Kubernetes': [
defaultInterviewProcess[0],
defaultInterviewProcess[1],
{
title: 'Technical interview',
description: `You'll meet with an Engineer who will evaluate skills needed to be successful in your role.`,
badge: '1 hour',
},
defaultInterviewProcess[3],
defaultInterviewProcess[4],
],
}

Custom description for the /careers page

By default, we look for section headers (<h2>) in the job description to show in the summary that appears at the top of the careers page. We're sniffing for these subheaders (in this order):

  • "Who we're looking for"
  • "What you'll be doing"
  • "Requirements"

If none of these are found, the job description will be blank.

If your job description has more creative titles, you can add a short custom description that only appears on this section of the website. (This will take priority over the subheaders listed above.) Add this in the role's settings in Ashby under the Website description field. It requires html, but here's a template you can use:

<p><strong>Things you definitely won't be doing:</strong></p>
<ul class="list-none p-0">
<li>❌ backlog grooming (it always sounded gross anyway)</li>
<li>❌ deciding what we build</li>
<li>❌ shielding developers from users</li>
<li>❌ project management/writing gazillions of tickets, RFCs, or PRDs</li>
</ul>
<p><strong>From you:</strong></p>
<ul class="list-none p-0">
<li>✅ SQL (any technical experience beyond this is a plus) - you must be able to be a self-serve PM, not relying on engineers to do analysis</li>
<li>✅ very proactive/organized</li>
<li>✅ collaborative</li>
<li>✅ several years of experience as a PM talking to users/interviewing</li>
</ul>

Apply

This section appears on all job postings. The input fields here directly reflect the Application Form assigned to the job. The Application Form can be found on the job's settings page.

Getting the job to appear on the site

If the job posting is published, the job will appear automatically the next time the site is rebuilt.

Questions?

Was this page useful?

Next article

Managing small teams

Small team pages are managed in a few places: MDX files in the repo under /contents/teams/{team-name} Quarterly goals, team-specific handbook content Team records in our CMS, with all fields editable directly on the small team page Team photo, mission, crest Small team FAQs Aggregated from team member profiles, and from our CMS Team page content Any MDX files in the repo will display below the team members and recently shipped sections. Quarterly goals We're moving toward having quarterly…

Read next article