I would suggest to try to finish tasks with the bare minimum. Not half-assed but without bells and whistles. Important bells and whistles will come back anyway as their own tasks. Drive by sight and don't prepare too much for the final destination. The latter will change anyway and you will waste your time worrying about ifs.
It's been working, in that the 'leave room for others to step in' has worked well, and those others have filled the gaps with new and interesting ideas that I likely would not have done even had I whole-assed it. At the same time, those people weren't equipped to whole-ass something from nothing.
Say you implemented a new function and missed some clear edge cases in the new tests. Or perhaps there's no tests written at all, because it was half-assed.
You will have to speak up in a peer review. I'd speak up just to have it written down. Perhaps you just forgot to `git add` that part, I don't know. It'd be professional negligence not to at least bring it up! If your reply is then, 'I'm aware, and didn't do this for reason X', that's perfectly fine, if reason X is at least slightly better than couldn't be arsed.
I have to admit that failing to produce a required result in time using the right abstractions and without “overthinking” is actually just that: failing. That’s why I mentioned all parameters, including time, social reality, etc. Using too much time is failing.
Producing results is a skill. Like mastering programming languages and system internals is a skill. We should approach it with honesty and reflection: we suck at that for now and it’s OK. We can improve.
Personally I found whitewashing failure with “I think too deeply”-type of arguments tends to maintain status quo instead of improvement. Because we deeply belief that it’s not actually failure, but it is.
I actually agree with “just finish”. It’s a good first step. Don’t furnish, but also don’t half ass.
I'm still processing what I've learned from that experience but perhaps one of the important things I've learned is that even when I think things through I make similar mistakes to the ones I do when I'm stressed out. And I think that has made me more efficient because I can kind of shrug a bit at things I know are hard to get right on the first try.
No, make it good/working to the best of your abilities. Never aim for perfection, if you actually want to get out of bed and do things.
Your abilities will grow, and your techniques will develop.
If you want to know what "Perfect is the enemy of Good" really means... double down on perfectionism, and see you do nothing, or see your hires leave you.
I guess for some people fear works, but I'm more of a "carrot chaser" than a "stick dodger". Failing would mean that I'm both dejected for not getting what I want and frustrated because there's a non zero possibility my "best" is just mediocre for everyone else.
I'm also still over deadline and scared of being fired.
It’s not fear, it’s being real: can you do this, with the parameters given or not? If not, great, no problem, but don’t tell yourself you are a “perfectionist”. You might be, but who can tell if you never produce? You just can’t do it right now and that’s perfectly alright. Being honest matters IME.
You hit the nail on its head there: there exists the possibility that “your best” is actually mediocre. You better acknowledge that sooner rather than later if you wish to live in reality which I deeply suggest you want to at least attempt.
If you know wicked smart people like, say, T. Tao you will quickly develop the ability to accept you might just be mediocre and that’s OK.
Myself, I am completely mediocre and have a hard time hitting simple goals. There.
Are you mediocre in coding compared to 100% of the population in the World? Surely not, since most people do not know how to code. Are you mediocre compared to top 0.001% coders in the World. Unless you are not in the top there, and you are comparing yourself to them, then you are worse than mediocre.
Because you would only be mediocre compared to them if you are around the top 0.0005%.
Reminds me of Ira Glass:
“All of us who do creative work, we get into it because we have good taste. But there is this gap. For the first couple years you make stuff, it’s just not that good. It’s trying to be good, it has potential, but it’s not. But your taste, the thing that got you into the game, is still killer. And your taste is why your work disappoints you.”
Mediocrity is most definitely not subjective. It is context-dependent, sure, but subjectivity is something else entirely.
I did not bring it in, the parent did and with good reason. It’s one of the causes of procrastination and fear.