As a software engineer, I noticed how I program differently compared to me at the beginning of my career; it feels like I have less creativity and less fun doing it. I remember times when I was obsessed with what I do. I still do enjoy it, but not as much as I did before.
What happened? I was a programming enthusiast back then, and now I'm a professional software engineer. These two roles approach the same problems differently, especially the complex ones.
Whenever I start developing something today, it's a big deal; I don't play a game but build a reliable system. Do you see the difference? It's crazy how much I complicate the process and take all the fun out of it. And then all these questions pop into my mind:
- What if a user will submit incorrect data?
- What if there is no internet connection?
- Or what if an l33t haxx0r will hack the system?
The more experienced you get, the more requirements of the system you consider, the more "best practices" you know and apply. And consequently, the less time you have to think about the most critical part—the end-user experience. You fall down the rabbit hole, and things become too complicated. It doesn't sound like a recipe for success.
The more experienced you get, the more you're concerned about "how," and it blocks you from being creative about "what." It's super challenging to do both simultaneously.
If you want to avoid falling down the rabbit hole, act as a pioneer.
Pretend like you know nothing about how to do it, but know what to do. Explore, play, and have fun.