Quando você pensa em engenharia de software, a programação geralmente vem à mente, mas a codificação é na verdade apenas uma pequena parte do que os engenheiros de software são responsáveis no dia-a-dia.Profissionais deste campo dependem de um conhecimento abrangente da ciência da computação para desenvolver software e geralmente trabalham nos requisitos de produto, design, teste, documentação, segurança e manutenção do software.