JavaRush /Blogue Java /Random-PT /Quem é quem em TI. O que os PMs, desenvolvedores front-en...

Quem é quem em TI. O que os PMs, desenvolvedores front-end e back-end e controle de qualidade fazem?

Publicado no grupo Random-PT
Ei! Todos procuramos aqui porque tínhamos interesse em trabalhar na área de TI. Mas em vez de cutucar a primeira especialidade de TI que você encontrar, talvez valha a pena dar uma olhada na lista de possíveis áreas em uma empresa de TI? Esta é a segunda parte da minha breve revisão. No primeiro , analisamos especialidades como Recrutador, RH, Administrador de Sistemas, DBA, DevOps. Hoje veremos as especialidades que são a “espinha dorsal” de qualquer equipa e, consequentemente, de um projeto. Quem é quem em TI.  O que os PMs, desenvolvedores front-end e back-end e controle de qualidade fazem - 1Se eu errar alguma coisa em algum lugar, não me repreenda muito, mas corrija-me nos comentários: vejo tudo da perspectiva de um desenvolvedor Java e posso simplesmente não conhecer as nuances de todas as especialidades.

6. PM - Gerente de projeto

O trabalho de um gerente de projeto é planejar, organizar e gerenciar projetos técnicos com competência e melhorar a comunicação entre os membros da equipe para garantir que o trabalho seja realizado de maneira harmoniosa e eficiente possível. Esses especialistas devem conhecer as necessidades dos clientes e os objetivos que perseguem, e coordenar ao máximo as ações dos colaboradores para levar o projeto à sua conclusão lógica e positiva. Positivo, porque os projetos nem sempre podem ser concluídos com sucesso por vários motivos: interrupção do financiamento, insatisfação com o trabalho por parte do cliente, e assim por diante... A Quem é quem em TI.  O que os PMs, desenvolvedores front-end e back-end e controle de qualidade fazem - 2principal tarefa do PM é coordenar um grupo de funcionários para resolver problemas técnicos, porque os desenvolvedores nem sempre são pessoas super sociáveis ​​​​e nem sempre conseguem se comunicar com competência entre si, e isso, por sua vez, só pode jogar contra o projeto. Bem, ou, por exemplo, o desenvolvedor ficou preso em alguma coisa: ele pode ficar muito tempo parado e não saber como lidar com algum problema. Todos nós não gostamos de admitir que não sabemos ou não podemos fazer algo, e os desenvolvedores ainda mais. É aqui que o PM vem em socorro , que o ajudará a encontrar uma pessoa a quem você possa recorrer para obter informações adicionais ou que já tenha encontrado algo semelhante. As responsabilidades do PM incluem:
  • definir metas gerais do projeto;
  • desenvolver planos para atingir esses objetivos;
  • manter prazos de projetos e relatórios de status atuais;
  • gestão de recursos do projeto (funcionários e equipamentos técnicos);
  • melhorar a coordenação da interação entre os membros da equipe do projeto;
  • acompanhar a eficácia do projeto e cumprimento do cronograma planejado;
  • realização de avaliações de risco para projetos;
  • organização de diversas reuniões para discutir metas, progresso atual, aspectos positivos e negativos do projeto.
Habilidades necessárias:
  • Inglês Intermediário Superior e superior, já que o PM se comunica com o cliente em nome da equipe;
  • conhecimento técnico amplo, mas não muito profundo, para que você possa entender quem faz o quê, como acontece o trabalho em geral, sem se aprofundar muito;
  • habilidades em gerenciamento de projetos e equipes neles envolvidas;
  • fortes habilidades de comunicação, uma vez que o trabalho de um PM consiste principalmente em comunicações com membros da equipe e gestão;
  • desenvolveu habilidades de correspondência. Por exemplo, muitas vezes você precisa enviar cartas para o e-mail do cliente em nome de uma equipe ou empresa, e ninguém apreciará uma carta escrita incorretamente ou com erros;
  • uma mente analítica que será útil na resolução de problemas que surjam durante o trabalho num projeto;
  • habilidades de gerenciamento de tempo, cuja utilização permitirá manter os projetos dentro do cronograma e do orçamento (afinal, tempo = dinheiro);
  • habilidades de planejamento de recursos e tarefas.
