Coding/development/software engineering is a team sport. You start with an idea.
The idea needs to be fleshed out into requirements in order to make a product. For such a project, the input is different pieces of work each with their set of requirements and the output is a product.
One modern way to manage such a complex project is with scrum. Scrum is an agile process framework. It is a way to go from point A (requirements) to point B (product).
Succeed by understanding the basics
A sprint is a short time period where a team works to deliver a set amount of work by the end of it. I personally have only known two-week sprints as a Software Engineer.
So the name of the game is predictability. Deliver the amount of work you say you are going to deliver in a sprint. It’s a team sport. A team wins when they can deliver on what they say.
Daily stand-up: 15-minutes for the team to each go over: (1) what did you do yesterday? (2) what are you going to do today? (3) what is blocking you? Make sure the team has a plan for the next 24 hours./Adapt as necessary.
Retrospective: This is a time for the team to make observations on how to improve on the process. Remember scrum is an empirical process.
Sprint planning: Take items from the product backlog and create a plan to deliver it. Use past sprints to gauge how much can be done. Also account for capacity (how much work can people do).
So, a new developer gets better at estimating backlog items as time goes on. A relative scale gets built as the new developer encounters more work.