DEV Community

Cover image for How I Got a Software Engineering Job at a Growing YC Startup (Part 1)
Makoto Kinoshita
Makoto Kinoshita

Posted on • Updated on • Originally published at blog.antcode.dev

How I Got a Software Engineering Job at a Growing YC Startup (Part 1)

Intro

Working at a growing YC-backed startup is a great way to start your career. I cannot describe how much I learned in just the 2 years I spent working at one. Not only do you grow as an engineer, but you also get to learn many aspects of building a company. When I was applying for a job, I found almost no information about getting a job at YC-backed startups even though there is lots of information about how to get a job at big companies such as Google or Facebook. That is why I’m writing a step by step guide on how to get a job at a growing YC-backed company.

Trying to get a job for the first time can be scary. No one teaches you how to get a job, and you are essentially on your own. I know the feeling well. The most important thing is to remember that you can find your way in by approaching the interview process correctly even if you don’t have a CS degree or internship experience. Many of the guides about “how to get a software engineering job” focus a lot on studying algorithms, and they list an overwhelming number of resources. However, there is a lot more in the whole interview process than just studying algorithms. Studying algorithms is actually not as important as some people claim when you are applying to a startup. If you have ever felt overwhelmed while reading those interview study guideline articles, or have no idea where to start, this is the guide for you.

Job Search

Before I start talking about the job search, let me talk about why we are specifically targeting YC-backed startups and not just any startup. Determining whether a startup is growing or not is an extremely difficult process especially if the company is pre-series A. The fact that a company went through YC is one of the few variables you can take into account when you evaluate the chances of the company being successful. Another benefit to YC companies is that they are highly-regarded, so it's a big plus on your resume if you work at one. You will also get access to an amazing network. YC has more than 4000 founders, and founders have access to that network. If you work at a YC-backed company, you will also have access to the network via the founders. That being said, most of the things I will talk about in this article are not limited to YC-backed startups and some can even apply to big tech companies.

Where to find an open position

Main resources (Ordered high to low by how much I recommend them)

  • Keyvalues: This is a fantastic website if you want to find a YC-backed startup that could be a good fit for you. It categorizes companies with very unique metrics and gives you a great sense of what each company is like. I found my first company through this website.
  • Hacker News: Hacker News has a job directory where only YC-backed companies can post open positions. I highly recommend that you pay attention to the whoishiring thread. This is the thread where many companies including YC-backed ones post open positions at the beginning of each month. Here is the truth about early-stage startups: they don’t have that much time to spend on hiring. If you react faster than other people, there is a higher chance that they will at least look through your application.
  • AngelList: It is still the go-to place for a startup to post their open positions. Most startups are not experts in hiring. Especially if the company is pre-series A, it is likely that they don’t even have recruiters. There is a higher chance that they would use the most popular platform to post open positions.
  • StackOverflow: I actually didn’t use this when I applied for jobs, but I learned that it is also one of the most popular platforms where companies post open positions. They have a good search engine similar to AngelList, so it definitely helps to target specific positions that fit your criteria. Even if you are not active on StackOverflow, don’t worry about it because most of the employers don’t care that much about your StackOverflow score. In fact, it is common that even senior engineers have almost zero reputation on StackOverflow.
  • Glassdoor: Glassdoor’s main benefit is the honest information in the anonymous reviews by employees and interview candidates. This is super helpful when you are preparing for interviews, but I will talk more about this later. Since companies know that people check their Glassdoor reviews, they are usually active and post open positions on Glassdoor too.

Other resources

  • Startupers: This is similar to AngelList, and startups can post open positions. Their search engine is not very good, and it is hard to find a position that fits your criteria. Nonetheless, companies post open positions almost every day, so it’s worth checking it out.
  • GitHub: Yes, GitHub has a jobs board. Companies from all over the world can post their job openings here. GitHub has fewer listings than StackOverflow. If you are looking for a job in a specific location, there might not be that many listings for that particular place. One good thing about the GitHub jobs page is that it has an RSS feed so you can easily subscribe and get notified when there is a new listing.

