Side Projects: The Portfolio is Your Leverage
I know, you are tired. You code 8 hours a day. The last thing you want to do is code more. But here is the truth: Your day job pays your rent. Your side projects build your career.
At work, you learn what the company needs (Legacy Code, Internal Tools, Maintenance). At home, you learn what you need (Rust, AI, WebAssembly, Architecture).
A side project is the only place where you are the CTO. You pick the stack. You make the mistakes. You own the outcome.
Here is what we'll cover:
- The "Product Trap" (and why you should avoid it).
- The "Two Birds" Strategy for massive leverage.
- The definition of "Finished" (it's less than you think).
- How to market your work so it actually helps you get hired.
1. The "Product" Trap
Most developers fail because they try to build a Startup.
- "I'm going to build a SaaS that rivals Trello!"
- Week 1: Set up Auth, Database, Docker, Billing, Email...
- Week 3: Abandoned. It was too hard.
The Fix: Don't build Products. Build Toys.
- Build a CLI tool that tells you the weather in Emoji.
- Build a bot that tweets when your plant needs water.
- Build a visualizer for sorting algorithms.
The goal is Learning, not Revenue. If you learn React, the project was a success, even if zero people use it.
2. Leverage: The "Two Birds" Strategy
Don't just build random things. Build things that solve a problem you have right now.
- Problem: You are learning Golang.
- Problem: You hate manually organizing your Downloads folder.
- Project: Write a Golang script to organize your Downloads folder.
Now you have learned Go, AND you have solved a life problem. Double Leverage: Write a blog post about it. Now you have Content + Learning + Tool.
Mentor Tip: Employers love "Toolmakers." If you build tools to automate your own life, they assume you will automate their business problems too.
3. Finish It (The 80/20 Rule)
A GitHub profile with 10 half-finished repositories ("Initial commit") looks worse than a profile with zero projects. It signals: "I start things but don't finish them."
What counts as "Finished"?
- It runs. (No crash on start).
- It has a README. (What is it? How do I run it? Screenshot).
- It is deployed. (Vercel, Netlify, GitHub Pages).
The 5-Second Rule: If a hiring manager clicks your link, can they see what it does in 5 seconds?
- If they have to clone the repo and run
npm install: You Failed. - If they see a live demo or a GIF in the Readme: You Win.
4. The Portfolio as a Resume
When I interview Juniors, I skim the Resume. I study the Portfolio. Why? Because the Resume tells me what you claim to know. The Portfolio tells me what you can actually do.
What I look for:
- Code Quality: Do you use meaningful variable names?
- Commits: Do you write "fix bug" or "refactor: decouple auth logic"?
- Complexity: Did you copy a tutorial, or did you struggle through a unique problem?
I once hired a dev solely because he built a "Pokemon Team Builder" in Vue. The code was clean, the Readme was funny, and he clearly loved building it. That passion is uncountable.
Summary
- Keep it Small. If it takes more than 2 weekends, it's too big.
- Finish it. A deployed toy is better than a local masterpiece.
- Show it off. Writing a blog post about why you built it is just as important as the code.
- Have fun. If you aren't having fun, you won't finish it.
