Side projects are important. They help you channel your passion when you cannot explore that in your main project. But how do you turn it from a passion project into something bigger?
A few weeks ago, we discussed Side Quests. Chaitali shared about hers and how these side quests supercharged her career to become a Director at Google. For Path to Staff subscribers, use the code L1PHBT5 to receive a free two-week subscription to ChaiTime.
I've had a few side quests myself throughout my career. Some have failed, and some have succeeded.
But when I look back at them, I see a formula—steps to increase the chances of your side project succeeding—and I'll share it with you today.
Why bother shipping a side project
First off, let's make sure we know why we want to ship side projects:
You want to share what you've learned on the side.
You want to gather feedback.
It's not just you – multiple people across the company are spending a lot of time on this problem, and you want to share how you solved it.
This last point is a powerful signal since there's a significant opportunity to land impact across multiple teams.
Found this helpful? Subscribe to make sure you don’t miss new articles.
Turning Your Side Project Into Wins
I've broken this process down into three key steps.
Problem ➡️ Opportunity
You need to start with a problem.
Start with problems you face. Thinking of your side project this way is similar to building a startup. As Paul Graham, founder of YCombinator, says, don't think of startup ideas; look for problems you personally have.
Ensure this is a common struggle: Once you have a list of problems, look around. Are your teammates struggling with the same issue? Where are they spending the most time? Sometimes, the overlap isn't clear at the start, so jot down what they tell you. If they often complain that their IDE is slow, write that concern down. If they are calling out the pain while integrating with a particular API, write it down. If they complain that compiling an Android package is super slow, that's also something to investigate.
Find your personal leverage: Not all of these will be easily solvable by you. Find something that you have high leverage on: (1) something that personally interests you (your passion) + (2) something you're good at (your skills). If you can match these, great! You have an opportunity. If not, repeat this step.
Found this helpful? Subscribe to make sure you don’t miss new articles.
Opportunity ➡️ Project
It's now time to turn an opportunity into a project.
Think of what a prototype looks like. You want to find the shortest path to a working MVP (Minimal Viable Product). Take the same app compilation problem – it can be a fast script that looks at minimal dependencies to get the app compiled.
As you're building this prototype, you need also to do a few things:
Estimate the work involved: Do some rough calculations about the time it will take to build a prototype.
Measure your potential impact: Is it pain? Revenue? Opportunity cost? Let's take the Android app compilation problem as an example. The metric here should be engineering time spent. If it takes 15 minutes to compile an app, and you have 16 developers working across your org, that's a whopping 4 hours of work each day if you have your MVP. Measuring this pain is very important to understanding your impact.
Inform your manager: Let your manager know that you're spending a small portion of your time crafting this (I suggest 20% to start). Show them your estimated impact numbers and how much time/money you can save the company.
Execute: Once your manager is aligned with your work, it's time to execute. Remember to communicate your progress. Leverage internal work channels to share what you're working on. Showcase your plans or even early prototypes.
Communicate and inspire others: Utilize your communication to inspire those around you. This is where you convince others to join you on your mission. Remember to reiterate your goal (a metric you measured earlier) and mission (why you're doing this). This is when you become more of a TL, and your project accelerates even faster.
Project ➡️ Ship
Now that the prototype is out there, this final step is essential.
Measure the impact that you made. Remember those metrics you used earlier? Now, use them to calculate the impact that your project made.
Announce that you've shipped. Share this in meetings and internal work channels. Notify your manager and leadership. Make sure that everyone knows you’ve shipped.
Celebrate. Getting here hasn't been easy, and most side projects fail at the earlier stages. Take a moment to celebrate the success.
At this point, your project has multiple options. Ideally, you should try to ensure continuity of your project.
Here are some options:
Codify it into a standard process: This ensures that future engineers will avoid running into the same issue I have.
Turn it into a larger project for the next half. If much more is needed to be done, I scope out what’s left and ask for more resources.
Find a team within my org/company to inherit it. If this project aligns with the mission of one of the teams, ask their manager to see if they'd be interested in supporting it long-term.
With that, your project has now shipped. Congratulations! You've done it!
Have suggestions or thoughts? Let me know in the comments below.
Great article Sidwyn. I will also add that one thing I learned that stuck with me was Heilmeier's philosophy (from a former DARPA director):
* What are you trying to do? Articulate it using absolutely no jargon?
* How is it done today and what are limits of current practice?
* Who cares? If you are successful, what difference does it make?
* What is new in your approach and why do you think it will be successful?
* What are the risks?
* How much will it cost?
* How long will it take?
* What are the mid-term and final “exams” to check for success?
https://www.darpa.mil/work-with-us/heilmeier-catechism
Simple but effective. Most times we see an opportunity but we don’t think that reaping an impact from it is just 2 steps away. I like how simple you put the steps, Sidwyn!