CodeGym /Cursos /C# SELF /Desenvolvimento de Produto de TI

Desenvolvimento de Produto de TI

C# SELF
Nível 6, Lição 6
Disponível

1. Um pouco de história

Quando, nos anos 90, a Internet Revolution estava começando, ninguém sabia exatamente como desenvolver serviços de internet corretamente. Todas as funcionalidades ficavam disponíveis para os usuários imediatamente, o que era bem diferente do desenvolvimento clássico de software.

O maior buscador da época, a Yahoo, decidiu seguir um caminho diferente e adotar uma abordagem de Hollywood – até os gerentes deles eram chamados de produtores :) Não é surpresa que eles não tenham conseguido 🤷‍♂️

Isso é interessante. Yahoo foi o maior fracasso em termos de compra de outras empresas. Na época, várias vezes tentaram vender para eles o Google e o Facebook. No final, na decadência da carreira, a Microsoft tentou absorvê-los por 40 bilhões, mas eles recusaram novamente. Alguns anos depois, eles foram adquiridos por apenas 3 bilhões. Nos anos 90, no auge da popularidade, a Yahoo era avaliada em 200 bilhões de dólares, e se eles tivessem comprado o Google, seu valor hoje poderia chegar a trilhões. Não seja como a Yahoo. 🙈

Desde a Internet Revolution, foram testadas dezenas de formas diferentes de desenvolvimento de software, e agora a situação se estabilizou. Existem papéis padrão com responsabilidades padrão, processos padrão e software padrão.

Durante o aprendizado, você vai aprender tudo que precisa para trabalhar em empresas de TI modernas, com ferramentas de desenvolvimento atuais. 🎓

2. Equipe de produto

Uma equipe típica de desenvolvimento é composta por:

  • Pessoas que decidem quais funções e features o produto deve ter
    • Product Owner
    • Business Analyst
  • Pessoas que decidem como o produto vai parecer
    • UI Designer
    • UX Designer
  • Desenvolvedores que implementam tudo isso
    • Software Architect
    • Backend Developer
    • Frontend Developer
    • Mobile Developer
  • Pessoas responsáveis pela qualidade do produto
    • QA Automation
    • DevOps

IT team

Product Owner na área de desenvolvimento de software tem um papel fundamental, gerenciando o produto e garantindo que a equipe de desenvolvimento foque nas tarefas mais importantes. Ele define a visão do produto, cria e prioriza a lista de tarefas (backlog), ajudando a garantir que cada etapa do desenvolvimento esteja alinhada com os objetivos de negócio e as necessidades dos usuários.

UX Designer trabalha na criação de uma interface do produto que seja fácil e eficiente de usar, incluindo pesquisa de necessidades dos usuários, desenvolvimento de protótipos e testes de interfaces. O objetivo é melhorar a interação do usuário com o produto, tornando-o o mais intuitivo e confortável possível.

DevOps profissionais cuidam de otimizar os processos de desenvolvimento de software e sua operação, acelerando e simplificando o lançamento de atualizações. Eles automatizam testes, deploys, monitoramento, além de configurar infraestrutura e garantir integração contínua e entrega contínua (CI/CD).

3. Equipe de desenvolvimento

O desenvolvimento em si é feito por programadores. Eles podem ser divididos aproximadamente em 5 categorias:

  • Software Architect
  • Backend Developer
  • Frontend Developer
  • Mobile Developer
  • Database Administrator

As funções podem variar dependendo do tamanho da equipe e do tipo de produto, mas a situação geral é assim:

  • 🏗️ Software Architect: responsável pelo design de arquiteturas complexas de sistemas de software. O Architect desenvolve a infraestrutura técnica, define a estrutura e os métodos de interação entre os componentes do produto, garantindo escalabilidade, performance e segurança.
  • ⚙️ Backend Developer: trabalha na implementação da lógica do lado do servidor. Suas tarefas incluem integrar bancos de dados, sistemas de gerenciamento de dados, processar requisições dos usuários e manter a comunicação com o frontend.
  • 🖥️ Frontend Developer: desenvolve a interface do usuário de aplicações web. Essa função exige conhecimentos em HTML, CSS e JavaScript, além de frameworks e bibliotecas para criar interfaces interativas e responsivas, garantindo uma boa experiência ao usuário.
  • 📱 Mobile Developer: cria aplicativos para dispositivos móveis. Desenvolve apps para plataformas como iOS e Android, considerando as particularidades de cada sistema, desempenho e experiência do usuário.
  • 🗄️ DBA (Database Administrator): gerencia bancos de dados, garantindo sua disponibilidade, segurança e performance. Realiza tarefas de configuração, monitoramento, manutenção, além de desenvolver estratégias de backup e recuperação de dados.
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION