How to Start a Startup - Lecture 2 Notes

How do I identify markets that are growing quickly? One big advantage that students have. Trust your instincts on this. Young people get older and become the dominant market. What are you using? What are people your age using?

Team

Cofounder relationships are the most important in the entire company.#1 cause of early death of startups = cofounder blowups. Finding your cofounder is the most important decision. Students tend to be very bad at this – they randomly pick people. You wouldn’t hire like this so why choose your cofounder like this?

Meeting cofounders is easiest in college. Also good to work at interesting companies – google, etc is cofounder rich. Top 20 most valuable YC companies have at least 2 founders.

What do you look for in cofounders? Find people that are relentlessly resourceful – look at PG’s essay. Look for cofounders that are unflappable, tough, decisive, etc. The model for this in pop culture is James Bond. Find people like James Bond.

Make sure you’ve known your cofounders for a long time. Also true for early hires. Take advantage of school. You need tough and calm cofounders. Obviously also smart, but people don’t prioritize tough and calm, especially if you aren’t. Always need at least a technical cofounder. For YC 2-3 is ideal.

Try not to hire. High employees = complexity, high burn rate, etc. Lean = GOOD. In the beginning, only hire when you desperately need to. Cost of getting an early hire wrong is very high. Often kills company. AirBnB spent 5 months interviewing people before hiring their first employee. Early hires will define your company.

When you’re hiring, you should get the best people. It is very hard to recruit – the best people have many great options. It can easily take a year to recruit. Convince people that your mission is extremely important. The best people know they should join a rocket ship. The best people will wait for a breakout trajectory until they join. Either spend 0% of time or 25% of time hiring.

Mediocre people do not build great companies. A single mediocre hire in the first 5 will kill the startup. Will I bet the future of the company on this single person?

Where do you find people to hire? Early hires – people you know. Personal referrals are the trick to hiring, even if it’s uncomfortable. Also look outside Silicon Valley – it’s way too competitive.

Experience matters for some roles and not others. Doesn’t matter too much for early hires.

3 things to look for: * Are they smart * Do they get things done * Do I want to spend a lot of time around them?

If you haven’t worked with this person before, then you should work with them on a small project for a few days. Most first time founders are horrible interviewers. If you do interview, ask about previous projects. Also make sure you call references. Really dig in on what they did, etc with their references.

They also need:

  • Good communication skills
    • If someone can’t communicate clearly, it’s a real problem
  • Risk taker. Find people that like risk.
  • Manically determined
  • Describe every employee as an animal – you need unstoppable people, people that are just going to get things done.
  • Find people that you would feel comfortable reporting to

Employee Equity: * ~10% of the company to the first 10 employees. * Either way it vests, and if they’re good, then they’re going to add way more value. * For some reason founders give more equity to investors and less to employees

After you hire employees, you have to retain them. Founders get this wrong very often. Make sure your employees are happy and feel valued. This is a big reason why big equity grants are important. Don’t tell your employees they’re fucking up every day unless you want them to leave. As a founder, this is your natural instinct. You have to let your team have all the credit for all the good stuff, and you take the fall for the bad stuff. Don’t micromanage. As a first time founder, you are likely to be a very bad manager.

Fire fast. Firing people is one of the worst parts of running a company. Every first time founder waits too long and hopes an employee will turn around. It’s so painful and so awful that everyone gets it wrong. Also fire people that create office politics and is consistently negative. Both are very toxic to the company.

How do you balance firing fast and making them feel secure. Everyone screws up once or twice, but if they get every decision wrong, that’s when you need to act. At that point, it’ll be painfully aware to everyone. In practice, there is never any doubt.

When should cofounders decide on the equity split? Many cofounders like to leave this off for a very long time. This doesn’t get easier with time. You want to set this very soon after you start working together. Should be near equal. If you aren’t willing to give the cofounder an equal share of equity, then you should think about whether you want to actually work with this person.

What happens when you’re relationship with your cofounder falls apart? Every cofounder has to have vesting. This pre-negotiates what happens if one of you leaves. Typically 4 year vesting cycle with a 1 year click. If you don’t, you have a dead weight in the equity table, and it will fuck up everything – especially investment. YC won’t fund a company that doesn’t have vested equity.

