Olá,
A resposta não é tão straightforward quanto pode parecer porque mesmo dentro de engenharia de software existem várias camadas e trabalhos diferentes. Hoje em dia, com qualquer curso em engenharia e matemática consegues arranjar facilmente um trabalho nessa área, provavelmente não logo como Eng. de Software mas como "Application Developer" ou "Software Developer" que te pode dar entradas para Eng. de Software com experiência suficiente (provavelmente após 2 ou 3 anos).
Para além disso, outros cursos conhecidos são Eng. Telecomunicações e Informática, Engenharia de Redes e Sistemas, ... mas mesmo nesses cursos tens menos vantagens do que alguém saído de Eng. Informática.
Em Eng. Informática acho que a posição de Software Engineer é vista como uma posição de nível médio e algo um bocado transitório para outro tipo de posições (e.g, Arquiteto de Software) mais estratégicas, metódicas e relacionadas com a programação num nível mais de planeamento e gestão.
O curso ideal, se queres mesmo envergar por essa área, seria Eng. Informática porque muito de Eng. Informática é sobre a construção de software, aplicação de algoritmos, boas práticas de programação, pipelines, etc. Em algumas universidades tens a especialização de Engenharia de Software no mestrado também.
Em termos de faculdades, acho que provavelmente tens vantagem a nível de mercado de trabalho se ingressares numa universidade embora consigas também encontrar emprego facilmente vindo de politécnico. A razão para graduados de universidades terem "prioridade" é porque os recrutadores normalmente aceitam como garantido que alunos vindo de universidades têm bases mais sólidas em matemática, pensamento lógico e talvez mais acesso a ferramentas modernas em ambientes mais competitivos. Eu sou do Técnico e a partir do 2º ano comecei a receber chamadas e dezenas de mensagens no LinkedIn de empresas interessadas em contratar-me (é algo geral para todos os alunos) e até hoje recebo chamadas embora esteja no estrangeiro (...).
Na área de Lisboa posso recomendar-te o Técnico e a FCT, tenho experiência a trabalhar com pessoal da FCT e fiquei com uma boa impressão do ensino lá porque o pessoal realmente sabe programar bem e percebe as linguagens de programação para além de "x faz y" e pensam num modo mais metódico e relacionado com o computador em si ("x faz y" mas qual é o custo disso? estou a expôr coisas para outras partes do código que não devia? estou a cometer algo que está a prejudicar a performance do meu programa? etc). Fora disso, não tenho muita experiência mas a UM tem a reputação de ser uma boa faculdade formadora de Eng. Informáticos e a FEUP também (embora sobre a FEUP saiba mesmo pouquinho). O resto das universidades não tenho nenhuma experiência direta.
Acho que as médias devem andar por volta dos 16 para cima (16.5 na FCT, 17 na UM, 17.5 +- no Técnico, 18 na FEUP).
Estás à vontade para fazer mais perguntas sobre a área!
Boa sorte!