Qual é a diferença entre engenharia da computação e codificação / programação? também existe ciência da computação? que trabalhos alguém pode obter se adquirir um dos itens acima?

Programação é a atividade de escrever software. Programadores escrevem código e documentação. Essa é uma habilidade básica, como aritmética e leitura.

Engenharia de computação é sobre a construção de computadores; são os eletrônicos e o software que leva o computador ao ponto em que um sistema operacional pode começar a funcionar. Se você sabe o que é um BIOS, isso faz parte. As partes do software precisam de alguma programação, mas os engenheiros de computação são um subconjunto de engenheiros eletrônicos.

A ciência da computação é o estudo do que os computadores podem fazer e a matemática da computação. Para fazer isso, talvez você precise fazer alguma programação, mas não necessariamente, pode ser inteiramente matemática.

Engenharia de software é o estudo prático da construção de grandes softwares. Inclui programação, mas também inclui ferramentas, técnicas organizacionais, gerenciamento de projetos e muitos processos.

A engenharia de rede consiste em fazer com que os computadores conversem entre si. É um subconjunto da engenharia de comunicações e, novamente, pode precisar de alguma programação.

Assim…

  • Programadores escrevem código.
  • Engenheiros de computação constroem computadores. Eles podem ou não ser programadores.
  • Os cientistas da computação estudam o que os computadores podem fazer. Eles podem ou não ser programadores ... mas muitos, talvez a maioria dos programadores de carreira estudam isso na universidade. Este é um departamento da faculdade de ciências de uma universidade.
  • Engenheiros de software constroem software. Eles precisam aprender a programar, mas podem acabar fazendo vários tipos de gerenciamento. A maioria dos programadores que não estudam ciência da computação estuda isso. A maioria dos programadores de carreira acaba fazendo isso em vez de ciência da computação. A engenharia de software pode ser ministrada em um departamento de ciência da computação de uma universidade ou fazer parte da escola de engenharia.
  • Os engenheiros de rede constroem redes ou software em rede. Eles podem ser programadores.

Não existem muitos empregos para engenheiros de computação, mas os que existem são muito bem pagos. Essas pessoas trabalham para empresas como Dell, Apple, fabricantes de celulares e assim por diante (muitas empresas que você nunca ouviu falar neste espaço).

A maioria dos trabalhos é em engenharia de software. Existem dois caminhos para chegar lá dentro do sistema educacional, ciência da computação e engenharia de software, mas cerca de um terço das pessoas que realmente trabalham nisso estudaram algo completamente diferente e acabaram aprendendo programação ao longo do caminho (eu sou um deles, por a propósito, meu diploma é em física).

A engenharia de rede pode ser realmente interessante, eu fiz isso por um longo tempo (e em alguns sentidos ainda o fazem). É uma certificação comercial (essas são as pessoas que não costumam fazer muita programação) ou então você estuda engenharia de software com foco em rede.

A ciência da computação em si é principalmente acadêmica; se você realmente faz isso da vida, provavelmente é professor universitário.