There is a huge difference in the kind of growth you will experience based on what kind of company you work for and where it is located. You could work in a startup, get stock options, deal with high tech environments and change people’s lives! But this route also involves a high-stress, never ending cycle of work.
You will get to experiment and ideate a lot at despite your lack of experience. You will be given a lot of leeway in terms of the kind of work you do and the hours you keep. You will at the same time be entrusted with huge responsibilities that could possibly determine the future of the company.
Typically software engineers in the startup culture learn a lot and move around quite a bit in various companies before they find their perfect fit. You could even start your own tech company!
The other option is that could start work with a large company as a junior software engineer. You would have a better work-life experience though the work might be a little more predictable. You could also have a possibility of travelling to different countries or even immigrating to one.
In such a company, you would typically start as a junior software engineer with minimal responsibilities in terms of planning and ideating. You would code a lot though. You will write algorithms and there will be a clear hierarchy of people working with you. These people like the senior software engineer or team leader will check your code and algorithm before it gets approved.
As you progress you can apply for senior roles internally as most companies prefer to promote internal talent. You could also move to work in another company at a senior manager or team leader role. At this stage you will be supervising a team of juniors and helping them ideate. You will also need to conduct meetings to give your team instructions on what needs to be done. You will go for client meets and approve the software developed by your team.