Working with a new team has shown me a lot of things that I was blind to, having come from IT and a senior-devs-only agency. I didn't know what it was like to work with people for whom it was their first software job. And I certainly didn't expect to work with folks for whom it was their first "real" or knowledge worker job. Man did I take a lot of stuff for granted.
Things like the vagaries of version control not being handled very well were understandable. What threw me for a loop was how much the team needed to be pulled by their nose to do their job. Not just direction, they knew what the job was and what the work looked like, but permission. They didn't realize they could self-organize. They didn't know they could start their own damn Google doc. They didn't know they could grab a team member and white-board a problem out. They didn't know they could pair for code reviews. They didn't know they could speak up in front of the client. They didn't know they could say whether or not something was blocked and by whom. They didn't know they could demand answers. They didn't know the boundaries and the edges.
What they ultimately came to learn was that not seeing those boundaries, and pushing through them was the thing they needed that would graduate them from the Junior label. They could fly this whole time; they just needed that feather.