i came out of school with a CS degree and went to a software engineering gig. it was totally different than what i had learned in school. i quickly learned that school had taught me the concepts of how to program and code, and got my mind thinking a certain way. and it meant that what i actually DID in school was going to be much different than what i did in the real world. it prepared me but it didn't really translate over 1 to 1 at all (other than the "knowing how to program" part).
my first job out of college was at the same place for 5 years, and i always felt like a junior developer. i never felt really challenged because i was pigeon holed i definitely made some mistakes and didn't fix bugs as i thought i did, or had bugs in there that i didn't realize, which turned out to be major issues. i learned from all of that.
after what took me 4 or so years, i started to not feel like a junior developer. but i also started to not feel challenged, and started to not like how micro-managing the company was, because they still treated me like a junior programmer. my salary was also like a junior programmer.
so that is why i landed a new job, doing totally different technology (went from C++ to JAVA). i'm still at the position right now, and came here in January of 2010. i feel i've learned more at this job in the short time here than i did in over 5 years at my first job. definitely feel i've advanced my career and have the urge to learn and do good development.
and since i've disliked the way the project has gone here, i've found another job and will be leaving here in 3 weeks. and it wil be doing newer technology as well and not the same old JAVA desktop application i've been working on for the past years here. it will be doing cutting edge technology that will bring my skills along even further and help me develop my career path. not to mention, i've literally doubled my salary once i start at htis new job from when i left my old job in january 2010.
so i guess my point is, when you first start your career there is a lot of learning and "growing" that you have to do. it took me a good 4 years or so to feel not a "junior" level at my career, which forced me to make a move as well. and now i feel i'm more of a senior level at my current position, and i plan on taking that even further at my new position.