For about a year I had a team of three people (including myself) working on one project who is made essentially of two components, written in two different programming languages. Both of the software engineers were knowledgeable about both codebases, but each one of them was also slightly more focused on one component than another.
Now I have two new engineers joining the team, but also two additional (green-field) projects. All engineers have technical skills that make them able to contribute to all projects, albeit some a bit more than others. Having all engineers being able to switch from one project to another has certainly some benefits, but I’m also worried of the context-switching and that there won’t be any feeling of ownership, and without that, a vision on how to evolve the projects in the future.
I’d like some advice on whether it is feasible (and recommended) to have 4 engineers contributing on several different projects at the same time, or if it’s better to distribute resources so that they can only work on one, or at best two, projects.