Interviewing at Tophatter

At Tophatter, I spend some of my time talking to candidates on the phone and during the onsites. These are questions that usually come up to help a candidate understand if Tophatter is a good fit.

Why are people excited about working at Tophatter?

The answer differs for everyone, but a strong theme at Tophatter is the growth and the team.

By the way, that’s my number one piece of advice if you’re going to join a startup, is pick a rocket ship. Pick a company that’s already working and that not everyone yet realizes that, but you know because you’re paying attention, that it’s going to be huge.
— Paul Graham, How to Start a Startup

In short, we’re one of the fastest growing e-commerce startups and on a hyper-growth trajectory.

Gross Transaction Volume (sales) per year at Tophatter. 2017 is projected.

Growth

  • We’ve been profitable since 2015.
  • We accepted a $21 million Series B in March, 2017 — not because we needed the cash, but because our investors believe in us and want to encourage our growth.
  • In July, Inc. Magazine mentioned Tophatter as one of the fastest-growing private companies in America.
  • We have an ambitious internal vision that we can share in person, but not online in a public format. Please ask us about this.

Team

  • We’re a team of 14 software engineers and are looking to add 10 more this year.
  • We have team members with ties to Stanford, MIT, Y Combinator, Cornell, UIUC, and Berkeley. Our founders met as CS undergrads at Stanford.

Where is Tophatter located?

We’re in China Basin Landing. The address is 185 Berry Street, Suite 2400.

Some fun facts:

  • This building was Dropbox’s original headquarters. Stripe and Lyft are both operating from this location now.
  • We’re a block away from the 4th Street Caltrain Station, so this is among one of the shortest commutes for anyone commuting from south bay or peninsula.
  • We’re located a block away from AT&T Park. Giants anyone?

What’s the tech stack?

Primarily we use Ruby on Rails, which provides all of our API endpoints to our Android and iOS clients. We use Coffeescript on the front-end, although we expect to decaffeinate and move to something like Vue or Typescript.

We use AWS extensively. We’re using Travis for continuous integration and deployment. We recently moved from EC2 to Heroku. We use MySQL. Our test coverage is at 74% as of August 2017.

On the data side, we’re using Scala, Python, Spark, EMR, and Scikit.

Every engineer has push access to production. With great power comes great responsibility.

Our iOS app is written in both Objective-C and Swift, with the plan to be 100% Swift in the not-far off future. Our Android app is written primarily in Java but we have rewritten some core pieces in Kotlin, with the idea to slowly transition over to Kotlin as the tools improve.

How big is the team at Tophatter?

We have around 80 full time employees. We’re currently a team of around a dozen software engineers and our goal is to expand that team to nearly twice that by the end of 2018.

What are the current engineering teams?

Each quarter, we rotate our teams to reflect the shifting strategic needs of the business. The list below outlines our Q1 teams.

Acquisition

How can we spend the next $100 million in marketing better than the last? We’re building the infrastructure to automate and optimize our marketing efforts so that we can scale our spend while decreasing the CPA (cost per action).

Members: Dwight, Todd, Lindsay

Buying Formats

We’re experimenting with news ways to sell products on Tophatter. Are there different ways to help users discover different types products that they are looking to find?

Members: Christina, Joe, Ben, Gabriel

Return Buyer Experience

How do we know what our shoppers want before they do? Tophatter is a discovery shopping platform and we’re actively working on delivering a personalized experience to delight every shopper. Projects range from improving product recommendations to user-facing features.

Members: Ari, Mike, Brett, Cisco

Supply Optimization

We solve a complex supply and demand equation when dealing with a two-sided marketplace with auctions — we can’t oversaturate our supply compared to our demand because then items will sell at too low of a price, leaving sellers unhappy.

Members: Marshall, James, Hani, Yale

Risky Business

We’re focused on eliminating or reducing sources of business risk to Tophatter. Improving how we fight fraud, staying ahead of security issues, making sure our application and infrastructure is resilient to failure and disaster recovery are some of the things we work on.

Members: Sanjay, Marshall, Sophia

What are the opportunities for growth?

We conduct weekly 1:1s so you’ll be receiving honest, consistent and direct feedback from your manager.

We review every pull request you write and provide mentorship from senior engineers.

