Projects are scary
Unlike familiar routines (making coffee, getting a haircut) or well-defined tasks (following GPS, attending a meeting), executing larger projects can be tough.
- Projects are often under-defined: both in their goals and in their execution.
- Projects are long-lived: decisions made earlier can affect things later.
- Projects are unpredictable: you can expect “unexpected” setbacks and complications.
When project management rears its head in life, it’s often stressful for everyone involved. The coordination of time and space required in planning a vacation can leave you feeling exhausted rather than refreshed. Planning a wedding for a few hundred people can feel like a chore rather than a celebration. Home improvements? Most people will pay others for things that they could easily execute themselves.
It’s no surprise that a lot of people are intimidated by complex projects both at work and in real life: unlike things that we do consistently throughout our lives, most of us don’t get the necessary repetitions of ideating, executing, and evaluating the outcomes of larger-scale projects needed to develop a knack for them and feel comfortable and confident with getting them done.
Without experience, projects of any scale can feel intimidating. I know a homeowner who doesn’t even own a drill — spending tons of money and headache paying others to do small jobs — the lack of experience having instilled in him a learned helplessness that he feels powerless to overcome.
Schools and jobs: poor teachers
Schools and universities try to create graduates that have familiarity with project work through assignments, but this is an approximation of reality at best. Projects scheduled on a curriculum are far too structured and unambiguous to be accurate representations of the twists and turns of work in the real world. College or grad schools projects are too short-lived: perhaps with the exception of PhD theses, academic projects have the longevity of a single semester (or a single night for severe procrastinators). No student has to think about how decisions made in a project would play out over quarters or years, since the entire existence of the project is a simulation.
Most workplaces are also poor places to develop project prowess. Even in high-paced environments, most employees will only complete a handful of projects in a year: business planning happens in quarters and years.
Even worse, due to specialization and compartmentalization of workstreams across departments, workers are very rarely involved in the entire cycle of a project. Designers will be involved in ideation but not delivery. Engineers will build what’s presented to them but not question the premises. Data analysts will analyze past projects. Specialization in our workplaces encourages us to focus on what we do, and just do that part of a project. When it’s our turn, we do our thing, and hand it off to the next person. Few people are involved from beginning to end and experience the satisfaction of executing something in its entirety.
Do lots of projects
That’s why I advise everyone, especially product and project managers, to take up as many achievable projects as they can outside of work, to build their project muscles through repetitions.
Here are some easy ones to start with:
- Paint your apartment
- Start growing vegetables
- Build some furniture
- Design a board game
- Make your own sausages
- Write a song with a friend
Pick anything that’s big and uncomfortable and that you want to do, and just get started. Choose something that doesn’t feel impossible, but takes more time to accomplish than a single sitting, or might involve more than one type of work, or require multiple people to bring to light.
Being uncomfortable is great: you’ll end up doing research, making decisions, and wearing the hats of multiple people in the course of your project.
Choosing what to do
Diversity in projects is important: doing a programming side project when you spend your entire day job programming has limited benefits. You might learn some marginal technical thing, or gain some familiarity with a new technology, it’s unlikely you’ll push your boundaries significantly. Too often, projects picked within your standard domain of expertise are plainly just too easy and comfortable to give you the confidence to grapple with the truly unknown, getting the experience of totally stepping back and taking on the full responsibility of doing something big from scratch.
There’s also the risk of burnout when doing side projects that are too similar to your day-to-day. Back when I was doing mostly product management in my day to day, I would do a lot of programming projects on the side. I was surprised to learn that most of the creative and intelligent programmers I was working with day-to-day weren’t doing the same, even though it was such a good way to learn new skills and try new things — by the evening, they were tired of looking at a computer and the last thing they wanted to do was more debugging or refactoring.
There’s a reason that salaries are referred to as “compensation” - you’re being compensated for doing things that you wouldn’t otherwise be doing, and doing side projects that have too much of the same shape can feel demoralizingly close to the projects we sometimes dread at work. Good side projects are intrinsic sources of inspiration and energy.
To be clear, you can learn a lot from doing a programming side project as a programmer. You might even not consider this side work a “project”: someone once told me that as a writer, their daily writing of news articles was their writing work, on the weekends was when they wrote poetry. But my suspicion is that orthogonal disciplines can bring learnings that simple forays into near adjacencies to our work cannot provide.
For me, woodworking has been an excellent way to get better at software projects, by adding a diversity of challenging projects that are satisfying and help push me in new directions - and as a side effect, provide many great tables, chairs, and home goods to decorate my spaces at a fraction of the cost.
I’ve often set out to make a piece of furniture, starting by just daydreaming about what is possible, inspired by the world around me. This might culminate in some designs, some calculations, some trips to the store.
Then comes the implementation phase: breaking down the end state into a series of achievable steps that combine to form the whole. A lot of flexibility and creativity is exercised here, as often you might not have the right tool or exactly the right conditions to do what you want.
Instead of just coding up another website, woodworking projects teach lessons that aren’t as obvious in software but are just as applicable to it. Woodworking projects, for a large part, are focused on the management of imperfections, in a way that challenges the idealized completely logical world of software code.
Every piece of wood, with its knots, warps, and stains, is different from every other. And the processes by which wood is shaped are not that forgiving: once a piece of wood is cut, it’s quite difficult to backtrack and cut it a different way.
It’s one thing to hear blog rants about how you should “measure twice, cut once” in software and just click on—it’s a whole other game to actually be setting up your saw to make a cut in the single piece of wood you have remaining, which needs to fit preciscely within the dimensions of a larger piece of work.
But that’s just woodworking.
Fundraising for a cause is a project that can help you learn about finances and what motivates people. Learning new languages or a new instrument can expose parts of your brain to you that you may have neglected. Starting a garden can teach you almost more about patience as it will about biology. Even throwing together a dinner party can push your boundaries: from the basics of recipes and flavors, through the operational management of serving to cleanup.
No matter what types of projects you do, doing more projects will increase your confidence and ability to execute big things.