DEV Community

Cover image for Neither You nor Your Work Has to be Perfect
Ashlee (she/her)
Ashlee (she/her)

Posted on • Updated on • Originally published at ashleemboyer.com

Neither You nor Your Work Has to be Perfect

This post is also over on my personal blog.

Let's face it: nothing you make will ever be absolutely perfect. Some people may not like the final product. Maybe you could remove a paragraph or two from your blog post or reword a few sentences. Your code could probably be refactored in a few different places. That drawing might look cleaner if you erase a couple of smudges.

We all know what happens to projects once we start falling down these rabbit holes. "I'll just spend a couple of minutes fixing this little thing," can turn into a few hours or longer if you're not careful. In my experience with code, it could take even longer because you might accidentally break something totally different while trying to clean up a few functions.

Obviously, there's a time and a place for everything. Projects put you through various phases of pressure. Sometimes, you don't have the chance to make the code as beautiful as you want. Functionality is almost always more important because your client probably won't ever see your code. All they care about is that their product works well. So, when it comes time to punch, try not to worry too much about making the code perfect.

Rather, make some quick notes about where the code needs some help and what you might to do make it better. Hopefully, you can go back later and make the improvements, but if that isn't the case, you can either pass those notes along to the next person or use them to explain what you learned about the project experience. People expect you to learn more than anything. They will value the experience you have to share.


Did you know I have a newsletter? 📬

If you want to get notified when I publish new blog posts or make major project announcements, head over to https://ashleemboyer.com/newsletter.


Image by Alex wong on Unsplash

Top comments (24)

Collapse
 
latheresienne profile image
Latheresienne

I totally agree!

Putting this words in practice can be very hard for 'perfectionist'. I wrote from a book about Pomodoro technique that "perfectionism is [a sort of] proscratination".
Thanks for this useful article!

Collapse
 
ashleemboyer profile image
Ashlee (she/her)

So happy you enjoyed!

I'm definitely a perfectionist. It can be both a strength and a weakness! Letting go of things I can't perfect is sometimes painful, but I'm working on it. There is hope. 😊

I remember reading an interesting take on perfectionism as a form of procrastination... if you have any links about it, would love to read more!

Collapse
 
cubiclebuddha profile image
Cubicle Buddha

Great article. I really enjoyed it — especially the pragmatism of “a time and a place.” By the way, I also struggle with perfectionism as procrastination. I have an article coming up in my queue about it.

Here’s a sampling:
“Every one of us has the tendency to run. We have run all of our lives, and we continue to run into the future where we think that some happiness may be waiting.”
~ Thich Nhat Hanh

Thread Thread
 
ashleemboyer profile image
Ashlee (she/her)

Awesome! I'm following you now so I can be sure to see it. Now I really need to find the post I've read about perfectionism/procrastination. It's a fascinating concept.

Thread Thread
 
cubiclebuddha profile image
Cubicle Buddha

Yes, I’d love to read that article if you can find it. I have a couple of references in my article because I always like having citations. But yea, perfectionism is probably pretty common in our industry since we’re asked to “make it always work.” That’s why I’m so fascinated by trying to fail as a way of learning. :) “Failing fast” is basically the core of mindfulness and engineering (as far as I can tell). I see you’re a lover of learning too! So I’m excited to follow back and to read your future writings. :)

Thread Thread
 
ashleemboyer profile image
Ashlee (she/her)

I want to read more about this "failing fast" thing! My life changed when my therapist told me about mindfulness about 3 years ago, so I'm especially interested now.

Here's a link. It's not exactly what I saw before, but I think it does a pretty good job of explaining the concepts. What I saw before must have been a tumblr screenshot or somthing.

Collapse
 
latheresienne profile image
Latheresienne • Edited

I don't have the link. The book's title is Pomodoro Techniques Illustrated

Collapse
 
gregorgonzalez profile image
Gregor Gonzalez

I thought I was the only one.

Sometimes I spent weeks analyzing "the best way" to do something and ended up doing nothing in time.

But yes, I learned a lot, I took great care of the code and avoided many errors and future mistakes.

