Depende , não existe uma boa resposta para esta pergunta.
Programador é um mundo geral para identificar alguém que escreve software de computador.
Agora, lá fora, existem softwares de todos os tipos. Por exemplo, usando a wikipedia como fonte de generalização, podemos encontrar três grandes generalizações :
- programação do sistema
- software de programação
- software de aplicação
No primeiro campo , a programação do sistema desenvolve drivers de dispositivo, sistema operacional, servidores; assim, por exemplo, você pode seguir um curso de sistema operacional.
mas e o software de programação ? aqui, como escreveu a wikipedia, você pode codificar compiladores, depuradores, intérpretes, vinculadores, editores de texto; portanto, um curso de teoria automatizada, teoria da linguagem, linguagem e compiladores pode ser útil.
Não podemos falar de software de qualquer tipo:
- videogames: álgebra, física, cursos orientados a objetos?
- software matemático: cursos de matemática?
- edição de imagens: cursos de matemática, física, algoritmos?
- automação industrial: cursos de matemática, física, algoritmo, robótica?
- software médico: biologia, medicina, que outro curso?
- muita coisa aqui: muitos cursos aqui.
Como você pode ver, é claro que você pode seguir e se tornará útil para o seu trabalho.
Na minha experiência, eu sou um engenheiro de software de sistema e software de aplicativo no campo de segurança (você quer seguir um curso de segurança?). Começando com um pouco de muita experiência em programação, estou ficando mais interessante em algoritmos e sistemas distribuídos e, novamente, sinto desconfortável com a simplicidade do aplicativo de uso geral que escrevi (sniffer, sistema de detecção de intrusão de rede, dissector e detector de protocolo, etc.).
Como você aprendeu amargamente em ciência da computação teórica! você fluiu neste curso? : P
Você aprendeu, por exemplo, que toda a linguagem de computador pode ser ajustada em um conjunto de funções matemáticas computáveis e, por exemplo, se sua experiência seguir o mesmo caminho, logo você ficará desconfortável nesse pequeno conjunto de cálculo e, como eu, poderá começar a ver como o desenvolvimento O software não é tão atraente e surpreendente porque o mesmo DESIGN PATTERN volta novamente (você seguiu os cursos de padrões de design?) e, por exemplo, pode começar a ter mais interesse em POR QUE e COMO a linguagem pode ser traduzida em função matemática e começando a Aprenda que a linguagem de computador não é tão complexa! em breve, por exemplo, você ficará mais surpreso com a pessoa e a psicologia e poderá obter mais interesse e se tornar um bom gerente de projetos! você seguiu os cursos sobre o ciclo de vida do software?
Então agora, qual é o curso que você DEVE TER na sua carreira no CS?
Eu sugiro que você aprenda o máximo que puder em todos os campos, especialmente no campo da teoria, porque no campo de trabalho comum, você logo se sentirá entediado com a pouca complexidade à sua volta e, ao se tornar um trabalhador em tempo integral, terá muito menos tempo para aprender. como as coisas realmente funcionam e muito mais tempo para ver como as pessoas com forte conhecimento teórico projetaram coisas para funcionar e lhe deram a possibilidade de codificar para obter comida em casa.
existe um senso errado de realidade na ciência da computação. um cientista da computação, por exemplo, às vezes está muito longe do desenvolvedor de software.
dê uma olhada na explicação da Wikipedia.
divirta-se com a vida :)
meus 2 centavos.
desculpe pelo meu péssimo inglês.