In my experience, just focusing on some on the main resources is more than enough because the quality of websites in the “main resources” list is higher than those in “other resources”. Another great approach is to just read through tech news on Hacker News or TechCrunch, find an interesting company, and directly check the company’s website for open positions. Some people even get a job at a company where they don’t have an open position. I’m not saying that it is always the case, but if you hustle hard enough, there is a higher chance that you will find a way to get a job at a small company than at a big company. Later I will talk more about how you can make this happen.

How to determine whether a position is a good fit

Another important thing in the job search is to determine whether a position is a good fit for you or not. I think the growth potential of a company is one of the most important factors you should consider. But not everyone can have the experience of working at a company that is growing and that will be successful in the future. That experience itself will make you grow personally and will provide you more opportunities in the future. Therefore, I’ll spend the most time talking about how to determine the growth of the company, but I’ll discuss other factors too.

Growth
Predicting whether a small startup will grow is extremely hard. There is no special formula for it, and if it existed, every investor would make loads of money. An added difficulty is that when you are applying for a job, you have less information than what investors have. Although it sounds really risky to work at a startup, getting a second job is much easier than the first one, so it’s easy to transition from a failed startup to another one. Don’t get obsessed with finding a growing startup. Take these methods as just one way to guess how fast a company is growing.

  1. Check Crunchbase: Determining a company’s funding situation is the first step. Crunchbase usually has some information about a company’s financials. You want to focus on the stage of the company, and how often the company is getting investments. Don’t focus too much on the company’s funding size. Small funding size doesn’t mean a company is not growing. Again, there is no golden rule here, but you probably want to avoid the extremes. Especially if a company is raising large rounds of founding frequently, then you should dig deeper. When a company raises capital, they usually secure funding for the next 12–18 months. If a company is raising money more frequently than once per year, this could be a red flag. People tend to think that the more investment a company has the better it is, but that is not true. Raising money means that investors expect more growth in return, and often companies cannot keep up with those expectations. Also, note that information on Crunchbase is sometimes outdated, so even if a company gets investment, the information might not show up.

  2. Check employees’ LinkedIn: This helped me a lot when I made a decision about which companies to apply to. Almost every young adult has a LinkedIn account these days, and they often update their account when they leave a company and when they get a new job. Checking who is getting hired at which point gives you a general sense of whether a company is expanding or not. While scaling, companies need people with experience to make sure they do it right. If there are employees who have worked in successful startups before, this is a good sign. Checking employees’ LinkedIn also helps you to know what kind of people you will be working with, which is really important for your personal growth.

  3. Use Web Archive to see how the company has changed over time: We should all thank Internet Archive for making Web Archive. It enables you to see the history of changes to the landing page of a company. By looking through those, you can understand how their business plan has changed over the years. Every startup is looking for product-market fit, and it is not a bad sign if a company is changing its business model. Just make sure that changes in their business model make sense to you. It might be a bad sign if a company is changing its business model too frequently. You should also check the team page of each version of the landing page, and see how often people are leaving. It is a good sign if there are a decent number of people who are sticking with the company for a long time.

  4. Read articles about the company: Companies usually have some sort of presence in the media if they have gone through YC. You might find an article that talks about a company, its competitors, and the industry they are in. It is also a good opportunity to learn about industries. If you find competitors, you can also do steps 1 through 3 for them, which will give you a better understanding of where each company stands.

Growth is important, but culture is arguably more important. You will spend at least 40 hours a week in one company for a while. Working in a company whose culture doesn’t fit you is nothing but torture. However, the best way to determine the cultural fit is by actually having onsite interviews. You will learn a lot more through interviews than reading online reviews, so don’t worry too much about cultural fit when you apply. Here are two things I did to make sure I did not waste my time applying to the wrong companies.