Execution

Being a founder means signing up for years of grinding. You can’t outsource this. Everything in a startup gets modeled after the founders – culture is what the founders do.

A big part of execution is just putting in the effort.

CEO has five jobs:

  • Set the vision
  • Raise money
  • Evangalize
  • Hire and manage
  • Make sure the entire company executes

Two parts of getting things done: Focus & Intensity

Focus

Focus is critical. 100 important things competing for your attention every day. A lot of things that founders think are important actually aren’t. Figure out what the 3 most important things are, and only do those.

Founders are people that are excited about starting new things which is why focus is so difficult.

  • Say no a lot
  • Set overarching goals. Repeat them.
  • Communicate – can’t be focused without great communication
  • Maintain growth and momentum
  • Work together in person

Often companies get distracted by their own PR. Articles are good for growth.

Intensity

You need extreme focus and extreme dedication. You can have a startup and one other thing, but usually not one. You need to be willing to outwork your competitors.

A small amount of extra work on the right thing makes a huge difference. Working at 1.01 ^ 365 vs 0.99 ^ 365 is 37.78 vs 0.02.

Intensity is:

  • Relentless operating rhythm
  • Obsession with Execution Quality
  • Bias towards action

“Move fast and break things” BUT make sure you know where to keep quality high.

Indecisiveness is a startup killer. You need a bias towards action. Every time you talk to good founders, they’ve gotten new things done.

You can do huge things in incremental pieces. If you keep knocking down little pieces, eventually it’s a huge thing.

Always keep momentum. Momentum and growth are the life blood of startups. If you ever take your foot off the gas pedal, things will spiral out of control. For most software startups – always keep growing.

Sales fix everything in a startup. If you have momentum sag, you’ll notice that the company starts internally fighting. When there’s disagreement in the team, you ask your users.

Keep momentum by setting an operating rhythm

  • Ship product
  • Launch new features
  • Review/report metrics and milestones.

Use your board to get your company to care about metrics and milestones.

Often competitors disrupt momentum – especially when they get PR. Don’t worry about competitors at all until their product is beating yours.

“The competitor to be feared is one who never bothers about you at all, but goes on making his own business better all the time” – Henry Ford.

On Finding a Technical Co-founder

Every few days, I get an email or a Facebook message asking me if I know anyone who’s looking to be their technical co-founder. This post is an aggregation of responses and tips I give to college startups looking for a technical co-founder.

Meet Hackers

The most important thing you can do is to have many hacker friends.

Every hacker I know would never consider being a technical co-founder of someone they didn’t know. The “exception” is if you’ve already got a funded, successful startup, but those founders will never be looking for a technical co-founder, so it’s hardly an exception.

The logical conclusion is that you need to meet a lot of technical people. But there’s a clear difference between meeting someone and befriending someone. In college, meeting hackers isn’t hard – go to your college web development/mobile development club. The thing is, humans aren’t stupid – developers will know if you’re just there to shake hands and “network”, and it means you’re not going to fit in with the community.

Instead, I recommend you learn to code. Go to the web development club not with the intention of finding a technical co-founder, but rather with the intention of becoming a technical co-founder. You’ll find one of two things will happen: either you’ll get friendly enough with someone who likes your idea that they’ll want to work with you, or you’ll end up figuring out how to build your MVP yourself (and finding a co-founder after you have an MVP with traction is far easier, especially if you’re now technical).

College

I think college is both a blessing and a curse to aspiring startup founders. On the one hand, you have an extremely concentrated mass of co-founders all around you.However, college creates an incredible safety net. In the “real world” if you fail, it’s far more difficult to pick yourself and restart than it is in college.

I think Paul Graham said it best – “If you start a startup in the summer between your junior and senior year, it reads to everyone as a summer job. So if it goes nowhere, big deal; you return to school in the fall with all the other seniors; no one regards you as a failure, because your occupation is student, and you didn’t fail at that. Whereas if you start a startup just one year later, after you graduate, as long as you’re not accepted to grad school in the fall the startup reads to everyone as your occupation. You’re now a startup founder, so you have to do well at that.”[1]

