I don't know what your role is, but in the web app frontend world at least, it's super helpful to work closely with the UX and support people, and where possible, with customers directly. You get to see how they use your app in the real world, what their pain points are, what features they're likely to need for any given use case, etc.<p>Over time you learn to anticipate patterns that will result in poor UX, you can identify them during design (hopefully) or coding (if need be) rather than after a customer complaint. You propose common-sense solutions to everyday problems because you've seen them before. You can fix them in various ways, both in design (learning from the UX people) and in code (seeing how it's done in other codebases, maybe UI libs and such).<p>If you're further removed from the end-user (backend, devops, etc.), it's harder to get an idea of what the public wants, but you still have internal "customers" – other devs. Is there some API endpoint that always takes a few seconds longer than it seems like it should? Or something that crashes once a week but just gets lazily reset? Those are opportunities for optimizations and debugging.<p>Bigger than that, is there something convoluted about your build pipeline or CI/CD? Your containers are always hell to maintain? The docs suck? Nothing scales? You're stuck on some old version of a proprietary database?<p>At the end of the day, all software is imperfect (and a lot it is way worse than that, especially on the web) and there are always opportunities for improvement.<p>But maybe the bigger question than the "what" is the "why". If you feel like you're just a cog in the wheel, completing tasks and slowly burning away points, it's just drudgery day in and day out. You have to find something you actually <i>care</i> about in your day-to-day work, or else no amount of ideation and problem-solving is going to feel good. It'll still just be drudgery.<p>Either you learn to love some aspect of the work by itself (maybe you become an expert in some particular part of the stack, and people in and out of work really start to respect your solutions and opinions), or in the particular field you work in (why are people drawn to your field? what were their dreams when they joined?), or the team you're on (what do your teammates love to work on, what do they hate, how can you help fill the gaps), etc.<p>Curiosity is something that can be encouraged, but not forced. You have to just keep trying enough different things until you stumble upon a "huh, that's interesting..." moment that really piques your interest. If you force yourself to sit down and look for boring things to improve, that's only going to burn you out. Maybe think about your own hobbies and dreams and ask "what would be REALLY cool to work on?". Maybe you can't jump right into that specific thing right away, but what moves can you make to bring you <i>closer</i> to it over time? If you can move in that direction, your work can get more and more interesting, and maybe one day you'll be in a situation where you'll think, "I can't believe I get paid for this".<p>If you're still early in your career, it may also just be a matter of accruing enough experience, both technical and interpersonal. Over time you learn to anticipate both common technical pitfalls (devs like to reinvent the wheel over and over to solve the same problems) and common user needs (for both external and internal stakeholders) and can better contribute to ideation and design because it's probably similar to something you've seen before.<p>Hang in there. You'll find something :)