I would like to take the course of maximum learning, so is doing a typical junior developer job an important stepping stone on the way to being a great developer?
Thank you
Because in my experience seniors/juniors have not that much to do with the type of tasks you do, but more with the responsibilities. I would advise against taking a job that would put you into a QA position because you are a junior. The only way you become better is by actual development, code reviewing working together with other people, writing tests for your code. Reading books like refactoring, clean code/solid, code complete and working effectively with legacy code. While you make mistakes, and learn from it.
In my mind 'junior developer' is not somebody who does QA only, but is connected to the responsibility. You could be as well working on developing features as a junior developer, in fact I would expect it. It is only that you will get guidance and mentoring from senior developers.
From what you described about your background, I would expect you to start as a junior developer - as for anybody who does not have work experience yet.
So my advice would be to make sure the company has a good mentoring system in place and enough senior developers to support that. Even if you got a job in e.g. some startup and you get a mid/senior title because they don't know better, that will very soon backfire on both of you. They will expect results you won't be able to deliver and noone will understand why.
Of course if you could give us more details - on what is a "typical" junior dev job for you, what are your mates doing etc., we could provide a more directed answer.
Good luck!