When looking for a technical co-founder, the strength of your network will matter far more than the size of your network. What I mean by that is you’re in a much better position if you’re good friends with 5 hackers than if you know 20 on a superficial, surface level basis. Thirty years ago, networking events were huge. Why? The internet wasn’t anywhere nearly as widely used as it is today. Now we have Facebook groups and mailing lists, and personal connections are all the rarer. Anyone can claim to be anything, and unlike before, credibility doesn’t come from business cards and hasty handshakes. Even if I introduce you to a technical friend, you’ll need something far deeper and more engaging than a superficial email introduction.

Selling

Startups are about sales. You’re selling your product to users. You’re selling your startup (and yourself) to venture capitalists. You’re selling your idea to your potential technical co-founder.

The alternative to involving yourself in the hacker community is to be an excellent salesman [2]. Early stage startups should be doing two things: building product and finding users. If you aren’t the technical co-founder, then your usefulness lies in your ability to find users. Finding users is really just another way of saying convincing users to sign up for your product, which boils down to selling your product to users.

I’m not sure how easy this skill is to develop, and I’d argue it’s almost certainly harder to develop than technical ability. The key qualities of top salesman are the ability to empathize, and an ego drive [3]. Empathy seems to be developed around the ages of 2-4, and although it’s almost certainly possible to develop empathy in your college years, there are many more resources on learning to program than on learning to develop empathy.

Interestingly, all the hackers I know build for the sense of accomplishment of building something. As a developer, it’s largely about yourself – you create to satisfy yourself. This is very different from the empathetic and ego driven salesmen, and I wonder if your early development decides which category you fit into.

I think the best solution to finding a technical co-founder is almost always to learn to code. The exception is if you’re an exceptional salesman – in which case it’s a better investment of your time to keep selling.

Notes

[1] http://paulgraham.com/mit.html

[2] If you fall into this category, then make sure you find a technical friend to look over your potential co-founder. If they can’t write good code, hiring new developers is going to be a pain in the ass – no-one likes dealing with crappy code.

[3] More at http://hbr.org/2006/07/what-makes-a-good-salesman/ar/1

Comment on HN here

How We’re Going to Change Georgia Tech, Forever.

A year ago, I’d hardly heard of startups. Neither had just about anyone at Georgia Tech. This year, we’re taking the country by storm.

I had just started the second semester of my freshman year when I met Aswin through a mutual friend. I was sitting at Starbucks, nervous and not too sure what to expect – who was this guy? A quick google search revealed that he had been featured on the Pioneer, so clearly he was doing something right.

Honestly, if I had known how much this meeting was going to change my life, I probably would have been paralyzed with apprehension.

We sat down and started talking about Startup Semester – he and a friend, Jerome Choo had started an experimental, student run “pre-incubator” program in an attempt to push the entrepreneurial community at Georgia Tech forward. It had been a huge success, quickly rising to the top of Hacker News and garnering national recognition.

Aswin took me to a room that had been given to him by the Georgia Tech library and told me it was going to change Georgia Tech. He envisioned a co-working space where any Georgia Tech student interested in startups could come to learn, hack and hang out. The passion in his eyes was riveting, and this was the moment that sold me – I knew I had to be a part of this.

We spent the next semester working out how to best solve this problem – we threw some amazing events, and had some great speakers come in. Slowly, we saw this culture start to evolve, and out of it came the Startup Exchange. Looking back, I think our biggest tipping point was 3 Day Startup. We had students from 8 different colleges there and it absolutely exploded sX’s growth. Heck, we’ve even spread into Georgia State with the help of the insanely talented Ricky Hunter (we met at 3DS). If you’re reading this, and you go to another school in the ATL area, I want to hear from you. Let’s get this happening at every school in ATL. Georgia Tech, Emory, GSU, UGA, Morehouse, Spelman.

