I would say the answer depends on Where in Europe your friends are seeking employment. The job market - and the job requirements - are significantly different between Rural Romania, Berlin or an oil field in Norway. They are 30+. General advice there is to stay away from competing with the 20+ crowd. Compete where age is on your side, which means go into business where you have 10 years experience over the young ones…
Genuine question. > General advice there is to stay away from competing with the 20+ crowd. What do you see as the relative strengths of the 20-30 developer vs. the 30+ or 40+ developer?
Generally here, the development skills vary more between individuhals than between age groups. Straight out of university, young developers tends to have done smaller projects (1-4 team members, 100 man hours each) and have excellent technical knowledge about latest toolkits. They will be able to solve very difficult technical issues and have an agile mind. They do not have experience from issues arising in larger projects (10-100 developers) due to legacy code, support agreements, management issues, project methodology, and they haven't even tought of corporate culture and office politics yet (sometimes for the better). The love for "my new stuff is better than the old code" can lead to design decisions which causes untested technologies to be used in the wrong places. Young developers often have no kids and sometimes no spouse, which makes them work long hours,and be very flexible in crunch times.
Older developers tends to have spouses and kids and responsibilities. This sometimes is a problem, but it can also force them to release the code as soon as possible, instead of doing a third or fifth round of optimisations and improvements. Older developers have seen the office politics and shenanigans several times and try to avoid them or even handle them. The older developer may sometimes be lazy and stick with older tools instead of new technologies, which can make products look and feel like they were designed last decade. But in large corporations, it's better with a released working code that looks old but is stable, than code which isn't stable.
Money-wise it's a toss-up. The extra experience from older programmers comes at a premium cost, which most of the time makes me assign junior programmers for the bulk of the work and senior ones for architecture etc.