We do annual performance reviews, but we’ve promoted engineers on a shorter time scale who have demonstrated exceptional hunger (see our cultural values below). Here’s our engineering rubric.

If you are proactive and demonstrate success in your role, you will be rewarded with more responsibility and ownership. We are always looking for more engineers to help with recruiting, product, and mentorship. You will always feel challenged and slightly outside your comfort zone at Tophatter.

What’s it like to work at Tophatter?

Our company cultural values are listed below. Every employee at Tophatter excels in at least a few of these values. Much of our culture is inspired from Netflix’s Culture Deck, particularly the Freedom & Responsibility section.

Hunger #heart

We have a burning desire to succeed.
We put in the work to get better every day.
We are resilient in the face of challenges.
We operate with urgency.

Ownership #care

We take pride in our craft.
We treat the company as if it were our own.
We hold ourselves fully responsible.
We show initiative.

Courage #guts

We have a bias for action.
We challenge assumptions.
We embrace difficult conversations.
We make tough calls with limited information.

Humility #humble

We don’t hold our beliefs too dearly.
We appreciate a good laugh, especially at our own expense.
We marvel at both good fortune and bad luck.
We respect the sample sizes of our data points.

Mindfulness #aware

We care as much about the how as the what.
We appreciate diverse opinions and personalities.
We are curious and actively seek to understand.
We respect the difference between intention and impact.

What is the interview process?

Our interview process is highly competitive. Fewer than 2% of all candidates in our pipeline will make it to the offer stage. We’ll provide as much guidance here to increase your odds of doing well — and we hope that you do well. We also recognize that interviewing is hard and there’s no perfect system for it. Feedback is always encouraged.

How we do interviews might actually look familiar to you. Our process is modeled after Stripe. The idea of writing this and sharing it publicly is also inspired by Stripe. Triplebyte’s How to Pass a Programming Interview is one of the best articles we’ve read for how to prepare.

Here’s the structure of the interview process for Full Stack engineers (this will be somewhat different for mobile engineers):

Introductory call

Length: 15–30 minutes.

Technical phone screen

Length: 60 minutes. Takes place on Coderpad. We strongly suggest a dynamic language (JS, Ruby, Python).

Technical onsite

Length: usually 4–5 hours. Takes place in our San Francisco office (185 Berry St). A typical interview looks something like:

  • Bug squash (60 mins)
  • Code refactor (60 mins)
  • Lunch break (30–45 mins)
  • Project (90 mins)
  • Culture fit & debrief (30 mins)

Feedback

We can share the onsite feedback with you directly during the culture fit & debrief session. We always ask if you want the feedback first.

The interviews tend to get progressively harder. If we see that things aren’t going well before the lunch break, we’ll let you know and end things early so that we don’t use up the full day. We want to be respectful of your time.

Junior candidates

For junior or mid-level candidates, we strongly recommend the following:

  • Please carefully go through the hints in the onsite schedule we send you. Plan to invest at least 4–5 hours of preparation since we use the same onsite for everyone and it selects for real-world experience rather than academic experience. The onsite in your case will be more a test of how quickly you can learn this material on the fly, rather than how much professional experience you already have. We suggest scheduling your onsite at least one week out to allow enough time to prepare.
  • The project interview is really difficult for anyone using Java. If Java is the only language you know, you should build a Rails app, Django app, or React app for the project interview.
  • The bug squash interview is a difficult question for nearly all junior candidates. We’ll provide more hints during the onsite (e.g. which file to look at) to help you.
For junior candidates, the yellow highlighted text on the right side of the agenda are strongly recommended reading material. Shout-out to readme.io for the inspiration of the onsite schedules.

The offer process

One thing that’s different about Tophatter is we’re able to quickly determine if we’re excited about you and move things forward. For that reason, it’s best to do as much research about us before the onsite. Please bring any questions or concerns and ask those either over lunch or at the culture fit so that we have a chance to address those.

We also can move slower if you want to wait until your other onsites are finished — but we almost never send an offer letter until you feel excited enough about us to sign it if you were to receive one. In either case, you shouldn’t feel pressured to make a decision. But we also don’t want to slow things down if you know you’re excited about us.

What are the first 90 days like?

The first 90 days are an evaluation period for every new hire — and we continuously evaluate beyond those 90 days as well.