Culture

  1. Read Keyvalues: As I mentioned above, this is the most efficient way to learn about the culture of YC-backed companies. They don’t have all of the YC-backed companies, but if the company you are thinking of applying to is on the list, then you should definitely check it out.

  2. Read Glassdoor: Glassdoor might have reviews on the company you are doing research on. All of the reviews are anonymous, so they tend to be honest and trustworthy. If there are more negative reviews than the positive ones, then you might want to think twice about applying to the company. Note that if a company is really small, then they might not have any reviews.

Interest
If you join a small startup, you will probably work more than you would at a big company. Every day is full of challenges. Some days you might have to stay up until midnight to ship a new feature, or you might have to get up at 3am because your code breaks the whole application. I’m not trying to intimidate you, but challenges are common in startups. That’s also what makes your work more fulfilling. Without an interest in a company’s vision and also in the industry the company is in, it can be hard to go through some of those challenges. If you are trying to get a job for the first time, I know you probably want to get any job because I was the same way. But try to take a moment and ask yourself whether you are actually interested in what a company is doing. Thinking about it will benefit you in the long term. You will gain industry-specific knowledge in a company that will help you to get another job in that industry. But if you don’t like the industry, it might not help you as much when you want to change industries in the future.

General Tips

Do not spend too much time searching for a company
Although I have listed lots of resources to find a company, I will emphasize that you should not spend too much time searching for the ideal company to apply to. Getting a job is somewhat a numbers game. It is likely that you will have more rejections than offers. It is okay because all you need is one great offer. It is much more efficient if you do a deep dive into a company once you get an onsite interview. That being said, I don’t recommend applying to every company you can find. You need to find a good balance between those two, and how much time you spend varies a lot among people. Personally, I applied to 3 or 4 companies a week over about 6 weeks. That pace felt pretty natural to me. In the next chapter, I will talk about what you should do once you identify a company you want to apply to.

Network, network, and network
As you search for jobs, you need to use and grow your network. Some experts say that 70% of jobs come from your network. You might be wondering how you can even expand your network when you don’t have any professional experiences. It turns out you actually can do it no matter your technical level. The first thing you can do is to use the network you already have. Reach out to someone who is in your college or high school network. If you have done a coding bootcamp, then reach out to the alumni of the program. People are usually generous with helping other people who are from a similar background. If you have exhausted your close network, then it is time to start reaching out to strangers on the Internet. We will talk more about this in the next section.

Recognize the uncertainty
There’s a lot of uncertainty in the entire job hunting process. Depending upon the kinds of positions you’re applying for and how selectively you pick companies, you can submit a handful of applications and get a response on every one. Or you can send out tons of applications and hear back from just a couple. I sent out about two applications a day for two weeks. For each application, I customized the cover letter and my resume to make the application as strong as it could be. I applied to almost 20 companies in total and I heard back from 8 companies. Judging by what I’ve heard about other people’s job searches, I think my job search was pretty efficient. I have a friend who sent out over 100 applications, but he only customized his resume and cover letter for a couple, and ultimately he heard back from just 4 or 5 companies. Different strategies are successful for different people. Just remember that if you’re trying to land a job and things aren’t going well, you only need one job offer!

After you find the companies you want to apply to, the next step is to put together your application and submit it. In the next post, we’ll go over how to do that so that you maximize your chances of getting responses.

If you have any questions, feel free to reach out to makoto@antcode.dev or otto@antcode.dev. Lots of people helped us with career stuff over the years, so I’m more than happy to give back.

Happy coding!

Top comments (1)

Collapse
 
swissgreg profile image
SwissGreg

Nice write-up @mkinoshita12!

Some feedback: it looks like GitHub Jobs does not exist any more and StackOverflow is also closing their job section.
How about adding DevITjobs.uk / DevITjobs.us instead?