A few time ago, developers were divided into many, as some people used to say, 'categories' We had 'stronger', marvelous, intelligent Developers, whose job was to build so complicated programs that was targeted to run at equal complicated computers ! Oh my, those people would to take lot of money of course ! And we had the worse ones, the poor, developers that work at 'low-plataform', as some people used to say, and of course as they are less capable, less intelligent, they earn less money of course ! I'm kidding of course, but, we can find some truth above, if we 'comparate' corporate developers against small company developers. Focusing 'J2EE' 'plataform', all developers are equal, no way else. You can be developing at 'intel' and deploy at S390... If you are a good 'J2EE' architect, then no matter about machines and environments, no more differences ! Your solution will be scalable and robust, and you can earn as much as anyone... ''I think I see where you are going, but this seems like a rant and I can't find your thesis. Are you advocating programmer 'guilds', saying most developers are the same (even though salary varies widely), or advocating J2EE?'' Is all about developers, nothing else about bits and bytes... Is all about peoples, about life, ours life. No more developers A X developers B... ''Ah. . . You are saying that developers lead similar lives and have similar problems, and perhaps we should recognize that?'' Developers are equal, even if theirs environments are different, even if a developer work for a ONG or for a Multinational... They need the same skills, to produce goodCode. But this is true, only if the environment were a secondary issue.