It was clear that something had to be done at Tech. The administration had been fairly stagnant when it came to encouraging undergrads to pursue startups, and we desperately wanted to change that. When we started, students at Georgia Tech really had two major options presented to them – work hard and get a high paying job at a Fortune 500 or a similar big company, or work hard and get into research. We wanted to add a third option – work your ass off, start a startup, and innovate.

Now, along with a rockstar team (meet Will, Sameera, and Deepan), I run Startup Exchange, and this is the year it’s going to take over Georgia Tech.

The first thing that needs to be developed is a hacker culture in every discipline at Georgia Tech. People need to be building shit. I think this is, by far, the biggest challenge we’re going to face at Tech because it requires the support of upper level administration, and eventually, changes to the curriculum. The intro CS, engineering classes should be about building something (look at Harvard’s CS50 class). That’s what got me so hooked on the startup lifestyle, and it’s the reason I’m so passionate about it. I don’t want to be stuck behind a desk, debugging someone else’s code. I want to be building amazing products that reach millions of people. This semester, we’ll be busing people around the country for MHacks, PennApps, and HackNashville. After reading these two posts by Dave Fontenot, and hanging with him here in NY, I’m convinced this is how to begin developing Georgia Tech’s hacker culture.

After that, we need some way to organically create relationships between students. That’s what the Exchange solves. It aims to be a space that exists to facilitate inter-disciplinary collaboration. I want a 3D printer in the same room as arduinos, rPis, 27” iMacs and some kickass Linux machines, as well as supplies for the design students. Once we have a hacker culture in all these disciplines, the Exchange will naturally create relationships between students in different majors, just because they’re in the same space. Relationships lead to startups being formed once they hit a good idea. Right now, we’re on the right track, but we’re fast going to outgrow the tiny room we have now. We’ve got our eyes set on the CommLab – that would give us enough space to set up an amazing environment. Eventually, I want it to be the coolest place on campus to get work done. Defining a good culture here is key.

Next, we need solid incubators to turn the ideas formed by students into startups. Startup Semester, Flashpoint and VentureLab have got that covered fairly well, but it’ll require some intense work. Startup Semester takes in students that have an idea and team, but don’t know how to go from there. After that, we send them to Flashpoint, YC, Techstars and they tear up the competition.

Lastly, we’re eventually going to need a student VC firm. Once we have enough startups coming out of Georgia Tech, I either want to bring Dorm Room Fund to Georgia Tech, or work with a local VC to create a student VC firm at Georgia Tech. After speaking to Peter Boyce, who founded RoughDraft VC at Harvard, I’ve got a fair few ideas on how to do this well. Hopefully, I’ll be posting more on that in about a years time. On that note, if you’re at ATL VC firm who wants to get involved in this, shoot me an email. Ideally, it’ll be something like Atlanta Ventures, but without a requirement to drop out – I don’t think Georgia Tech’s administration would like us too much if we spiked the dropout rate.

If you’ve read up to here, you now know what the next few years of my life are going to look like. If you’re interested in getting involved in any way, shoot me an email. I promise I won’t bite.

Comment on HN here

Thank You, Swipe Again

So I’m writing this because the media seems to be making a huge deal out of Tinder’s privacy issues. (read this and this).

I discovered the issues at the Branch hackathon last weekend (props to @hursh and the rest of the kickass team at @branch for throwing an amazing hackathon).

Here are the facts:

  • Yes, Tinder was releasing geolocation and Facebook data through their private API
  • Yes, it let you do some remarkably creepy things (like this)

However, unless you know how to set up a mitm proxy, it’s simply not possible to grab that data. I’m going to assume that doesn’t qualify as a “simple hack” as the majority of the media put it.

There’s a little in Sean Rad’s response that I don’t agree with. However, his reasoning for not bringing it to the user’s attention is valid – “It was a minor flaw that didn’t impact any of our users, so we decided it wasn’t worth bringing to their attention.”

Not only was the API private, but I’ve never seen a company fix an issue that fast. I think I emailed them at 4am. When I woke up, it was fixed, and for that, they seriously deserve to be commended. They say they take their users’ privacy seriously, and it looks like they mean it.

