I am working as a software engineer for a very successful startup. The hiring bar is high, pay is good and I should be happy. Except that I'm not. I am extremely bored to the point that I struggle to get myself out of bed every single day.
All I do is translate requirements to code. The biggest challenge is to understand what's already there and try to not break things. All the design choices are already made, and I just follow existing patterns.
As soon as you become familiar with these patterns, there is no growth. If you want to grow, you need to spend your own time learning things outside of the company, be it courses or whatnot.
My question is:
Have you experienced this and if so, what did you do to combat this?
Is this generally a normal thing in the industry or only specific to fast-moving startups?
Maybe my expectations are just unreasonable, and if so, how do I know?
When you start out in your career, companies put tight bounds on what you can do. You get a narrow set of requirements with clear expectations for what you are to produce.
Over time, you prove that you're able to get things done on your own, exercising good judgment along the way. As you move up in seniority, the scope of your responsibilities expands. You're given bigger goals, broader targets, and more leeway for how to accomplish them.
This is a general rule, but there are exceptions, of course. Some companies end up so overstaffed that every step of the process is carefully divided up into different people's domains. Generally speaking, the more overstaffed the company, the less autonomy you're going to have and the narrower your scope. Highly funded startups are notorious for overhiring and therefore pigeon-holing a lot of people into gruntwork roles.