De acordo com dou, em Kiev o salário médio de um PM iniciante é de US$ 700 . A faixa salarial em Kiev para esses especialistas é de US$ 1.200-4.500 : tudo depende da experiência do especialista e da empresa. Em quem você pode crescer:
  • o gerente de entrega ( DM ) é uma continuação direta do PM -a, fica imediatamente acima de um grupo de PMs e coordena seus projetos em um nível superior;
  • gerente de programas - coordena vários projetos inter-relacionados, mas eu mesmo não entendo muito bem a diferença com o DM;
  • diretor técnico ( CTO ) – diretor técnico responsável por desenvolver produtos e aprimorar seus processos de criação;
  • diretor executivo ( CEO ) - diretor executivo;
  • gerente de contas ( AM ) – gerente de atendimento ao cliente;
  • reciclar e mudar para outra especialidade))
Se você se interessa por pessoas, gosta de se comunicar com elas e está pronto para assumir o peso da responsabilidade por uma equipe (ou até mais de uma) de desenvolvedores, então esta profissão é claramente para você.

7. Desenvolvedor front-end

Um desenvolvedor front-end é um desenvolvedor responsável por implementar a parte visual de um aplicativo que os usuários veem e com a qual interagem em um aplicativo da web. Via de regra, esses especialistas colaboram com desenvolvedores Backend que são responsáveis ​​pela parte lógica (servidor) da aplicação, que dá continuidade à parte visual da aplicação criada pelos desenvolvedores Frontend . Quem é quem em TI.  O que os PMs, desenvolvedores front-end e back-end e controle de qualidade fazem - 3Os desenvolvedores front-end, assim como os desenvolvedores back-end, são a espinha dorsal do desenvolvimento de qualquer projeto. Aqueles que apoiam projetos. Afinal, seja qual for o negócio, ele depende de trabalhadores comuns, por assim dizer, esforçados. Portanto, os desenvolvedores agem como trabalhadores esforçados. Via de regra, são muito mais do que representantes de outras especialidades e são mais necessários em qualquer projeto. As responsabilidades do desenvolvedor front-end incluem:
  • desenvolvimento de novas funcionalidades e melhoria das antigas;
  • refatorar código para melhorar o desempenho, que às vezes pode ser bastante prejudicado; legibilidade, para que outros desenvolvedores possam compreender rapidamente o código e sua lógica; extensibilidade, para que no futuro seja mais fácil implementar novas funcionalidades reaproveitando partes da antiga;
  • revisão (revisão) do código enviado ao servidor. Por exemplo, um desenvolvedor escreveu o código, outro o revisa e pode devolvê-lo ao primeiro com comentários sobre o que precisa ser corrigido;
  • comunicação com clientes e membros da equipe - desenvolvedores Frontend e Backend ;
  • implementação técnica do layout gráfico UI/UX compilado pelo designer;
  • monitorar o desempenho do aplicativo;
  • correção de bugs (erros).
Desenvolvedores frontend são programadores que estudaram layout em HTML , CSS , JavaScript e se dedicaram ao estudo de um framework específico, por exemplo, Angular ou React. A seguir, veremos as habilidades específicas necessárias para se tornar um desenvolvedor Frontend e tomaremos a direção Angular como exemplo . Habilidades necessárias:
  • Nível de Inglês - Intermediário ;
  • Compreensão de todo o processo de desenvolvimento web (design, desenvolvimento e implantação);
  • trabalhando com Angular 5+ ;
  • conhecimento de JavaScript , TypeScript , RxJS , Sass , webpack ;
  • habilidades de layout ( HTML , CSS );
  • habilidades em trabalhar com Git ;
  • compreender padrões de projeto;
  • bons conhecimentos de Linux .
Segundo dou, em Kiev o salário médio de um especialista iniciante nesse perfil é de US$ 500 . A mediana geral em Kiev para esses especialistas é de US$ 1.800-2.700 . Bem, os valores mais altos podem chegar a quase US$ 5.000 . Mas é preciso entender que se trata de casos isolados e entre especialistas altamente qualificados. Se você gosta de trabalhar com a parte técnica, mas para que ela não te enlouqueça com sua complexidade, e ao mesmo tempo tenha uma profissão em uma direção popular, esta especialidade pode lhe interessar. Em quem você pode crescer:
  • líder técnico - especialista técnico (guru) nesta área;
  • líder da equipe - líder da equipe de desenvolvimento (comandante de campo). A partir daqui você pode evoluir para uma direção gerencial, por exemplo, CTO ;
  • desenvolvedor full-stack - um desenvolvedor que possui tanto a parte backend quanto a parte frontend , ou seja, você precisa aprender o backend ;
  • arquiteto de soluções - especialista que toma decisões sobre a arquitetura do dispositivo interno e interfaces externas do produto;
  • consultor técnico - consultor técnico em alguma tecnologia;
  • treinar novamente e mudar para outra especialidade.

