I applied through a recruiter. The process took 3 weeks. I interviewed at Substack in Apr 2026
Interview
interview process involved recruiter call, tech screen, onsite. nothing crazy, it is your typical process. interviewers were fine. implement a get set map with timestamps. sys design was all about queues. another coding interview writing sql. frontend was to implement a chart. interviewers were fine
Other Software Engineer interview reviews for Substack
I applied online. The process took 4 weeks. I interviewed at Substack
Interview
The process felt disorganized and slow. I applied for a more frontend role and was redirected to a systems role. After the initial phone screen there were 8 days of silence, then a manager call, then another week before a technical screen that was 45 minutes. I’m sure the full loop would have stretched into a month or two.
What worried me more was the way the team talked about their challenges. They openly described ongoing issues with impersonation and extremist content on the platform, but didn’t sound like they had a clear strategy or ownership across engineering. It made the technical work feel reactive and firefighting-heavy rather than planned.
Overall the people were polite, but the interview process and product signals didn’t give me confidence in the org’s readiness or direction.
Interview questions [1]
Question 1
I ran out of time, but the technical screen itself was a small grid-matching puzzle: given a few rows of characters (x, s, p), match up the s characters with the closest p characters while avoiding conflicts. The problem was fine on its own, but in context it reinforced the sense that the process was more about puzzles than about the real problems they said they were facing.
First coding interview:
Calculate the document frequency and inverse document frequency for a body of strings. Optimization is to precompute the frequency for all words in the corpus. For the multi transform, store previously computed transforms in another map.
Frontend coding interview:
Update an existing React app to generate a graph using some randomly generated values using the react-chartjs-2 library. Components used the class-based components so review component lifecycle methods, i.e. not hooks.
Backend coding interview:
Use SQL to calculate predicted income for a publisher going from a free to paid model. Use that to generate a graph that you built in the frontend interview. Not really a backend interview as much as it is a SQL interview. This is an open-ended interview with no right answer. Generic coding interview:
Build a data structure that returns a range of values. For example, calling set(3, 6, ‘a’) will set indices 3, 4, and 5 to the value ‘a’. Runtime should not be linear with the number of indices being set. Calling get(0, 7) would then return [null, null, null, ‘a’, ‘a’, ‘a’, null].
System design interview:
Design a scalable system that sends out emails to newsletter subscribers. Newsletters can configure when emails are sent to its subscribers with a specific date/time.
Final interviews were all in one day – about 6 hours in total. Rejected at this stage. Asked recruiter for feedback and was ghosted.