I know of several companies struggling to find the right approach to onboard new developers.<p>Should new developers learn the architecture and patterns used first? Should they start by doing some tests? Should they start by doing bug fixing? Or perhaps, start by developing a new feature?
I was onboarded in February for my first job. Here are my opinions.<p>It takes a long time to learn the architecture and patterns, but it's absolutely necessary. I suggest starting with an overview, then get them to add a new feature, whose complexity should depend on their skill. Then use code reviews to further educate. Then have them go from reading documentation to killing bugs to writing new features for a while until they have a good understanding of the entire app.<p>This may take several months. But everything you listed is important and will contribute to the new developer's knowledge. As long as they are guided well in what bugs and features to attack, it should be a great experience for them.