8. Desenvolvedor de back-end

Desenvolvedores backend - criam e melhoram a parte do servidor, que é responsável pela lógica de negócios da aplicação, que se conecta com a parte visual (interface) da aplicação (por exemplo, através da API REST ). A combinação da parte servidora da aplicação ( Backend ) + a parte visual da aplicação ( Fronend ) forma uma aplicação web com a qual o usuário final interage. Quem é quem em TI.  O que os PMs, desenvolvedores front-end e back-end e controle de qualidade fazem - 4Os desenvolvedores de back-end são responsáveis ​​por criar, manter, testar e depurar todo o back-end. Isso normalmente inclui a lógica principal do aplicativo, interação com bancos de dados, interação com diversas APIs e outros processos internos. Um especialista neste perfil, além do conhecimento da sintaxe de sua linguagem e de frameworks básicos, deve ter conhecimentos gerais de bancos de dados, em especial os relacionais , ser capaz de escrever testes unitários e de integração para seu código, ter conhecimento do construtor de aplicações - Maven ou Gradle , poder usar Git - ohm As responsabilidades do desenvolvedor back-end incluem:
  • desenvolvimento de novas funcionalidades;
  • refatoração de código;
  • revisar código de outros desenvolvedores de backend ;
  • escrever documentação para ajudar novos desenvolvedores de back-end ,
  • quem vier ao projeto entenderá rapidamente a lógica da aplicação;
  • correção de bugs;
  • escrever testes (testes unitários, de integração);
  • comunicação com outros membros da equipe.
Assim como o Frontend , os desenvolvedores de Backend têm direções diferentes, ou seja, uma linguagem de desenvolvimento específica. Mas, é claro, tomaremos a linguagem de desenvolvimento Java como exemplo. Então, quais são as habilidades necessárias para um desenvolvedor Java:
  • Nível de Inglês - Intermediário ;
  • conhecimento de Java Core - a sintaxe da linguagem Java e um conjunto de tecnologias básicas;
  • compreensão de todo o processo de desenvolvimento web;
  • conhecimento da linguagem SQL ;
  • conhecimento de bancos de dados relacionais, como PostgreSQL ou MySQL ;
  • habilidades em interação com banco de dados via JDBC , Hibernate ;
  • conhecimento dos frameworks básicos do Spring (Spring Core, Spring Data, Spring Web) ;
  • conhecimento de Git , Maven ;
  • Habilidades em testes unitários e de integração, por exemplo utilizando JUnit e Mockito .
Para desenvolvedores Frontend e Backend , não falei nada sobre altas habilidades de comunicação. Em todos os lugares eles escrevem que altas habilidades de comunicação são importantes para esses especialistas, mas isso não é inteiramente verdade. Sim, é importante comunicar-se adequadamente, mas isso é importante em qualquer direção e em qualquer outra profissão. Mas se você comparar isso com um PM ou um recrutador, cujo trabalho inteiro consiste em comunicação, então, para um desenvolvedor, ter habilidades sociais superdesenvolvidas (habilidades de comunicação) não é tão importante. Afinal, eles trabalham em código o dia todo e, por exemplo, uma vez por dia participam de algum tipo de reunião, como uma reunião diária, na qual dizem literalmente algumas frases: o que fizeram, o que estão fazendo, o que eles farão. Bem, às vezes eles ligam para os colegas para discutir alguns assuntos técnicos. Portanto, esta profissão é ótima para introvertidos – pessoas que amam a privacidade. Você pode receber sua tarefa e trabalhar nela sem gastar muitas horas em ligações e discussões pouco claras. Escrevi também que o nível de inglês exigido é Intermediário , pois por um lado não há muita comunicação com o cliente, mas ao mesmo tempo é preciso saber ler/escrever em inglês (documentação, Jira ) e, possivelmente, comunicar-se com os desenvolvedores do lado do cliente. Os clientes podem fechar os olhos ao inglês torto por parte dos desenvolvedores: o principal é que eles sejam fortes no desenvolvimento. As oportunidades de crescimento para Backend são as mesmas que para desenvolvedores Frontend:
  • líder técnico ;
  • Liderança da equipe ;
  • desenvolvedor full-stack - você precisa aprender frontend ;
  • Solução de arquitetura ;
  • consultor técnico ;
  • treinar novamente e mudar para outra especialidade.
