Discover more from The Outsider Dev
Building Projects That Outlive You
When a project is too important to depend on you
A few years ago, I was fully invested in a community project. The main goal was fostering personal growth through entrepreneurship. People loved it, we were seeing great results, and I was happy.
I was making an impact™.
However, for a number of reasons, I decided to step down and let someone else run the project.
In 90 days, everything was shut down.
I can't express the frustration I felt. All those years of hard work and strategic planning vanished into thin air, leaving me with a sense of defeat.
I realize now that I could have handled this situation in a much better way. Had I done a better job in delegating tasks, establishing the project’s vision, and giving people room to grow, many more students could've had their lives changed.
If you’re like me, you may be involved in several projects at the same time. Building products, writing software, learning a new skill, mentoring and teaching other developers, or participating in open-source or local community projects. Some of these projects are inherently personal, but most of them are done publicly within a group or community.
And some of your projects don’t need to fail as my project did.
So I want to offer a long-term perspective for your projects.
Let’s imagine you're building a project to teach people in your neighborhood how to code.
You start everything by yourself. You create a curriculum. You learn about marketing to spread the word. You create learning materials, record videos, and start teaching people onsite.
At some point, one of your students - let’s call him John - offers to help you. He’s full of energy and a fast learner. You happily accept his help and ask him to do some of the social media work. A few months later and you have many people helping you with the daily tasks. The students are thriving, and you feel satisfied.
You decide to move to another city and can't take care of this project anymore. It's time to hand it off.
How do you do that effectively?
1. Build projects that do not depend on you
The more you can make the project run without your interference, the better. I'm not talking about automating things, although that is usually a good idea. I'm talking about things that can be done by someone else.
In our scenario, you're the only teacher. You haven't thought about attracting other experienced developers that may be interested in helping their community. Now the clock is ticking, and you have no idea of what to do.
The idea here is simple: a project that's important to you may be important to other people, too. And as soon as you realize that, you should start thinking about how to remove yourself as a dependency. Failing to do that may result in you being the single point of failure of your project.
A good strategy is to ask yourself: if I get sick for two weeks, do things still run without me? What about a month of vacation time? A newborn baby? What if I ever need to step down entirely?
Projects that affect others need to have a plan to minimize the impact when you leave.
2. Find the right person to hand off the project
You begin to consider John as the right person to take over this project. After all, he's been helping you from the start.
But choosing your successor only by affinity is a recipe for disaster. You may be putting in check the future of the project. Instead, do your due diligence and assess if the person has the following qualities:
Leading a project requires a completely different skill set than just contributing to it. Coordinating people, handling dependencies, solving conflicts, and managing expectations is not an easy task. No wonder why many software developers avoid management at all costs.
John is now a programmer, but can he take a leadership role?
In the ideal scenario, you would find someone just as excited about the project as you were when you started it. Someone who understands the vision and wants to get fully invested in it.
Does John even want to run this project and move it forward? Does he have the time and capacity to do it well?
Once a project gains traction, it's easy to find people interested in it. But not everyone has the same motivation as you. Some want to feel better by participating in a community project. Some want to make some money out of it. Some genuinely want to help others to grow.
Why did John offer to help?
Recognizing someone else's personal reasons is not easy. But handing the project over to someone with the wrong motivation might jeopardize everything that was built.
Thanks for reading The Outsider Dev! Subscribe for free to receive new posts and support my work.
3. Allow the project to outgrow your vision
Your vision for the project brought it up to this point. Now, it's time for someone else to take it further.
You may have established the initial vision - the "why" behind the project. But once you decide to hand it off, your successor needs to establish his/her own vision. It’s your job to make this clear.
Their vision may not be the same as yours. Who knows? It may be many times bigger than yours. You'll only know after you leave - but that's how things should be, anyway.
The project is now bigger than you. It must outlive you. You planted the seed, but you're not in charge of growing it to its full potential anymore.
4. Set the stage for others to succeed
Your successor will make his own decisions. They can fail or succeed. But you need to make sure you do everything at your disposal to make them succeed.
You have a lot of knowledge to share:
how to run the project
what numbers to call
what bills to pay
why a previous initiative didn't work as expected
why you've made the decision to teach one thing over the other
why you've refused to apply a different technique than everyone else is using
Document processes as early as possible, and you won't find yourself in a position of having to remember everything on a future day.
A new definition of success
I took a community project as an example to highlight the public aspect of it. But this applies to any project in your company too.
You won’t be there forever. But the next person may be forever grateful to you for how you set them to success.
My main goal is to propose a different definition of success: projects that outlive you. Because you set the stage for others to succeed, you can now see the fruits of your work grow past you.
Even if your name isn't there anymore.