What's your opinion on this? How much code reuse is actually possible in a full-stack JavaScript web app?
Big plus for the convenience of working in the same language for the whole stack but it is not really a big saver in terms of code reuse. In fact I had never felt the necessity to do so. There are fundamental differences between the usage patterns between the front end and back end and they rarely overlaps if at all. So unless you are using frameworks like Meteor it should not be a factor in your decision to use Node.
Skills Matching is important! having only language can help reduce the fragmentation of job requirements, which in my opinion and experience is bad for finding proper jobs e.g. I know "x" you require me to use "y" (this kind of Mismatch of skills, so one language more chances of skills matching)
Marcus Pohorely
CTO/CEO @Pagelanes.com
There might be some advantages when you are in a team where everybody is focused on JS. The Isomorphic way of doing stuff today isn't the best option if you ask me. I prefer to develop applications where the frontend is only the client and it talks to some Api. Once you start doing this there is no reason to use node.js over and over again. The Microservice Architecture of modern Webapps allows you to develop each service in the language you like to, together with Docker this is unbreakable. Every language has advantages on different scenarios, so beeing able to build any service of you App in any language you like is a major advantage. And i you grow, it's even easier, you do not NEED to search for a node.js dev, you need a dev who can build a service in whatever language he likes, as long as it runs fine it's ok.
So i don't think you have any advantages in building everything in the sam language, it's even better to split everything up. But if you are restricted and everything is running on ONE Server with a Monolith Architecture, then i'd also think about using one language.. ;)