DEV Community

How can you identify unhealthy perfectionism in your work?

Ben Halpern on September 04, 2019

Collapse
 
nickytonline profile image
Nick Taylor

Not shipping anything. 😉

Collapse
 
mohamedelidrissi_98 profile image
Mohamed ELIDRISSI

I'm in this comment and I don't like it

Collapse
 
johanneslichtenberger profile image
Johannes Lichtenberger

Yeah ;-)

Collapse
 
phillie profile image
Philly

Simple but true! 😅 #guiltyAsCharged

Collapse
 
ganonbit profile image
Andrew Reese

big oof

Collapse
 
yashints profile image
Yaser Adel Mehraban

It's hard to have self awareness of this, but if you found yourself trying to cover every scenario around the task in hand and make sure you've covered it, it's a sign that you might have fallen in that trap.

I always tell people:

Start small, then iterate and don't overthink your solution

Collapse
 
nektro profile image
Meghan (she/her)

Still plan, but not so far you go out of scope.

Collapse
 
cjbrooks12 profile image
Casey Brooks

Too strong of a focus on refactoring/rewriting code, rather than shipping features. It's important to pay down technical debt, but you still have to move the ball forward and improve the product for the end-users too.

Collapse
 
dansilcox profile image
Dan Silcox

When people spend longer telling you why something won't work, than making it actually just work would have taken!

Collapse
 
georgecoldham profile image
George

The fact my personal site has taken 6 complete reworks, almost 4 years and still has never actually had more than a coming soon message.

Its just never perfect...

For my actual work, I play the game of bouncing it off testers when I feel its about there. This goes on till they accept it. It stops me over thinking and over working on things.

Collapse
 
cecilelebleu profile image
Cécile Lebleu

About a year ago I started my first version of my website. I used Wordpress so it was up and running in no time, and most of the content was ready. Then a few weeks ago, with new knowledge and tools, I started to remake it from scratch. I had to “start over” from zero 3 times, but now it’s a lot better than it was before and it’s pretty much ready. Not that I won’t keep working on it indefinitely, though.
I like to think, “is this code I have right here better that what’s online? Yes—ship it.” And in my opinion, almost anything is better than a coming soon page! 😉
Good luck on your projects! In case you want to take a look, my site is at cecilelebleu.com. Although it’s not perfect, it’s better than it was yesterday!

Collapse
 
mohamedelidrissi_98 profile image
Mohamed ELIDRISSI

It's not bad actually, I like it

Collapse
 
justinkaffenberger profile image
JustinKaffenberger

Be careful to not let the opposite mentality take over,

"I just need to focus on not being a perfectionist, and ship it"

With this mentality you will create a codebase that is not flexible, difficult to maintain, and doesn't stand the test of time.

Collapse
 
nestedsoftware profile image
Nested Software • Edited

I probably have some ocd tendencies, so this one hits home for me :) In general I try to treat the code in the same way that I treat my home: Reasonably neat and tidy. At home, I make sure to never leave small chores for later. So, right after I've used some dishes, I rinse them and put them in the dishwasher. I try to apply the same idea to code: If I can see that some code I've written is messy, I will try to clean it up now rather than leaving it for later. There are always more things to do later, and letting them pile up creates a depressing and de-motivating situation. On the other hand, the perfect is the enemy of the good. It's better to have something that works. As long as it's at least in a reasonable state, it doesn't need to be absolutely perfect. Just as at home, the things in the code that I focus on the most are the things I use often.

Collapse
 
elmuerte profile image
Michiel Hendriks

Depth-first versus Breadth-first development.
With depth first you would make things feature complete before moving on the next part, instead of first getting to a minimal product. Depth first has little YAGNI and a lot of bike shedding.

Collapse
 
sinewalker profile image
Mike Lockhart

The GitLense heat map shows more edits in comments than in code?

But more seriously, if you have a lot of small commits, could indicate obsessive compulsive edits. I'm guilty of that

Collapse
 
cecilelebleu profile image
Cécile Lebleu

Haha I’m also guilty of that. My solution is making a bunch of small changes and commit all of those as “minor improvements”. This solution is probably worse than the problem itself, though.

Collapse
 
yaser profile image
Yaser Al-Najjar

It starts to take (time & effort) way more than expected.

Collapse
 
buphmin profile image
buphmin

I'm not sure that works in all scenarios. I find frequently with legacy code even hacky changes can take a lot longer than expected.

Collapse
 
yaser profile image
Yaser Al-Najjar

If it's not worth the extra time and effort, then it lies within the perfection boundaries.

Thread Thread
 
buphmin profile image
buphmin

Ah there we go. It takes more time/effort than expected AND it is not worth it :)

Collapse
 
hminaya profile image
Hector Minaya

Someone constantly fixed on a scarcity mindset. Always looking for what's missing.

Collapse
 
jacobeubanks profile image
Jacob Eubanks

Setting clear specifications and goals will help prevent unhealthy perfectionism and also helps define what that is. This is a skill set I see in a lot of good project managers. When I'm working in instances where there is no project manager, I do my best to develop these skills myself. Easier said than done!

Collapse
 
johanneslichtenberger profile image
Johannes Lichtenberger

I think too many premature performance optimizations, which might not even be optizimations, due to maybe not even Profiling...

Collapse
 
cubiclebuddha profile image
Cubicle Buddha

When someone submits a PR that only includes refactoring (which of course is good), but the area that they're refactoring is part of the app that no one uses and that will probably be retired.

Collapse
 
nektro profile image
Meghan (she/her)

I still don't have real testing in my personal projects

Collapse
 
gayanhewa profile image
Gayan Hewa

When customer value addition gets overthrown buy a missing comma or wrong variable name.

Collapse
 
leewarrickjr profile image
Lee Warrick

I would say maintaining a high-level of polish on your work is important, but not at the cost of not shipping.

Nobody wants to use a janky/buggy product, but still make sure you have a product.