Kickstarter, PBC is a mission-driven company dedicated to helping creative projects come to life. Our cross-functional product development team, composed of engineers, designers, data analysts, and community specialists, strives to deliver outstanding experiences for our creators and backers through modern technologies like Ruby on Rails, React, and TypeScript.
As a Senior Software Engineer at Kickstarter, you will collaborate closely with various stakeholders to develop and iterate products and features, drive technical direction, and mentor fellow engineers. This position is fully remote, embraces a 4-day workweek, and offers excellent benefits including parental leave, paid vacation, and a focus on continuous learning and improvement.
If you're passionate about empowering creativity and working with an innovative team, our guide on Interview Query will help you navigate the interview process and prepare effectively.
The first step is to submit a compelling application that reflects your technical skills and interest in joining Kickstarter as a Software Engineer. Whether you were contacted by a Kickstarter recruiter or have taken the initiative yourself, carefully review the job description and tailor your CV according to the prerequisites.
Tailoring your CV may include identifying specific keywords that the hiring manager might use to filter resumes and crafting a targeted cover letter. Furthermore, don’t forget to highlight relevant skills and mention your work experiences.
If your CV happens to be among the shortlisted few, a recruiter from the Kickstarter Talent Acquisition Team will make contact and verify key details like your experiences and skill level. Behavioral questions may also be a part of the screening process.
In some cases, the Kickstarter hiring manager stays present during the screening round to answer your queries about the role and the company itself. They may also indulge in surface-level technical and behavioral discussions.
The whole recruiter call should take about 30 minutes.
Successfully navigating the recruiter round will present you with an invitation for the technical screening round. Technical screening for the Kickstarter Software Engineer role usually is conducted through virtual means, including video conference and screen sharing. Questions in this 1-hour long interview stage may revolve around full-stack development using frameworks like Ruby on Rails, React, TypeScript, and GraphQL.
In the case of more advanced roles, take-home assignments regarding specific engineering projects, system design, or coding challenges are incorporated. Apart from these, your proficiency with building and maintaining large-scale systems, coding standards, and problem-solving skills may also be assessed during the round.
Depending on the seniority of the position, case studies and similar real-scenario problems may also be assigned.
Followed by a second recruiter call outlining the next stage, you’ll be invited to attend the onsite interview loop. Multiple interview rounds, varying with the role, will be conducted during your interview day. Your technical prowess, including programming, software design, and collaborative problem-solving capabilities, will be evaluated against the finalized candidates throughout these interviews.
If you were assigned take-home exercises, a presentation round may also await you during the onsite interview for the Software Engineer role at Kickstarter.
Quick Tips For Kickstarter Software Engineer Interviews
Example:
You should plan to brush up on any technical skills and try as many practice interview questions and mock interviews as possible. A few tips for acing your Kickstarter interview include:
Typically, interviews at Kickstarter vary by role and team, but commonly Software Engineer interviews follow a fairly standardized process across these question topics.
How would you set up an A/B test to optimize button color and position for higher click-through rates? A team wants to A/B test multiple changes in a sign-up funnel, such as changing a button from red to blue and/or moving it from the top to the bottom of the page. How would you design this test?
Would you suspect anything unusual if an A/B test with 20 variants shows one significant result? Your manager ran an A/B test with 20 different variants and found one significant result. Would you find anything suspicious about these results?
Why might the average number of comments per user decrease despite user growth in a new city? A social media company launched in a new city and saw a slow decrease in the average number of comments per user from January to March, despite consistent user growth. What could be the reasons for this decrease, and what metrics would you investigate?
What metrics would you use to determine the value of each marketing channel for a B2B company? Given all the different marketing channels and their respective costs at a company selling B2B analytics dashboards, what metrics would you use to assess the value of each marketing channel?
How would you locate a mouse in a 4x4 grid using the fewest scans? You have a 4x4 grid with a mouse trapped in one of the cells. You can "scan" subsets of cells to know if the mouse is within that subset. How would you determine the mouse's location using the fewest number of scans?
Write a function called find_bigrams
to return a list of all bigrams in a sentence.
Write a function called find_bigrams
that takes a sentence or paragraph of strings and returns a list of all its bigrams in order. A bigram is a pair of consecutive words.
Write a query to get the last transaction for each day from a table of bank transactions.
Given a table of bank transactions with columns id
, transaction_value
, and created_at
, write a query to get the last transaction for each day. The output should include the id, datetime, and transaction amount, ordered by datetime.
Write a function find_change
to find the minimum number of coins for a given amount of change.
Write a function find_change
to find the minimum number of coins that make up the given amount of change cents
. Assume we only have coins of value 1, 5, 10, and 25 cents.
Write a function to simulate drawing balls from a jar based on their counts.
Write a function to simulate drawing balls from a jar. The colors of the balls are stored in a list named jar
, with corresponding counts of the balls stored in the same index in a list called n_balls
.
Write a function calculate_rmse
to calculate the root mean squared error of a regression model.
Write a function calculate_rmse
to calculate the root mean squared error of a regression model. The function should take in two lists, one that represents the predictions y_pred
and another with the target values y_true
.
Suppose we have 1 ad, rated as bad. What's the probability the rater was lazy?
Write a function to simulate coin tosses with a given probability of heads. Create a function that takes the number of tosses and the probability of heads as input and returns a list of randomly generated results ('H' for heads, 'T' for tails).
Example 1:
python
tosses = 5
probability_of_heads = 0.6
Output:
python
coin_toss(tosses, probability_of_heads) -> ['H', 'T', 'H', 'H', 'T']
Example 2:
python
tosses = 3
probability_of_heads = 0.2
Output:
python
coin_toss(tosses, probability_of_heads) -> ['T', 'T', 'T']
Example:
python
test_list = [6, 7, 3, 9, 10, 15]
Output:
python
get_variance(test_list) -> 13.89
What's the probability of rolling at least one 3 given (N) dice?
What is the probability of finding an item on Amazon's website given its availability in warehouses? Given that the probability of item X being available at warehouse A is 0.6 and at warehouse B is 0.8, what is the probability that item X would be found on Amazon's website?
What kind of model did the co-worker develop for loan approval? Your co-worker developed a model that takes customer inputs and returns if a loan should be given or not. What kind of model is this?
How would you measure the difference between two credit risk models? Given that personal loans are monthly installments of payments, how would you measure the difference between two credit risk models within a timeframe?
What metrics would you track to measure the success of a new credit risk model? What metrics would you track to measure the success of a new model predicting loan defaults?
What metrics would you use to track the accuracy and validity of a spam classifier? You are tasked with building a spam classifier for emails. What metrics would you use to track the accuracy and validity of the model?
What are the key differences between classification models and regression models? Explain the key differences between classification models and regression models.
When would you use a bagging algorithm versus a boosting algorithm? Compare two machine learning algorithms. In which case would you use a bagging algorithm versus a boosting algorithm? Provide an example of the tradeoffs between the two.
What happens when you run logistic regression on perfectly linearly separable data? You are given a dataset of perfectly linearly separable data. What would happen when you run logistic regression?
Q: What is the role of a Senior Software Engineer at Kickstarter?
As a Senior Software Engineer at Kickstarter, you will work closely with a cross-functional team to iteratively research, experiment, and develop products that solve real problems for Kickstarter creators and backers. You will help drive the technical direction of the platform, contribute to the continuous improvement of systems and processes, and mentor other engineers.
Q: What technologies will I work with at Kickstarter?
You will work with modern frameworks like Ruby on Rails, React, Atomic CSS, Redux, Apollo, and TypeScript. Our infrastructure is backed by a GraphQL API, and we value an iterative and data-driven approach to development.
Q: What makes Kickstarter’s team culture unique?
Kickstarter promotes a collaborative environment where engineers, designers, data analysts, and community specialists work together. We emphasize continuous learning, personal growth, and positive feedback. Plus, we currently have a 4-day/32-hour workweek, giving everyone three-day weekends to recharge.
Q: What are the benefits of working at Kickstarter?
Kickstarter offers numerous benefits including Fridays off, 100% employer-paid health plans, 16 paid vacation days, 10 sick days, a company-wide winter break, and 25 volunteer hours yearly. We also provide 16 weeks of parental leave and fertility/family planning resources.
Q: Can I work remotely for Kickstarter?
Yes, Kickstarter supports a fully remote workforce. We are able to support employees in multiple US states, the United Kingdom, and Canada (Ontario & British Columbia). Specific location requirements for roles will be noted in job descriptions.
Kickstarter is looking for a passionate Senior Software Engineer to collaborate with a dynamic, cross-functional team and make a tangible impact on creative projects. By joining this innovative team, you'll have the chance to work with modern frameworks, contribute to continuous improvement, and mentor fellow engineers, all while enjoying unique benefits like a 4-day work week and a fully remote setup. To increase your chances of landing this rewarding role, explore our detailed Kickstarter Interview Guide on Interview Query, where we provide insights into potential interview questions and strategies to excel. Dive into our comprehensive guides tailored for roles such as software engineers and data analysts for an in-depth understanding of the interview process. At Interview Query, we equip you with the tools and confidence needed to conquer your interview challenges. Check out our company interview guides and feel free to reach out with any questions. Good luck with your interview!