When I was a jr developer I worked on small tasks. Fix some random bug here, update documentation etc. but it gave me insight to how the company did stuff and also let me prove that I can make contributions without breaking stuff. Later people started asking my opinion on stuff because I had been working so closely with the code base. Eventually I was promoted to sr and I began directing the workflow of jr devs, deciding on projects etc. And now as an architect I work directly with business stakeholders to identify issues and design solutions. I work with the sr developers and they do the bulk of the more advanced work, where the jrs work on smaller pieces that I used to do. We have a pretty good system and there are clear differences in our roles and skill sets.