Quero me matricular
Artigos Alura Lingua

Programmer, software developer e software engineer - aprenda a diferença com um quiz

Giovanna Oliveira
Giovanna Oliveira
Programmer, software developer e software engineer #inset

Hi! Do you work in the technology area? Se você trabalha ou quer trabalhar com tecnologia, provavelmente já ouviu falar das profissões programmer, software developer e software engineer. Mas você sabe a diferença entre elas? Hoje vamos explicar cada uma e depois fazer um quiz, para que você nunca mais tenha dúvidas! Are you ready?

1. Programmer

Vamos usar uma comparação com uma coisa que todo mundo conhece para explicar a diferença entre estas três profissões: a cozinha de um restaurante. O programmer (programador) é como um cozinheiro muito talentoso, ele lê a receita e consegue segui-la para elaborar um prato. Além disso, ele também é responsável por experimentar o prato. E a comida, no caso, é o código.

Assim, programadores são responsáveis por traduzir ideias em código, do mesmo modo como receitas são maneiras de traduzir ideias em comida. E dentre as muitas funções importantes de um programador está provar a comida, ou seja, testar o código.

2. Software Developer

O software developer (desenvolvedor de software, frequentemente chamado de apenas developer) é o chef da cozinha, assim como Gordon Ramsay é o chef na cozinha do famoso programa de TV Hell's Kitchen.

Assim, o developer vai conversar com os clientes, entender quais são suas necessidades e gostos, orientar a equipe de cozinheiros (os programmers) e verificar a aceitação dos pratos e do cardápio.

Também é sua função elaborar um cardápio adequado tanto ao que os clientes querem quanto ao que o restaurante pode oferecer. Imagine o seguinte: um restaurante no meio do cerrado brasileiro quer oferecer um cardápio todo baseado em frutos do mar. É possível? É. Mas exige investimento em logística, transporte etc. Se o restaurante não tiver esse dinheiro, é função do chef pensar num cardápio feito para aproveitar ao máximo os recursos que o restaurante tem, ou seja, a comida típica do cerrado.

O mesmo vale para um software developer, que pode otimizar o uso de recursos e ferramentas que sua empresa tenha em vez de fazer projetos que exijam investimentos inviáveis para sua companhia.

3. Software Engineer

Agora suponha que em vez de um único restaurante, seja uma rede com vários restaurantes diferentes, como La Guapa e Arturito, ambos da famosa chef Paola Carosella. O software engineer (engenheiro de software) é o chef principal, ou seja, a própria Paola, no caso desse exemplo. Ele precisa seguir processos e ter critérios e parâmetros para gerir os restaurantes e garantir a mesma qualidade em todos.

O software engineer, assim, é responsável por grandes projetos de grandes empresas, ele precisa se certificar de que novas funções ou códigos que são adicionados não vão entrar em conflito com outros que já existiam.

Agora será que você consegue aplicar a teoria e adivinhar na prática quem exerce cada função? No quiz abaixo, as lacunas representam as profissões. Leia as funções e responda:

(1) para programmer

(2) para software developer

(3) para software engineer

Let's try?

(1) The __ is responsible for testing the code. (O __ é responsável por testar o código.)

(3) The __ thinks about problems in terms of large scale, because they worry about the whole system. (O __ pensa em problemas em termos de grande escala, porque sua preocupação é o sistema como um todo.)

(2) The __ analyzes the user's needs to make decisions. (O __ analisa as necessidades do usuário para tomar decisões.)

(1) The __ translates ideias into code. (O __ traduz ideias em código.)

(3) The __'s concern is keeping the IT infrastructure together and cohesive. (A preocupação do __ é manter a infraestrutura de TI em sintonia e coesa.)

(2) The __ creates softwares to solve user's problems found in tests with users. (O __ cria softwares para resolver problemas de usuários descobertos em testes com usuários.)

(3) The __ is interested in software design, to build and maintain the systems that support applications taking into account all stakeholders involved. (O __ está interessado em design de software para construir e manter o sistema que ampara aplicações, levando em consideração os interesses de todos os colaboradores envolvidos.)

(1) The __ makes sure the code has no bugs. (O __ garante que o código não tenha erros.)

(2) The __ is responsible for the design and architecture of a software component. (O __ é responsável pelo design e pela arquitetura de um componente de software.)

Now, check your answers:

(1) Programmer

(3) Software engineer

(2) Software developer

(1) Programmer

(3) Software engineer

(2) Software developer

(3) Software engineer

(1) Programmer

(2) Software developer

So, did you do well? E sabia que uma das principais funções do programador, que é retirar os bugs de um sistema, em inglês tem um verbo especial, debugging? Quer aprender mais sobre este e outros termos da área de tecnologia? Venha ler nosso artigo: Vocabulário para quem trabalha com tecnologia. See you there!

Aproveite e faça nosso teste de nível de inglês. Ou baixe nossa apostila que te ensina como aprender inglês de maneira eficiente!

Quer realmente aprender outras línguas, como inglês e espanhol? Conheça os nossos cursos que reforçam o aprendizado de inglês e espanhol.

Inglês e espanhol online de maneira eficaz!

Escolha um dos planos e tenha acesso aos cursos completos da plataforma

Plano Anual 12x R$40 ou R$480 Quero este plano
Plano Semestral 6x R$50 ou R$300 Quero este plano