Perfectionism kills productivity. It leads people to spend their entire lives not really finishing anything. I’ve thought of myself as a perfectionist in the past, and, during that those parts times time in my life, I didn’t finish much I have very little to show that I completed during those years.
FinishingStarting projects is easy. Finishing them is hard. Perfectionism is yet another obstacle to keep us web developers from reaching the finish line… as if we needed another obstacle. We already have to deal with buggy, poorly documented libraries, impossible expectations, hardware computer problems, network outages, sick kids, and cats who insist on sitting on the keyboard. Now, we have to beat our own hang-ups on top of all that.
As I look back, perfectionism in my wake with perfectionism behind me, I can see it for what it really is. When you’re in it, it doesn’t _feel_s like you’re not flaking on projects — you’re just going to keep working on them until they’re perfect. You’re a victim of a universe in which nothing will ever be perfect. It’s the universe’s fault your projects never come to life, not yours.
In reality, perfectionism is a tool that allows you to never finish anything while also avoiding not feeling any responsibility guilt. The sad truth is this: we’re only fooling ourselves.
Facing so many factors we can’t control, we need to deal swiftly with those we can. Here’s how I kicked perfectionism and started getting things done!
If you need a hand breaking through your barriers 🚪🔨 to becoming a web developer, I’m here to help. Let’s set up a mentoring session and figure out your next steps together! Go to Rad Devon to sign up!
Step 1: Accept that perfectionism is harmful
As a developer, perfectionism is almost exclusively harmful to your career, whether you freelance or work full-time. The dilemma is not between perfectionism and turning out garbage — it’s between perfectionism and shipping. Given that, choice, all your clients and employers will choose to ship.
Perfectionism means fewer completed projects missed deadlines for clients and employers and fewer projects to show in your portfolio. No one wants to hire you on the back of a bunch of half-finished projects.
Step 2: Rescope current projects
For any projects you’re working on, reduce the scope to the absolute minimum you need to accomplish your goal. Be ruthless in finding what that minimum is. This way, even if perfectionism intervenes creeps back in, you’ll have fewer moving parts to perfect!
Step 3: Set aggressive deadlines
Set deadlines that won’t allow time for perfectionism and stick to them. Focus on completing your projects in passes. Your first pass should be getting all the basic functionality in-place. For your second each subsequent pass, thing about complete the most impactful refinement you can make.
Step 4: Complete projects
Keep making refinement passes until you hit your deadline, and ship what you have at the end. You can always return to the project for more refinement passes if you have time later. Shipping on the web doesn’t have to mean you never work on your project again.
Step 5: Reflect
Once you’ve completed a few projects this way, look back on the work you’ve actually finished. You’ll realize it’s not as bad as your perfectionism led you to believe it would be. You’ll feel a since sense of pride around completing projects. That pride will help you keep the perfectionism monster off your back.
You’ve taken one more step to set yourself apart. You’ve moved from a large group of people who can write code into a much more elusive exclusive club of people who can use code to get things done!
Thanks for making it through this article! I have a special interactive treat for you. A bit of a peek behind the curtain, into how imperfect I am (and how that’s totally OK). I also want to prove that I practice what I preach.
I want to reinforce the ideas that 1) it’s OK to mess up and make things that aren’t perfect and 2) you can keep refining even after you ship. As a result, I’ve left all my edits of this article intact. I continue to find and fix problems and refine articles even after they go live. Check out the original post at Rad Devon, and you can toggle the edits on so you can see how this article has evolved.