It would be good if people started adding team size, project size, codebase size, complexity of assigned work, etc to their answers to provide a bit more context.
I'm currently working in a team of roughly 60 developers on a 2-3 million loc system.
First contribution is usually within 2 weeks. We tend to start new developers on straightforward feature work.
We used to start new developers on bugs but found there was far too much tribal knowledge required. We couldn't use bugs to gauge if there was a skills gap.
For senior developers it usually takes around 12 months for them to be performing at a senior level.
Generally within the first two weeks. The variance here is usually based on familiarity and affinity for our technology stack, as well as experience level. I also try to make sure all new engineers have a team mentor available to ask questions and help them along with their tasks, code review, and first deployments. I make it clear to the mentor about my expectations around their time investment in making their new teammate successful.
More than two weeks suggests the dev environment is suboptimal and requires too much tribal knowledge to get things done. It also suggests the new developer isn't being setup for success by their mentor or the tasks aren't well thought out.
More than four weeks, and you have to look at the new developer and see if they are the right fit. Getting signals from their mentor is really important in gauging this.
I usually work where pairing is the norm, and people start pairing and writing code from day 1.
Of course, there is more learning than contributing on day 1, but even though you don't know anything specific about the system then, you can help with writing or changing when your pair has explained/figured out what it should do.
We are soooo small, usually the first week, but we also never hire juniors and our stack is pretty common and therefore new developers don't have much to learn besides the usual technical debt.
I'm currently working in a team of roughly 60 developers on a 2-3 million loc system.
First contribution is usually within 2 weeks. We tend to start new developers on straightforward feature work.
We used to start new developers on bugs but found there was far too much tribal knowledge required. We couldn't use bugs to gauge if there was a skills gap.
For senior developers it usually takes around 12 months for them to be performing at a senior level.
More than two weeks suggests the dev environment is suboptimal and requires too much tribal knowledge to get things done. It also suggests the new developer isn't being setup for success by their mentor or the tasks aren't well thought out.
More than four weeks, and you have to look at the new developer and see if they are the right fit. Getting signals from their mentor is really important in gauging this.
Minor bug fixes and tweaks, inside the first week.
Substantial features are usually deployed within the first month. This is limited by our development process.
Of course, there is more learning than contributing on day 1, but even though you don't know anything specific about the system then, you can help with writing or changing when your pair has explained/figured out what it should do.