On my last work, we had an average experience in company of more than 6 or 7 years, with the core 3 people having been there over 10 years. We always tried to hire right from school but then did not expect them to really pull their weight until after 3-6 months of on site experience and the main mantra was "ask questions" and "question our code". If I cannot explain and defend my code to a junior right out of school, I either need a very good excuse, like it being heavily performance optimized and there fore not "good readable code" because performance was more important, or I need to rethink that code or my explanations. Maybe there is a new feature in the language or framework I just had not picked up on that they learned in school, or some new algorithm or similar. But the main goal of it is to teach them both our platform and to teach them to always ask questions, never assume you have the best idea or know the best answer, always assume that someone else have a better one and only settle for out own if it convinces the other. (Sure for small common things this is overkill, but for bigger features or more complex things I still hold this as a good way). And do not exclude the new ones from the hard discussions, they might not be able to provide to much, but they will learn and by inviting them and asking them questions on opinion you help them overcome the "imposter syndrom" and grow. The end result was a very high paced development over 17 years.
On my last work, we had an average experience in company of more than 6 or 7 years, with the core 3 people having been there over 10 years. We always tried to hire right from school but then did not expect them to really pull their weight until after 3-6 months of on site experience and the main mantra was "ask questions" and "question our code". If I cannot explain and defend my code to a junior right out of school, I either need a very good excuse, like it being heavily performance optimized and there fore not "good readable code" because performance was more important, or I need to rethink that code or my explanations.
Maybe there is a new feature in the language or framework I just had not picked up on that they learned in school, or some new algorithm or similar.
But the main goal of it is to teach them both our platform and to teach them to always ask questions, never assume you have the best idea or know the best answer, always assume that someone else have a better one and only settle for out own if it convinces the other. (Sure for small common things this is overkill, but for bigger features or more complex things I still hold this as a good way).
And do not exclude the new ones from the hard discussions, they might not be able to provide to much, but they will learn and by inviting them and asking them questions on opinion you help them overcome the "imposter syndrom" and grow.
The end result was a very high paced development over 17 years.
Are all 100 of us here then? I have that game engine you all wanted