rolf wroteI think it's just a chain of command. Mostly anyone on top (project manager, etc...) can do anything anyone under him can do, but the opposite is much less true, for example you won't see a junior developer setting out the plan and putting deadlines, etc.. although in theory it could happen.
The lower you are in the chain, the less freedom you have. And also your decision power, your say, your responsibilities, and the amount of trust put in you will be less - although you can and will be asked to put in extra hours to meet a customer deadline - that is no problem for them :) . Also your work will be more repetitive, controlled, supervised (in other words less creativity).
Well said rolf. But I'm more concerned about who decides on the technology? Who decides on the architecture of the whole project (definitely not the junior developer), is that the team leader's job or the project manager? Does the project manager actually code or just takes care of logistics and management stuff?
Moreover, and what's most important to me, I currently have a nice framework which I'm very comfortable working with. Although it could be further enhanced and optimized, I believe it follows valid design and I'm kinda used to it. So, when I get employed, do I get to use this code on the projects I get assigned or would there be some in-house framework/workflow I need to abide with?