As to why that data was in the response in the first place, I’m hesitant to believe that it happened during the Android rollout. I’d say it’s more likely that they calculated shared friends, likes, and distance client side instead of server side for the early versions of the app. When they switched to server side, they never removed the raw data.

Updated: They called me last night to say thank you. They wanted me to speak with the CTO, but he was busy working all night to look for and fix any further privacy issues. Yes, Tinder messed up, but their response has been phenomenal and I’m thoroughly impressed.

Comment on HN here

Is This How Tinder Is Going to Monetize?

So I’m at a Branch hackathon right now, and we’re all just chilling. I decided to poke around Tinder and try to peek at their API.

Every second or so, there’s a POST request to api.tinder.com/updates which passes in

1
2
3
{
    "last_activity_date": "2013-07-20T02:57:36.127Z"
}

The response however, is a little more interesting:

1
2
3
4
5
6
7
{
    "matches": [],
    "blocks": [],
    "matchmaker": [],
    "last_activity_date": "Sat, 20 Jul 2013 02:57:36 GMT",
    "trending": false
}

Matches and blocks are fairly obvious – new people you’re matched with, and new people who have blocked you. However, it’s the trending field that’s a little more interesting. I’m completely spitballing here, but it’s definitely possible that Tinder will charge users to “trend” to other users on tinder. Maybe this means that more people see them? I also have no idea what the matchmaker field is.

Any thoughts?

EDIT: I was using the Android version, so it didn’t have the “matchmaker” feature. I just played with a friend’s iOS phone, and it’s pretty clear what the matchmaker attribute is.

Can’t Install Gems With Native Extensions? Try This

Yesterday, I re-installed my homebrew install because it was corrupted. That led to a huge headache where I couldn’t install any gems with native extensions. It took forever for me to find the issue, so I thought I’d write this in the hopes it helps anyone googling around.

My issue was that I’d installed gcc-4.2 using homebrew. Re-installing homebrew broke that install.

Solution:

First, try brew install apple-gcc42. If you’re lucky, it’ll work, and you’re set.

If not, you need to tap homebrew/dupes. A tap is just homebrew speak for another git repository with extra formulae. Try

1
2
3
brew tap homebrew/dupes
brew update
brew install apple-gcc42

It might fail on the brew update step. This is a super old bug that’s been fixed, but you need to do the following:

1
2
cd $(brew --repository)
git reset --hard FETCH_HEAD

If that doesn’t work:

1
2
cd $(brew --repository)/Library
git clean -fd

Now that almost fixed it for me, but when I ran brew update it was complaining about overwritten files in homebrew/dupes. I couldn’t find the solution for this anywhere, so I kept poking around and trying different things. Here’s what worked:

1
2
3
4
cd $(brew --repository)/Library/Taps/homebrew-dupes
git reset --hard FETCH_HEAD
brew update
brew tap --repair homebrew/dupes

And now, you should be able to brew install apple-gcc42 and your native extensions should install. It’s worth noting that you need gcc-4.2 for the native extensions. Using another version of gcc (4.3 – 4.8) won’t work.

Happy hacking!

Traits + Ignored Attributes = ♥

If you don’t know about FactoryGirl’s traits, here’s a quick primer:

They allow you to specify groups of attributes and callbacks that can be applied when you create the Factory in your tests. For example:

A regular factory with a sub_referral
1
2
3
4
5
6
7
8
9
10
11
FactoryGirl.define do
  factory :referral do
    name 'A referral'
      
    trait :with_sub_referrals do
        after(:create) do |referral|
        5.times { create(:sub_referral, referral: ref) }
        end
    end
  end
end

This lets you do something like

1
FactoryGirl.create(:referral, :with_sub_referrals)

But wait, I hear you say – why not just define a new factory, like so:

A regular factory with a sub factory
1
2
3
4
5
6
7
8
9
10
11
FactoryGirl.define do
  factory :referral do
    name 'A referral'
      
    factory :referral_with_sub_referrals do
        after(:create) do |referral|
          5.times { create(:sub_referral, referral: ref) }
        end
    end
  end
end

Sure, this works, but what if I have two traits?

