This page will walk you through how we hire at PostHog. The goal is to have a lightweight process that optimizes for speed for the candidate, but above all for quality of the hire.
Every hire introduces complexity to the organisation and increases our burn rate. As a result, we think very carefully about each new role, and we set an extremely high bar for the people that we do hire.
See our Strategy page to find out how we are thinking about which people we should be hiring, and when.
If we are hiring a role that we have less expertise in (e.g. a role we've never hired for before), it is worth getting an outside opinion on how to hire for this role before starting any of the below.
At the moment, we're not too worried about everyone on the team having really precisely defined job specs. PostHog is growing fast and job descriptions are changing rapidly so it's impossible to define a set list of tasks.
That being said, it is important that any job spec is written with your target audience in mind, in a clear and engaging way. There are several guides on how to this (here is a good one), and you can also look at previous job ads to get a feel for how we communicate about PostHog.
Once the job ad is out there, don't be afraid to iterate and improve on it given the data! You shouldn't feel constrained by your initial spec if it isn't quite working, or if PostHog's needs have evolved since you first wrote it. Bear in mind that you will need to update it everywhere it has been advertised, so it is worth putting the effort in up front to get it right.
We manage all of our candidates through Workable - please ask Eltje or Charles for an invite to view candidates, leave feedback, and schedule meetings. Make sure you record all candidate-related comms on Workable so we can ensure we provide all candidates with the best experience we possibly can - even if they are unsuccessful, they should come away feeling like they had a great interaction with PostHog.
Workable is a pretty intuitive platform to use, but here are a few helpful tips to get you going:
- A guide to getting started with the basics - this is pretty much everything you need if you are mainly using Workable to leave feedback on candidates you've met, but are otherwise not involved in the recruitement process.
- Link your Gmail account in Settings if you are in direct contact with candidates - this means any emails you send directly from your inbox will automatically be captured on their Workable record for everyone on the hiring team to see.
- When emailing candidates from within Workable, you can select a Template from the drop down bar (and customise it if you want). If you find yourself writing the same email, it is worth saving as a template.
If you receive an application directly emailed to you or if someone contacts us through a non-Workable channel like Slack, you can either:
- Forward their email onto our dedicated Workable email address - this is the most effective option.
- If you think they are a strong candidate but they didn't email, introduce them directly to us via our careers email address.
- As a last resort, ask them to apply via the relevant link on our Careers page - this is the least preferred option as it has the highest likelihood of a candidate dropping out. Only use this option for high volume roles. You should say something like "Thank you for your interest in PostHog! Can I please ask you to apply via our Careers page? We receive hundreds of applications every week, and this will ensure that we have all your details on our system."
If you are booking meetings through Workable, you should connect your Google Calendar and Zoom accounts under Settings first - this enables you to schedule meetings from within Workable itself. This is really helpful, as Workable will automatically populate the calendar invitation with all the useful info for interviewers like resumes so you don't need to do it manually.
When you book, you have the option of selecting a Google Meet or Zoom call. You should default to Zoom unless you are scheduling a meeting that you are not attending yourself, in which case use Google Meet (as Zoom will require you to attend as host).
Make sure you have set an agenda for the meeting in order to be welcoming to the candidate and to let the internal PostHog team member know what they need to cover in the meeting. The person who books the meeting is responsible for setting the agenda.
The stages of our hiring process are:
- First round culture interview with Eltje
- Second round culture/in depth interview
- PostHog SuperDay
There may be an additional interview where we bring in a 3rd party with specialist expertise in the case of hiring roles that we've not hired for before.
Responsiveness at all stages is really important to us - at each stage of the process, we should aim to get back to candidates with feedback within 48 hours. It is not ok to leave candidates waiting for weeks, or for someone to apply and never hear back from us.
Read applications and resumes/portfolios carefully and leave your feedback as a Comment on their record in Workable.
If a candidate hasn't customized the application or resume to the role, it is a flag they're aren't that excited about working at PostHog. It is understandable why people don't do this, but at an interview stage, it's important to note how passionate they seem about the company. Did they try out the software already? Did they read the handbook? Are they in our community Slack?
A good rule of thumb when deciding whether not to progress - if the candidate doesn't get a definite yes then it's a no. It's almost never worth putting through someone who is a 'maybe'! We provide lots of information about PostHog to enable candidates to put their best application forward.
Candidates who are unsuccessful at this stage will receive automated feedback, unless they personalized their application, in which case a short email is appropriate.
We hire repeatedly into engineering roles, so here are a few things we look for:
- Experience with relevant technologies (Python or similar, React or similar, something to do with big data is a bonus)
Has started a project from scratch, without outside help
- Usually this manifests as having been the founder of a startup, or building an impressive side project. It can also be shown through a big project in the day job, but that requires a bit more digging.
Communication. Do they have writing errors in their cover letter? What does their online presence look like?
- More so than other companies, all of our communication is written and public for the world to see. Good written communication is key.
We start with an interview which is designed to get the overall picture on what a candidate is looking for, and to explain who we are. A template scorecard has been created for this stage in Workable.
This is to allow both PostHog and the candidate to assess whether the candidate is a great cultural addition to the team, and to dig into any areas of potential misalignment based on the application. We are looking for proactivity, directness, good communication, an awareness of the impact of the candidate's work, and evidence of iteration / a growth mindset.
- Talk about PostHog, where we're at and what the future looks like, including our long-term vision. If it was cold outreach, we provide a little more context up front.
- Talk about the candidate, dig into any questions we have from their CV.
- Talk about the hiring process and check if the candidate has seen our compensation calculator so we know we're roughly aligned.
Candidates who are unsuccessful at this stage should receive a personalized email with feedback.
For engineering, this is a 2-part interview. The first part is a half hour interview with Tim about your previous experiences and what motivates you to come join us. The second part is an hour long technical interview with an engineer. This might be architecture design or diving more into past technical experiences.
For non engineering there's a combined interview for cultural and skills fit.
As a rule of thumb, everyone interviewing must feel a genuine sense of excitement about working with the candidate. Again - if it is not a definite yes, then it's a no.
Candidates who are unsuccessful at this stage should receive a personalized email with feedback.
We offer those who have gotten through the interview process the chance to do a paid PostHog SuperDay. We schedule 1 full day in advance with the candidate where we hire them as a contractor.
This gives the candidate a chance to learn how we work, and for us to see the quality, speed and communication of the candidate. It is a very demanding day of work.
We will pay the candidate their 'normal day rate.' If they have done contracting before they will have one, but if not you can use this formula to calculate it. In case the candidate is unable to accept pay for the SuperDay, we will donate the amount to a charity of their choice.
This day will be the same task each time for a given role, to be shared with the candidate at the start of the day. For the Full Stack role, the task involves building a small web service (both backend and frontend) over a full day. The task is designed to be too much work for one person to complete in a day, in order to get a sense of the person's ability to prioritize. The tasks should be as close as possible to those that the candidate would be working on every day.
There will also be someone having a casual chat with the candidate. This person is the bar-raiser. The bar-raiser is here to qualify that everyone is truly excited about the candidate and that they're an example of us believing in talent compounds. Everyone should still think this way - or they should be clear in why they don't feel like this as part of their feedback.
In advance of the SuperDay, you will need to do some additional prep to ensure that the candidate has a great experience:
- Send them an email in the first instance to schedule the SuperDay - you should do this as soon as possible, as candidates often will need to book a day off work. Use the Workable email template for this. If the task involves them doing 'real' work for PostHog, you should ask them to check that their current employment contract permits this - we try to create fake tasks for this reason.
- (One day before the SuperDay) Send the candidate a follow up email with details of the task, and ask them for their day rate and bank details. There is a template for this email in Workable, depending on the role - this will probably need customising.
- (One day before the SuperDay) Create a private channel in Slack for the candidate, you and anyone else relevant - this will be where they can chat to us over the course of the day if they have any questions etc. Invite the candidate as a single channel guest. You may need to add the candidate to one of our systems depending on the role, e.g. Workable for a recruiter SuperDay, but on the whole this should be minimized.
- (One day before the SuperDay) Invite the candidate to a kickoff meeting with the hiring manager at the start of the day. On days where we have a standup scheduled, invite them along. On days without standup, schedule an informal session with some team members to give them a chance to learn more about our culture. You may also want to have a proper wrap up with them at the end of their day.
- (On the SuperDay) Send the candidate the task - aim to send this before the kick-off session.
- (On the SuperDay) Give the candidate a warm welcome! Make it clear that the team is here to answer any questions, and they should feel free to reach out any time! Otherwise don't feel like you need to check in with them - let them get on with the task and trust that they will message you.
- (One day after the SuperDay) Pay the candidate using the bank details they provided.
There will be a written catchup over Slack or call via Zoom about the candidate with all people involved during the hiring. A yes/no decision will be made and then communicated to the candidate.
It is expected that everyone has submitted their notes on Workable so we can discuss these to the meeting.
In case of a rejection, it's important to clearly outline why that decision was made. Highlight what went well, but also mention specific points of improvement. Offer to schedule a call if they would like to discuss further. Make sure to leave the door open for the future so they can apply again in 12-18 months time as circumstances and people change.
If there are wildly different opinions, reflect on why.
To give a candidate an offer letter and to move to the rest of the onboarding, see Onboarding.
Every time we open a new role, we will share the details and ideal profile with the team during standup.
If you know someone who would be a great addition to the team, please submit them as a referral. If they're successfully hired, you'll receive a $1000 Referral Bonus! The bonus can be either paid to you directly, or towards a charity of your choice (and we will match the amount). You can also split the amount between you and the charity.
What counts as a referral? Someone you have a personal or professional relationship with to confidently say they align with our values and fit our requirements. Please make sure the candidate has given their consent before putting them forward!
What's the process?
- If there is an ongoing conversation, please ping Eltje into the email thread with the referred candidate, she will take it over from there.
- Otherwise, Send Eltje their CV and contact details. If you don't have their resume, please include a link to their LinkedIn profile.
- If they have applied themselves already, let Eltje know within 48 hours of them applying.
Referral payout process: The bonus date is 3 months from the new team member's start date and will be processed as part of payroll.
External referrals We also welcome external referrals, e.g. from:
- From our investors
- From the PostHog community (the users Slack Group, and posting on our social media profiles for our followers to see)
- From the YC community (Slack / WhatsApp / Forum)
As a thank you, we will give you $50 credit for our merch shop.
Building a diverse team is at the heart of our culture at PostHog and we are proud of be hiring internationally. In some cases, this includes the need for visa sponsorship. We are currently only able to provide visas in the US and the UK.
- If you are already in the country on a visa (e.g. employed, youth mobility), or require a new visa to remain in the country (e.g. student converting to employed), we will cover the costs for any employee, new or current.
- If you wish to relocate and need a visa, we unfortunately will not cover the cost for obtaining the visa or any relocation costs.
For employees where PostHog covers the costs related to obtaining a visa, the employee agrees to reimburse PostHog if they voluntarily terminate their employment prior to the completion of 12 months of service. The costs will be calculated on a monthly basis, so when the employee decided to leave after 10 months, they will have to repay 2/12 of the costs related to the visa.
In case a candidate needs a visa sponsorship, please keep in mind that the process is lengthy and costly.
Outreach has a few advantages:
- We can approach people with very specific or relevant experience, even when they are not currently looking for a new role
- It allows us to encourage candidates from a wider range of backgrounds to apply
- It also helps with building an employer brand and general awareness
It is possible to research a list of potential candidates through:
- Workable - People search is a great tool to find profiles, email addresses and social media profiles!
- LinkedIn - Boolean searches are your friend!
It is important before starting outreach like this that you consider why a candidate messaged through this approach would move to us, so that your note to them can explain why you felt it might be a nice fit.
We are learning which boards work well:
HackerNews Who's Hiring
- Tend to get high quality candidates, and people interested in working at startups.
- See Tim's comment history for a template.
- We found Eric through there. Higher quality than RemoteOK and pretty high volume.
- High volume of candidates, but much lower quality.