So why 90 days? It’s really difficult for us to understand an employee’s trajectory from the interview process, which averages 6 hours total. This isn’t to say we guarantee the full 90 days will be used to evaluate a new hire — we might know sooner or it may take more time.

We want to be explicit that the evaluation doesn’t happen after 90 days have passed; it’s happening each week. Does that mean we’d part ways with someone who isn’t working 3 days in? No, but if feedback is consistently negative then that becomes an early warning sign for both us and the employee that we may have made a mistake in the hiring process.

Beyond the first 90 days, every manager is periodically asked the following question: “if one of your direct reports said they’d leave tomorrow, would you convince them to stay?” We hope that every manager would convince every direct report to stay. If they wouldn’t, then it’s a ding against the manager because they either haven’t set the correct expectations, provided enough feedback or support, or haven’t parted ways when they should have. Whatever the case, managers are held accountable for this question and how they respond to it.

We’re currently writing up an onboarding plan with explicit expectations for every new hire and we’ll come back and update when we have more to share. Our goal is to make our onboarding process as efficient and productive as possible.

What’s the work schedule like?

In short, it’s more demanding than it would be in most companies. Hunger is listed as our #1 value because it has allowed us to get this far. This is true for most marketplace startups: they require an element of grind that you might not see in other industries. The reasons for this vary, but the end-result is that it feels like there’s always something going on.

For candidates trying to maximize their work-life balance, we’re not the best fit. On the other hand, work-life balance is achievable for those who are able to effectively manage their time and projects.

As a quickly growing business, we recognize that we must be good at maneuvering between peacetime and wartime. The companies who stay in either zone for too long often end up with high attrition and burnout (wartime companies), or they eventually die as other businesses out-compete them (peacetime companies).

We trust our employees to recognize when they need a break, and we’ve structured our vacation policy to give them as much time as they need to re-energize. We don’t tell you what time to come in or leave, so it’s up to each employee to design their schedule in a way that makes them effective. We adjust compensation to meet performance on an annual — and occasionally earlier — basis. We provide generous equity to give employees a sense of ownership in the future and outcome of the company.

What we can commit to is being open and honest about expectations, providing direct feedback early and often, and we trust that you’ll design your schedule to be effective in your work.

What benefits does Tophatter offer?

In addition to competitive salary and equity, Tophatter offers the following benefits and perks:

  • Parental leave: we offer up to 12 weeks of paid parental leave for eligible employees.
  • Commuter benefits: we offer up to a $200/month subsidy and the $255/month limitation (from the IRS). All employees are also eligible to use their commuter funds towards Uber Pool through our provider, Navia.
  • Flexible vacation policy: take the time you need to disconnect and recharge.
  • Free membership for you (and all your dependents) to OneMedical.
  • Distraction-free work environment. We have an open floor plan with private conference rooms available if you need a quiet space to focus.
  • Subsidized Equinox membership ($150/month membership, or about 50% off the regular price).
  • Catered lunch daily through EAT Club. Catered dinner for employees staying late through Door Dash.
  • Unlimited snacks, drinks, and social events.
  • Medical, Dental, & Vision Insurance.
  • Retirement/401K Plan.
  • Life & Disability Coverage.

What are some reasons Tophatter isn’t a good fit?

Tophatter is not a good fit for candidates looking for:

  • Ways to boost their resume. Our brand isn’t established yet.
  • A large and established company. We’re still a startup and there isn’t as much structure and process as a larger company.
  • A cushy job. We’re always changing and iterating. We celebrate our successes and then get back to building great stuff.
  • Ways to maximize your offer letters or generate leverage in your compensation conversations with other companies. We rarely send an offer letter out without first verbally discussing and accepting a comp package.
  • Have someone tell you what you need to do. We’re a group of self-starters; we seek out and set our own goals.

Tophatter is great for candidates looking for:

  • High impact in a small core team.
  • Maximizing learning and growth development.
  • A strong and collaborative team to work with.
  • A diverse workplace.
  • Competitive compensation and top of the line benefits.

About Tophatter

Tophatter Inc was founded by Ashvin Kumar (CEO) and Chris Estreich (CTO), and launched in January 2012. The company has raised $35M to date from Goodwater Capital, CRV, and August Capital. The company has 75 employees globally, and is actively hiring at its offices in Silicon Valley and Shanghai. For more information about Tophatter, please visit: http://www.tophatter.com/about.