What do you want to do?
If you want to just pick up a paycheck and move on when you find something better, keep your mouth shut and focus on brushing up your resume.
If you want to see the project succeed, then you have to step up and make it succeed (which means taking responsibility for things outside your job description).
Sitting the fence in between will only cause heartache and pain.
Make a Decision
I feel that I ... could have saved the project from the mess it has become. Then again, I was a junior programmer ... so worrying about architecture was not part of my duties.
What you should do in this situation depends on which is more important: saving the project, or sticking to your job description.
Anyone can point out issues. Every workplace (no matter how big or world renowned) is filled with things that can be improved. Most companies would like one of two types of people:
- People who fix the problems
- People who work with/around the problems
The type of employee that causes the most grief and heartache tends to be the person who points out problems without fixing them, and then blames those problems for their inability to get the job done. Don't be that guy. Pick which type you want to be, and go with it.
Sticking to your job description
As you say, "I was a junior programmer ... so worrying about architecture was not part of my duties." So don't worry about architecture. If your boss tells you to build the empire state building upside down, find out the best way to build it upside down without having it fall over. Sure it will be a horrible building, but boy did you do your part in making it stand up!
The project will likely go over budget and end up late if that's what you're asked to do, but so long as you properly estimate the time it will take for each step of your work, you are not part of the problem. As pointed out in a comment, you may want to look into good ways to survive a failed project, or keep that resume up to date, but at least your boss will likely be willing to give you a good reference for not contributing to the eventual disaster.
Taking ownership of the project
As mentioned in the comments by thusdaysgeek, "[This option has] greater risks associated with the potential greater rewards. You can get shot down and told it's not your job; you can be encouraged in taking on the leadership, but not given necessary resources; the project may fail even with all your efforts, and you'll take more blame. That's not to say [it] isn't a way to go, but to be aware of potential pitfalls as well."
The other option is to say, "Screw my job description, we can make this project work, and I know how to do it". If you see a problem project complexity and the time estimates given to complete it, think up a way to reduce the complexity to something manageable within that time and deliver it. Getting 80% of what was wanted done on time will at least meet the deadline and give you something to show for your effort. And who knows, maybe you will get that 80% done early and can start working on that remaining 20%.
This means you take responsibility for rallying the troops, it means you pick up slack, it means you see problems with architecture or manpower and find a way to make it work by doing it yourself or finding a way to get more from the people you have.
But overall what it means is taking 100% responsibility for the success or failure of the project. It means reporting to your boss about the status of the project, and keeping his expectations in check. It means juggling the needs of your team with the needs of your boss, and finding a way to make them both happy. It means negotiating the political landscape of your company to make sure you end up with the resources to get it done. Because it's your responsibility. And that's what a project manager is supposed to do.
That's hard. A lot harder than just voicing problems and concerns. But it's also satisfying and the way you get put in charge of bigger tasks in the future, or at least learn how hard it is to actually implement everything the way you want it done. The choice is yours which path you want to take.