A regular factory with a sub_referral
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
FactoryGirl.define do
  factory :referral do
    name 'A referral'
      
    trait :with_sub_referrals do
        after(:create) do |referral|
          5.times { create(:sub_referral, referral: ref) }
        end
    end
      
    trait :with_rating do
        rating 5
    end
  end
end

Now, this lets you do

1
FactoryGirl.create(:referral, :with_sub_referrals, :with_rating)

Now you could do this by creating multiple factories, but it ends up remarkably ugly, and there’s a tonne of code repetition (ew).

However, what if I want to specify how many sent_referrals I have in the above example. Unfortunately, you can’t pass arguments into traits. Enter ignored attributes:

An ignored attribute is exactly what it sounds like – an attribute that’s ignored when the object is created.

A trait using ignored attributes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
FactoryGirl.define do
  factory :referral do
    name 'A referral'
      
    trait :with_sub_referrals do
        ignore do
          sent_referrals_count 5
        end
      
        after(:create) do |referral, eval|
          eval.sent_referral_count.times { create(:sub_referral, referral: ref) }
        end
    end
      
    trait :with_rating do
        rating 5
    end
  end
end

So now, to set the number of sent_referrals that are created, I can do this:

1
FactoryGirl.create(:referral, :with_sent_referrals, sent_referral_count: 3)

Beautiful, isn’t it?

Getting That Startup Internship

tl;dr – Code, a lot. Send cold emails to founders. Do your research on companies. Network. Practice interviews. Don’t give up

So I’ve officially started my summer internship at Aidin (they kick ass), and a bunch of people have been asking me for tips on getting an internship at a startup as a freshman.

One year before your summer internship

You’re still living at home, and you’ve got a lot of free time on your hands. You need to make sure this time is spent productively. Don’t get me wrong – make sure to have an absolute blast before starting college, but when you’re not out with friends, code.

There’s no easy way to go from being a mediocre developer to a good developer. You’ve really got to code as much as you can. This period of time is great because you’ve got a lot of time for unstructured learning. Find a problem you have, and codea solution. Web development is really hot right now, as it big data – if you get decent in either of these fields, you’ll land yourself a great internship. Learning Rails is also a great idea, as it’s used by a tonne of startups. Try to build up your github with some cool side projects.

My situation was slightly unique. I’d gone to an international school back in Perth, Australia and we didn’t follow the same timetable as every other school in the country. As a result, everyone was still in school after I graduated, so I went out and approached a bunch of web development firms to see if I could get an internship. I got lucky, and got hired by The Frontier Group where they taught me Rails, Agile development, and how to make amazing coffee.

First Semester

I ignored looking for internships during my first semester, but I did go to the career fair. The one callback I got from the career fair was from Andreessen Horowitz, who wanted to add me to their talent pool. The technical interview was remarkably easy, and I can’t stress how much they’ve helped me out during this entire process. They introduce me to any startup in their portfolio that I’m interested in (and they invest in some amazing startups). They also really helped me out when I was having issues getting work authorization (oh the woes of an international student). If you see a16z at your career fair, be sure to speak to them – as long as you know your basics, you’ll be fine.

If you’re an international student, you need to go to your Office of International Education and ask about either a OPT or a CPT work authorization permit. It’s vital that you don’t put this off – I did and almost couldn’t work over the summer, even after I’d signed paperwork with Aidin.

During my winter break, I worked out exactly what I wanted from my internship. I knew I wanted to be interning at a startup, as that scene really interested me. I also bought Cracking the Coding Interview, which was a great read, even if I didn’t understand much of it (I hadn’t taken my data structures and algorithms class at that point). I also really wanted to be in NY or SF.

Second Semester

Second semester rolled around, and I got to work. I found startups that I thought were neat, or where I thought I’d learn a lot. AngelList is amazing for this, and you can filter by location. Once I found a startup I thought was neat, I used Crunchbase and the startup’s website to find more information about them. Be sure to take a look at the startup’s jobs page. Even if they don’t have any intern positions explicitly listed, take a look at the software engineer roles to see what kind of skill set you’ll want to emphasize on your resume. The Hacker News Who’s Hiring threads (example) were also great.

