First you need to understand what is actually happening here and who is responsible.
Deadlines are creative fiction. It's nice to hit them, but they are almost always management tools to extract work from engineers. Only sometimes are they intimately connected to actual business needs. Don't get me wrong, they can be a helpful tool, but equally they can be harmful.
Scoping and requirement changes are program management issues. It's useful to push back on obviously bad requirements and scoping. But this requires understanding of the business space and what likely is good and what isn't for the end user. Sometimes you can save program management blunders with the right questions and friction to the desired feature set. But this is more the in the realm of experienced devs correcting management issues (an invaluable skill). Customers certainly can change their minds, and it's often appropriate when figuring what the real needs are. But it does cost additional schedule and money to pivot. Sometimes significant amounts of both when fundamental assumptions are changed. This should be understood by management or they are not doing their jobs.
You experienced some common management issues. Your boss was expressing his frustration to you and that may or may not reflect on you down the line. A lot of people don't own up to or recognize failings.
Engineering issues also can happen, but that typically involves failure to build the thing to spec. Also can involve over engineering or under engineering given the communicated business needs. This happens plenty too.
Unless you're just lazy and not working, that's when delivery time is your fault.
Good management of engineering projects is pretty rare. In twenty years I have only experienced it a couple of times.
As for what you can do, ask your direct manager questions like "I really liked working on this project, how can I be successful here?". This helps align your interests with his and communicate your willingness to pitch in/contribute.
Deadlines are creative fiction. It's nice to hit them, but they are almost always management tools to extract work from engineers. Only sometimes are they intimately connected to actual business needs. Don't get me wrong, they can be a helpful tool, but equally they can be harmful.
Scoping and requirement changes are program management issues. It's useful to push back on obviously bad requirements and scoping. But this requires understanding of the business space and what likely is good and what isn't for the end user. Sometimes you can save program management blunders with the right questions and friction to the desired feature set. But this is more the in the realm of experienced devs correcting management issues (an invaluable skill). Customers certainly can change their minds, and it's often appropriate when figuring what the real needs are. But it does cost additional schedule and money to pivot. Sometimes significant amounts of both when fundamental assumptions are changed. This should be understood by management or they are not doing their jobs.
You experienced some common management issues. Your boss was expressing his frustration to you and that may or may not reflect on you down the line. A lot of people don't own up to or recognize failings.
Engineering issues also can happen, but that typically involves failure to build the thing to spec. Also can involve over engineering or under engineering given the communicated business needs. This happens plenty too.
Unless you're just lazy and not working, that's when delivery time is your fault.
Good management of engineering projects is pretty rare. In twenty years I have only experienced it a couple of times.
As for what you can do, ask your direct manager questions like "I really liked working on this project, how can I be successful here?". This helps align your interests with his and communicate your willingness to pitch in/contribute.