Fury Road: a jornada do desenvolvedor de faturamento

O gerente de uma empresa de desenvolvimento de faturamento tem duas maneiras de formar uma equipe. A primeira é recrutar “idosos” já prontos e criar continuamente condições de trabalho para que utilizem ao máximo as suas competências e experiência, se desenvolvam e ao mesmo tempo não entrem em brigas. A segunda é criar uma equipe a partir de uma mistura de recém-chegados, médios e profissionais, para que eles se comuniquem, se influenciem, aprendam e cresçam dentro da empresa. Sou contra o círculo vicioso do tipo “sem experiência - sem trabalho - sem experiência” e não vejo problema em contratar um desenvolvedor iniciante. A Forward Telecom possui há muito tempo um programa de estágio, que se tornou um trampolim de carreira para muitos funcionários atuais.

Agora vou contar como vejo o caminho de desenvolvimento de um desenvolvedor de faturamento e em que sequência você precisa dominar as habilidades profissionais.

1. Aprenda uma linguagem de programação

Para começar, qualquer um. A prioridade é Java, Python e JavaScript, mas Ruby, Go, C, C++ são adequados para adquirir conhecimentos básicos. Como ensinar? Faça cursos pagos e gratuitos; posso recomendar o treinamento da Golang. Se o seu nível de inglês permitir, assistir a vídeos estrangeiros é uma boa habilidade adicional.

Fury Road: a jornada do desenvolvedor de faturamento

2. Compreenda os conceitos do sistema operacional

Os sistemas operacionais são baseados em sete componentes que você precisa conhecer e ser capaz de explicar o princípio de funcionamento:

  • Gerenciamento de processos;
  • Threads e código multithread;
  • Soquete (interface de software);
  • Despacho de E/S;
  • Virtualização;
  • Armazenar;
  • Sistemas de arquivos.

Eu recomendo fazer um curso básico de administração Linux. Os segundos sistemas operacionais da linha são Windows e Unix.

3. Acostume-se com o terminal

Por analogia com a fobia de uma folha em branco, existe a fobia de uma tela preta em branco com um cursor piscando. Você terá que superá-lo para aprender como escrever bons comandos na linha de comando.
Deve saber:

  • Conchas Bash e KornShell;
  • Comandos find, grep, awk, sed, lsof;
  • Comandos de rede nslookup e netstat.

Fury Road: a jornada do desenvolvedor de faturamento

4. Rede e segurança

A faturação está intimamente relacionada com os requisitos de rede e de proteção de dados. Você não pode escrever serviços online sem entender como a rede funciona, então você precisa aprender os conceitos e protocolos básicos: DNS, modelo OSI, HTTP, HTTPS, FTP, SSL, TLS. Então, ao encontrar um erro de conexão recusada, você saberá o que fazer.

5. Servidores

Depois de estudar os princípios de transmissão de informações na rede, você pode prosseguir com os fundamentos da operação do servidor. Comece com servidores web: IIS, Apache, Nginx, Caddy e Tomcat.

Mais abaixo na lista:

  • Procuração reversa;
  • Proxy anônimo;
  • Cache;
  • Balanceamento de carga;
  • Firewall.

6. Aprenda infraestrutura como código

Acredito que esta etapa seja uma das mais importantes. Você terá que entender três tópicos amplos:

  • Contêineres: Docker e Kubernetes
  • Ferramentas de gerenciamento de configuração: Ansible, Chef, Salt e Puppet
  • Backup: Terraform, nuvens.

7. Aprenda CI/CD

Outra habilidade útil para um desenvolvedor de faturamento é ser capaz de configurar um pipeline para integração e entrega contínuas. Na área de CI/CD existem ferramentas como Jenkins, TeamCity, Drone, Circle CI e outras. Spoiler: aprender o Jenkins amplamente utilizado será suficiente no início.

8. Controle de software e infraestrutura

O objetivo principal é compreender os fundamentos do monitoramento de aplicativos. As ferramentas nesta área são divididas em três grupos:

  • Monitoramento de infraestrutura: Nagios, Icinga, Datadog, Zabbix, Monit.
  • Monitoramento de desempenho de aplicativos: AppDynanic, New Relic.
  • LMS: ELK Stack, Graylog, Splunk, Papertrail.

9. Serviços em nuvem

Num futuro próximo, cada aplicação ou software terá uma contrapartida na nuvem. Mais cedo ou mais tarde, os desenvolvedores encontrarão a nuvem, então leia sobre os provedores de nuvem populares (AWS, Google Cloud e Azure) e os fundamentos da tecnologia.

10. Trabalhando com o banco de dados

Todos os projetos atuais usam bancos de dados, e a experiência com SGBD e SQL facilitará o início. Aprenda a escrever consultas SQL, use o explicar e aprenda como funciona o índice. A maneira mais fácil é fazer um curso. Você também pode praticar suas habilidades de documentação do Postgres e brincar com a replicação.

11. Melhore suas habilidades interpessoais

Um ponto inesperadamente fora do comum, mas não menos importante. Para começar, seja paciente. Você rapidamente se acostuma com situações do tipo “conserte seu ferro, você é programador”, mas precisa estar mentalmente preparado para os prazos de lançamento de novos projetos. Se você tem de zero a um ano em programação e é considerado Junior, prepare-se para as críticas e aprenda a aceitá-las, a revisão do código por um mentor costuma ser um processo doloroso. Mas, ao mesmo tempo, uma habilidade obrigatória é a capacidade de defender o próprio ponto de vista e argumentar de forma construtiva; às vezes a verdade nasce numa discussão. Os desenvolvedores nunca param de aprender, praticamente não há teto na profissão, então a capacidade de aprendizagem e o DESEJO de aprender coisas novas são a base do seu desenvolvimento.

Fury Road: a jornada do desenvolvedor de faturamento

Muitas vezes me perguntam quando um iniciante atinge o nível médio e quando pode ser orgulhosamente chamado de “sênior”. Acredito que o momento de transição de nível para nível não é determinado pelo número de anos trabalhados, embora as competências práticas sejam um critério fundamental. São precisamente as soft skills que muitas vezes determinam a velocidade de crescimento de um desenvolvedor: um iniciante treinado e trabalhador pode escrever código de alta qualidade em diversas linguagens e ser capaz de trabalhar em equipe em apenas alguns meses. Um desenvolvedor com 10 anos de experiência pode não ser capaz de resolver problemas fora do padrão, gerenciar uma equipe e ter habilidades unilaterais.

É assim que vejo o caminho de desenvolvimento de um desenvolvedor de faturamento, é assim que crescemos especialistas qualificados em nossa equipe Forward Telecom. Não parece estar faltando nada, mas sou sempre grato por acréscimos úteis ao assunto.

Fonte: habr.com

Adicionar um comentário