Next, I found a co-founder’s email. 9 times out of 10 it was firstname@startup.com. Rapportive was super useful in checking if I had the right email. If I couldn’t find the email, I tried a bunch of different combinations in a Google Search and eventually something matched. If I couldn’t find the co-founder’s email, I looked for a jobs@startup email, which was usually easier to find.

Now the first email you send is pretty important. Make sure it reflects your personality, and that’s it not too formal (it is a startup after all). Be sure to tell the founder what you like about their startup and what attracted you to them in the first place. Make sure you highlight your strengths, and don’t forget to include your github link and your resume. Once you’ve got one of these emails perfected, you can pretty much copy and paste it for other emails, and change a few of the details.

Here was my basic template:

Hi Founder,

I’m Chintan, a freshman at Georgia Institute of Technology, and I’m looking to be company’s next kick ass engineering intern.

I love that you guys are something you like about the company

I have a fair bit of experience in web development (I interned at a RoR firm back in Australia and I’ve been working in PHP for a few years), but I’d really love to expand my experiences and learn more about data mining and distributed data systems. I’ve got a fair bit of experience in Agile environments and with using Git in a large team (git-flow anyone?).

I’m currently in the process of founding a startup which is based on an app to predict outfits, and I’d love experience in a startup environment. My previous internship was in a small (but awesome) RoR shop, and it was nothing short of amazing. It was very startup-esque and everyone was extremely down to earth and willing to teach.

I’m currently taking my college’s course on data structures and algorithms (which I’m having to teach myself – terrible professor), and it’s extremely engaging. Even though I’m a freshman, I have no doubt that I can teach myself the necessary skills required to hustle with the juniors and seniors.

I’m attaching my resume to this email, and you can find me on github at github.com/chintanparikh. If you’re interested in having me, shoot me an email at chintanparikh@gatech.edu

Cheers, Chintan

This intro email is basically your “cover letter”, so give the startup a reason to want you.

After this, you wait. Some startups will reject you right off, saying they don’t hire freshman. Other’s simply won’t respond. However, if you’ve got a decent github, you should get some phone screens. There was a period where I’d wake up in the morning, go to class, and shoot off emails to ~50 different startups that I thought were cool. Do this for a week, and you’ll have plenty of phone interviews.

Networking

As cliché as this sounds, networking is important. It’s a remarkably fast way to meet important startup founders, and get introductions to great places to intern. Get involved in the startup community at your school. Early on in my second semester, I met Aswin. He was awesome, and was seriously involved in the startup community at Georgia Tech. He was in the process of founding an organization which would try and bring the startup community to Georgia Tech, and I got involved. I met a tonne of amazing people, got to go to some amazing startup conferences, and I met a bunch of amazing founders of successful startups. A personal connection or an introduction by someone the founder knows personally is definitely better than a cold email.

I also learnt a lot about how startups operate, co-organized a hackathon and helped a bunch of fellow students launch their startups.

Oh, and I’m now co-running the place (Startup Exchange), so if you’re at Georgia Tech, we’d love for you to get involved. I’d suggest applying to Startup Semester. It’s our free “incubator”, where we’ll turn you into a lean, mean startup machine.

Phone Screens

My first phone screen was terrifying. I had no idea what to expect, no idea what kind of questions I’d be asked. One of the first emails I’d sent was to a pretty big YC company, and they wanted to interview me. I got excited, and set up the phone screen for the next week. Do not do this. I absolutely bombed my first phone screen. I was nervous, and even when I knew the answers, I couldn’t communicate them effectively.

I’d recommend scheduling the first 5 or so phone screens with startups that you don’t particularly care about. This will get you into the habit of interviewing over the phone and build up the confidence you need to think on the spot.

If you’ve done things right, you’re going to need a good calendar to keep track of phone screens. There was a period of about three weeks where I was interviewing every single day for a different startups. Use Google calendar, it’s a life saver.