Collapse
 
ashleemboyer profile image
Ashlee (she/her)

You're definitely not the only one! I think it's an industry-wide thing. Many people are afraid to make mistakes for fear of looking unintelligent. Learning is what's important.

Collapse
 
flrnd profile image
Florian Rand

I tell myself: work a lot now to save time later. This expression means: dedicate enough time to study and understand the problem/task you are facing now to avoid going blindly.

Most of the time, we waste time because we don't spend enough time thinking and we jump in with the first shitty idea that cross our minds 😁🖖.

I like to pay attention to little details. Perfeccionist? Sure! But I agree! We need balance and know when some work it's good to go.

Great post! Cheers.

Collapse
 
ashleemboyer profile image
Ashlee (she/her)

"Work a lot now to save time later." What a great thing to keep in mind. Nobody wants to do work over and over again. Let's get it right the first time!

I can't tell you how many times I've jumped too quickly on new project ideas. I probably have 3 dead Github repos right now. 😅

Collapse
 
timothymcgrath profile image
Timothy McGrath

Great post!
I used to have a ton of trouble knowing when I was done with a project. I could work on something forever, improving it and tweaking it. I've learned to define what Done looks like when I start, so I know when to stop.
Nothing is ever perfect, you have to learn to what Good Enough is.

Collapse
 
ashleemboyer profile image
Ashlee (she/her)

Totally agree. That's something I struggle with sometimes, probably because I'm still fairly new to web dev. I know that with practice and experience, it'll become easier to invision the final product of ideas and their feasibility.

Collapse
 
anduser96 profile image
Andrei Gatej

In my opinion, perfectionism sometimes stems from your ambition as a dev to know exactly how something works.

For example, these days I’ve had a task to build a website for a small company and I was the only one on the team who wanted to avoid using Bootstrap & jQuery.
We did it my way, because I was the most experienced among the team members. This entailed the fact that I spent a lot of time converting their work(which was built with bs &jq) into vanilla css & js.

But, at the end of the project, I can say that I’m glad things went this way. The code is clean and readable. I wanted to improve my css skills and I did it.
Despite this, I’ll never do this to my team again. I should’ve respected their decision, but I want to improve myself at the same time.

I’m sorry if I digressed a little bit. This was an important lesson to me.

Thanks for the post!

Collapse
 
ashleemboyer profile image
Ashlee (she/her)

I agree with you, and this sounds like it was a great learning experience for you in multiple ways! You got to polish your skills and a few takeways from the team experience.

Collapse
 
peterwitham profile image
Peter Witham

I agree with everything you said, we all have this idea of how 'this time it will be perfect and clean' and then the bugs and the patching start.

One thing I try to do is keep comments in the code in areas that I suspect someone will have to return to one day and to keep commit messages as useful as possible when patching.

I guess that saying is true, the perfect code and the perfect app is one you don't write a line of code for.

Collapse
 
ashleemboyer profile image
Ashlee (she/her)

Yes! Let's get more people to write meaningful commit messages. Re: code comments, those dudes should be using sparingly in my opinion. Sometimes code is pretty crazy, so I get using comments in instances like that.

Collapse
 
erikaheidi profile image
Erika Heidi

Those are great points, I totally agree. Just today I was thinking about how much we overthink and overengineer things that could be done in a simpler way, and made better afterwards. I think it comes from our fear of "being wrong", and fear from being corrected by others. And getting bad feedback or empty / toxic criticism definitely intensifies the problem.

Collapse
 
ashleemboyer profile image
Ashlee (she/her)

Yes! I think we're slowly changing the culture of the industry (at least I'm hoping so) and making it less competitive. Too often, people want to beat each other down so they can "win". Let's promote an environment of meaningful feedback!

Collapse
 
darryl profile image
Darryl Young

Thanks for sharing, Ashlee.

Collapse
 
ben profile image
Ben Halpern

Absolutely!

Collapse
 
qcgm1978 profile image
Youth

The simpler, the better.

Collapse
 
ashleemboyer profile image
Ashlee (she/her)

Agree. :) Add flair when and if there's time!