Os salários dos desenvolvedores Backend são muito agradáveis. Por exemplo, um desenvolvedor Java iniciante em média em Kiev pode receber cerca de US$ 600 . O salário médio em Kiev para esses especialistas varia entre US$ 1.950-2.850 . Bem, para desenvolvedores fortes de nível sênior, o salário pode chegar a US$ 5.000 ou mais. Mas você deve entender que isso pode ser alcançado com uma enorme experiência e o mais alto nível de habilidades. Na escola sempre fui bom em matemática e física, porque me davam tijolos em forma de fórmulas, e para resolver alguns problemas tive que construir uma estrutura lógica a partir desses tijolos. É por isso que gosto do desenvolvimento - o mesmo princípio, só que existem muito mais tijolos lógicos e as estruturas precisam ser construídas de forma mais complexa. Se você não procura caminhos fáceis e deseja desafios reais, fique à vontade para escolher essa direção.

9. Manual de controle de qualidade

A Manual Quality Assurance é uma especialista que atua na garantia da qualidade do produto, cujo objetivo é aprimorar o próprio processo de desenvolvimento da aplicação, analisar a documentação e, a partir dela, identificar erros e imprecisões no funcionamento do produto. Quem é quem em TI.  O que os PMs, desenvolvedores front-end e back-end e controle de qualidade fazem - 5Normalmente, a garantia de qualidade, que é tratada no Manual de QA , consiste em:
  • realização de avaliações de risco;
  • análise de especificações e requisitos;
  • gerar ideias para melhorar a qualidade do produto;
  • elaboração de planos de teste;
  • análise e documentação dos resultados dos testes obtidos.
Atualmente, os testes andam lado a lado com o desenvolvimento de software e desempenham um papel importante na criação de qualquer produto de TI de alta qualidade. E é isso mesmo, porque além da funcionalidade escrita corretamente, precisamos ter certeza de que ela funciona corretamente e não contém mais de 100.500 bugs. É aqui que o teste vem em socorro, servindo como uma espécie de controle de qualidade para que apenas um produto o mais simplificado e polido possível possa passar. As responsabilidades do Manual de QA incluem:
  • estudar requisitos, especificações e outras documentações;
  • visualizar e verificar o sistema e suas características técnicas quanto ao cumprimento da especificação (lista de requisitos);
  • desenvolver estratégias e planos de teste eficazes;
  • escrever scripts de teste (casos de teste), com base nos quais o QA Automation cria testes automatizados;
  • execução manual de casos de testes, análise de resultados;
  • em caso de falhas ou inconsistências durante os testes, é necessário elaborar um relatório, criar tarefas (criar bugs) e enviá-las aos desenvolvedores para melhorias;
  • testes de regressão de produtos;
  • documentar as etapas dos testes;
  • comunicação com equipes de desenvolvimento sobre inconsistências funcionais e bugs.
Habilidades necessárias para se tornar um Manual de QA :
  • Nível de Inglês - Intermediário ;
  • bom entendimento de metodologias e práticas de garantia de qualidade de aplicações;
  • conhecimento de testes de regressão;
  • capacidade de documentar erros;
  • habilidades em revisão detalhada de requisitos de software;
  • orientação técnica básica;
  • entender JSON , XML ;
  • conhecimentos básicos de SQL ;
  • habilidades em trabalhar com ferramentas para organização de documentação de testes, por exemplo - Testrail ;
  • atenção aos detalhes;
  • mentalidade crítica.
Uma oportunidade direta para o crescimento de tal especialista é a Automação de QA . Para fazer isso você precisará aprender um pouco. Você também pode crescer em :
  • Líder de QA - o líder de QA da equipe;
  • treinar novamente e mudar para outra especialidade, por exemplo, tornar-se um desenvolvedor front-end ou back-end .
Em Kiev, o salário médio do Manual de controle de qualidade para um novato é de US$ 400 . Bem, em média, os salários desses especialistas estão na faixa de US$ 1.250-1.650 . Para os especialistas seniores mais experientes, os salários podem chegar a US$ 3.000 ou mais. Essa é uma das maneiras mais fáceis de “entrar em TI”: você pode começar com essa especialidade e depois passar para algo mais complexo, ou atingir o ápice do domínio nessa área.

10. Automação de controle de qualidade

