En Suisse, lorsque les entreprises recherchent un "ingénieur logiciel", il faut avoir au moins un diplôme de Bachelor en informatique (mieux encore, un Master), ce qui est généralement mentionné dans la description du poste. L'expérience ne suffit plus, en raison de la connaissance des processus d'ingénierie (RUP, XP, SCRUMM, ...), de l'ingénierie des exigences, des tests, de la planification des projets, etc.
Ils veulent des personnes capables de maîtriser l'ensemble du cycle de vie des logiciels, du début à la fin. Les "programmateurs purs" sont engagés sur un contrat temporaire pour les phases de construction, lorsque vous avez besoin de puissance de programmation.
Certaines personnes ont tendance à penser qu'elles sont "meilleures" lorsqu'elles ont un diplôme d'ingénieur. J'en ai aussi un (M. C. Sc.), mais, à mon avis, je suis l'un des pires codeurs de la planète. Je connais des gens qui codent beaucoup mieux et qui n'ont pas de diplôme. (Mais ils sont nuls quand on leur demande les tests unitaires ou la documentation : "Oh mon code fonctionne. Je n'ai pas besoin d'écrire un test unitaire ou un test master ou quelque chose de similaire" ;-)