What you’re actually asks varies wildly. I had some deeply technical questions – “Explain the difference between Symbols and Strings in Ruby”, and “Why aren’t symbols garbage collected?”, some of the usual questions “Describe a time when you and a teammate disagreed. How did you get over it?”, and even questions like “We have a Where’s Waldo page in front of us, and I know where Waldo is, but you don’t. How do I convince you that I know where Waldo is without revealing his location”, and “Explain something to me”.

Also, if you haven’t taken a Data Structures and Algorithm’s class, make sure you let your interviewer know that ahead of time. Data Structure questions come up a lot in interviews, but employers know they’re interviewing freshman, so they’ll tailor the questions to you (or might just reject you).

Be sure to brush up on the company’s tech stack, and everything you have in your resume. If you’ve got Rails in your resume, and the startup uses Rails, you can be damn sure they’ll ask you a question on Rails.

Lastly, be sure to do some research on the company – if they’re a bigger startup, you might be able to find interview questions on Glassdoor and the like (props to Shehmeer for the tip)

Once they’re done, make sure you have questions of your own to ask. I was always really interested in the culture of the startup, so I asked about their core values and such. It’s also useful to know what kind of problems you’ll be working on. Lastly, after being asked the “Explain something to me” question, I realized how useful it was in working out how someone thinks. If I was interviewing with an engineer, I made sure to ask that to see how well he/she could teach.

After your phone screen, you should get a response in a few days. If you don’t, be sure to email back and ask for a status update. Some startups will offer you the position right after the phone screen, whereas others will ask for further phone screens, or request that you come in.

In-person Interviews

This is the fun part. You get flown around the country, with private drivers and fancy hotel rooms. Don’t go too crazy the night before your interview, and make sure you brush up on things you might need to know. Data Structure questions came up a lot, but the in person interview varies pretty wildly between different startups. Some will ask you to build a small application, or pair program with an engineer (these are awesome). Others will sit you down at a desk for 6 hours with different engineers coming in and out asking you questions (these aren’t so awesome).

If you already have offers from other startups in the area you’re flying too, it’s not a bad idea to try and meet the team over dinner. I did that with Aidin, and realized that I’d really enjoy working with the team over summer.

Like the phone screens, try to schedule the startups you don’t really want before the one’s you do want.

Your offers

By this point, you’ve probably got a bunch of offers and you need to work out exactly where you want to intern. As clichéd as they are, pros-cons lists work rather well here. Make sure you know what you want from the internship, and what’s most important to you. I really wanted to be in NY or SF, doing something Rails related, and big data was a plus as well.

Don’t be afraid to hop on another phone call with an engineer to ask them any questions about what you’ll be doing.

Money should be important, but not the most important thing, especially as a freshman.You’re going for experience, not the money. That being said, make sure you can actually live comfortably wherever you’re going. If you’re going to somewhere like NY or SF, keep in mind how high the cost of living is there, and don’t forget to account for tax.

Once you’ve decided where you want to be this summer, send them an email to get the paperwork started. Politely decline your other offers (keep in mind you might want to work for them next year!), and thank them for their time. Nothing sucks more than a stock rejection, so try and actually put some effort into it.

Need help?

If you have any questions about the process, feel free to shoot me an email.

Also, if you’re looking for some neat startups, these startups really stood out to me. They’ve got an amazing team, and are definitely places that I’d suggest working at over the summer.

  • Plaid – While I absolutely bombed my phone screen (I think it was my second phone interview), William made me feel extremely comfortable, and it’s clear that they’re remarkably smart. They also won the TechCrunch Disrupt Hackathon
  • Aidin – It’d be hard to find a cooler team to work with over the summer. These guys are super smart, and are disrupting an industry that is stuck in the stone ages. They’re also saving lives, and that really appealed to me.
  • Enigma – These guys were awesome. I got an offer from them, and I know that I wouldn’t have regretted it for a second had I accepted. They’re big on big data, and are an amazing group of people. Oh, and they won TechCrunch Disrupt’s Startup Battlefield
  • Khan Academy – EdTech startups kick ass. These guys kick ass. And they have an absolutely amazing team behind them. I really enjoyed their interviews and it really felt like me and the interviewer were working through a problem together, instead of an interview.