QA Automation é um especialista em qualidade de produto que utiliza diversas ferramentas de software para criar testes baseados em scripts escritos pessoalmente ou pelo Manual de QA . A automação de controle de qualidade é algo como o próximo nível após o manual de controle de qualidade . Se o QA Manual faz tudo manualmente, então o QA Automation usa algum tipo de linguagem de programação para escrever testes que verificam o correto funcionamento da funcionalidade do aplicativo. Esses testes geralmente são executados automaticamente sob certas condições: quando o aplicativo é compilado, ou todos os dias em algum horário, e assim por diante. Quem é quem em TI.  O que os PMs, desenvolvedores front-end e back-end e controle de qualidade fazem - 6Normalmente, as responsabilidades da AQA incluem :
  • estudar requisitos, especificações e outras documentações;
  • criação e configuração de ambientes de teste para execução de casos de teste e scripts;
  • projetar, criar e executar automação de casos de teste (planos de teste) usando Selenium de acordo com padrões e metodologias de garantia de qualidade definidos;
  • estudar testes manuais da aplicação e fazer sugestões sobre a possibilidade de automação;
  • manter casos de testes de automação atualizados;
  • escrever documentação;
  • manter o nível exigido de cobertura de teste;
  • se necessário, ajude com testes manuais. Pode executar manualmente casos de teste e scripts para produtos em desenvolvimento utilizando ferramentas de gerenciamento de testes;
  • participação no desenvolvimento, nomeadamente na administração do processo de controlo de qualidade;
  • comunicação com equipes de desenvolvimento sobre inconsistências funcionais e bugs.
O principal “truque” dos testes automatizados é que os testes automatizados permitem testar software com muito mais rapidez, frequência e, consequentemente, acelerar a entrega do produto. Primeiro, um trabalho de automação de testes bem feito permitirá que os testes sejam executados de forma rápida e previsível. Isto, por sua vez, evitará situações em que a pessoa que executa as etapas manualmente possa pular uma etapa ou inserir um valor não destinado ao teste. Em segundo lugar, você pode incluir testes automatizados no processo de construção e executá-los sempre que a construção for concluída. Isso pode ser feito usando a ferramenta CI . Em terceiro lugar, quando os desenvolvedores alteram alguma funcionalidade de um aplicativo, isso pode afetar uma parte completamente diferente do sistema e também alterar seu comportamento. Mas quando executamos testes automatizados, as mudanças no comportamento de qualquer parte do sistema se tornarão imediatamente visíveis - isso é uma garantia adicional caso criemos três novos, corrigindo um bug. Habilidades necessárias:
  • Nível de Inglês - Intermediário ;
  • boa compreensão de metodologias e práticas de garantia de qualidade;
  • excelente conhecimento da sintaxe de uma linguagem (por exemplo, Java ou JavaScript ), pois os testes precisam ser escritos em alguma coisa;
  • escrever testes automatizados usando Selenium ;
  • familiaridade com CI/CD ;
  • capacidade de trabalhar com Git ;
  • atenção aos detalhes;
  • mentalidade crítica.
Uma oportunidade direta de crescimento para a AQA é se tornar um desenvolvedor da linguagem de programação na qual você já escreve testes. Você também pode se tornar:
  • Líder de controle de qualidade ;
  • treinar novamente e mudar para outra especialidade.
O salário médio de um iniciante em automação de controle de qualidade em Kiev é de US$ 600 . A média para esta área é de US$ 1.700 a US$ 2.500 e, para especialistas de nível sênior, os salários podem chegar a US$ 4.000 ou mais. Se você tem uma mente crítica, quer escrever código, mas não tem “desafios” que às vezes podem te irritar, e quer um trabalho mais tranquilo, deveria aprender mais sobre essa profissão. Quem é quem em TI.  O que os PMs, desenvolvedores front-end e back-end e controle de qualidade fazem - 7Em todas as especialidades, listei o inglês como uma habilidade obrigatória. Mas se você não está muito bem, não fique chateado. Isto não é uma frase. Existem várias empresas de produtos russas e ucranianas que recrutam especialistas sem o conhecimento necessário de inglês, uma vez que as pessoas não precisarão se comunicar com clientes estrangeiros (clientes), mas apenas dentro da equipe. Por exemplo, pode ser o departamento de TI de um banco ou operadora de telecomunicações. Assim, você pode encontrar um emprego sem falar um idioma, se desejar. E hoje isso é tudo para mim...Quem é quem em TI.  O que os PMs, desenvolvedores front-end e back-end e controle de qualidade fazem - 8
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION