Posts About

Sometimes it's not worth fighting

When I was a younger developer, I had an expectation of myself to know how everything worked. I thought a good developer (and game developer, at the time) could understand absolutely anything and everything in the field. At first this was an extension of how much I enjoyed to learn things about game dev, but it eventually became exhausting. The expectations I had for myself were a manifestation of the insecurity that I wasn't good enough to be a game developer. It was my manifestation of the well-known impostor syndrome.

My impostor syndrome is still present, though its manifestation has shifted. Now I find I expect myself to come up with clever solutions, architectures, and abstractions, and to go above and beyond the requirements, because "that's what a good developer would do". Typically this would include fighting with a library to try and make it do something the author never really intended it would do.

None of this is true. A good developer gets stuff done and embraces change by developing for specific use cases and writing code that's easy to replace. Trying out new things and learning are important, but doing it because you feel internally or externally obligated to will only lead to burnout. It's also possible whatever you're trying to do will only apply to a narrow scope of work you may never come across again. You would be stressing over largely nothing.

My advice is this: weigh the reasoning and benefits of trying to accomplish what you're feeling compelled to. If you genuinely feel desire to do something, then do it. To a lesser extent, if you feel like you will improve as a developer by pushing through, then by all means try. But this is a more precarious motivation — think about what you will learn and still remember a day, a week, a month, and a year from the moment you complete what you're trying to do. It may not turn out to be worth the struggle, and that's okay!