Comment by hamasho

1 day ago

I fear sharing code for a different reason. I'm a perfectionist with tendency toward procrastination and anxiety, and sometimes I overestimate my abilities. So when I submit a PR, I want to make sure the code is clean, well organized, and covers all corner cases and hidden feature details. This works well most of the time. I put effort to think about design, structure, and implementation more than coworkers. And after a decade of experience I can code quickly for tedious tasks.

But sometimes, when implementing non-trivial features, I struggle to come up with good implementation. This prevents submitting working code early. And when I feel I'm delayed, my anxiety kicks in, and I have this urge to implement cleaner code and more features than expected even though all of my coworkers just want working code. And I feel more pressure, more urge to implement well, more anxiety, but it makes me procrastinate (I'm working from home so I can just lie down on the bed when I'm depressed). Sometimes I manage to implement, sometimes I give up and the feature is not implemented or assigned to a coworker. But in few cases I end up with severe depression, stop functioning, and finally quit the job.

I can handle this better than before after making same mistakes again and again, but still happens sometimes.

> implementing non-trivial features, I struggle to come up with good implementation

In my experience, the best solution for this is to just schedule a 30min call with your team's most senior dev and hammer out a solution together. You probably won't even have to pair program, just some bullet points.

> "I put effort to think about design, structure, and implementation more than coworkers."

Everybody thinks the same.

  • Have you ever worked on a PHP codebase that’s 15 years old, has over a million LoC, provides business-critical functionality, has seen hundreds of developers come and go, and has absolutely nothing that could be interpreted as either being the result of design, or having actual software architecture, or even a consistent structure?