The Ultimate Guide to Landing Your First Software Engineering Job at a Tech Startup: Side Hustle
How you can build a side hustle and why you need it to land a job at a tech startup.

You might want to start a new project independently for multiple reasons.
Many people do that to learn something new. When you want to explore a new library or technology, creating a new project is the best way to do it. Creating a simple environment is ideal for testing the new tool you want to learn in isolation.
However, learning is not the only benefit you can get from a side hustle.
Working consistently on a product can also become a new source of income. Whether you do that alone or with others, your project might grow enough to become a product or service people want to pay for. Even if it doesn’t mean you can quit your full-time job, it could still produce enough to pay you a dinner at the restaurant.
Another great benefit of side hustles is landing a new job at a startup.
Side Hustle to Land a Job
1. Interview questions
Every interview I’ve ever done has included the question, “Tell me about a project you worked on.”
You can speak about your full-time job and your company’s product. That’s fine, but there are some caveats.
Choices
Why did you choose GraphQL for your API?
If you didn’t start the company yourself, your answer would be, “I didn’t choose that.”
Would you choose GraphQL if you could go back in time?
You could answer this question, but do you know enough about the application to give enough context about your answer?
The question aims to understand how you think and evaluate choices.
Side hustles put you in the position of choosing multiple times.
Making choices in a small and controlled environment is more straightforward than doing that in a big one.
Free time
When I was at the university, I did an internship at a small company.
Other students applied for the same company, and many had better grades than me. I was an average student. The critical question at the interview was this one:
What do you do in your free time?
I didn’t do the proper interview since I was chosen after some emails I exchanged with the company’s CEO. So, I asked why they chose me over other candidates, here is his answer:
I want people who are passionate about code. I want people who, after their jobs, read articles and watch videos about software engineering because that’s what they love. I knew you were passionate about code because you told me you code in your free time.
People passionate about code are good at coding.
Startups need people passionate about code. Software engineering evolves incredibly fast. Only people passionate about it can be up to date.
Speaking about your side hustles shows you spend your free time coding.
If, during an interview, you speak about your daily job, the interviewer will automatically think that you only code at work.
2. Take-home assignment
A take-home assignment is one of the tools companies use most to evaluate candidates.
Given some requirements, it usually consists of a small project you must realize. Typically, it has a time constraint of one or two weeks to complete, and it is usually something you should be able to do in a couple of hours. However, it might take longer than that if you have to make technology choices during the assignment.
Side hustles help you build your tech stack.
Once you have your go-to choices for technologies, you can focus entirely on the assignment. If you realized five projects using Fastify, using Express for your take-home assignment doesn’t make sense. You should already have one project you can use as a starter and change some parts.
The goal of the take-home assignment is to discuss what you did.
Once you complete the assignment, you will be invited to a new interview, during which you will discuss it. During the interview, you’ll need to answer questions about the choices you made and the technologies you used. That’s why you want to have an established tech stack.
Use technologies you tested in many projects for the assignments so you know how to use them.
How to create side hustles
If you should start a new project tomorrow, what would you do?
There are different ways to approach a new project, but if you want to land a job, you must remember some key points.
Your goal is to finish with a clear tech stack.
1. Use what you know
Use the technologies you already know.
You can create a new project to learn a new tool or framework, but that’s a longer process. Your goal is to establish your tech stack, and you need tools you can use effectively to create a new project.
When starting a new project, you should minimize the technology choices.
2. Create a starter template
Starting with a CLI or an existing boilerplate is fine, but you must end up with your own.
While working on small projects, you may find yourself repeating some tasks. You’ll need those parts in different projects: authentication, logging, database connection, deployment, and so on. Separate those parts and make them reusable.
Create a template containing your boilerplate.
I highly recommend reading this post from
about side projects.