O gerente de uma empresa de cobrança tem duas maneiras de formar uma equipe. O primeiro é recrutar “idosos” prontos e criar continuamente essas condições de trabalho, para que usem ao máximo suas habilidades e experiência, desenvolvam e, ao mesmo tempo, não lutem. O segundo é criar uma equipe a partir de uma mistura de iniciantes, "midas" e profissionais, para que eles se comuniquem, se influenciem, aprendam e cresçam dentro da empresa. Sou contra um círculo vicioso à la "sem experiência - sem trabalho - sem experiência" e não vejo problema em contratar um desenvolvedor iniciante. A Forward Telecom realiza um programa de estágio há muito tempo, que se tornou um trampolim para muitos funcionários que trabalham.
Agora, mostrarei como vejo o caminho de desenvolvimento do desenvolvedor de cobrança e em que sequência você precisa dominar as habilidades profissionais.
1. Aprenda uma linguagem de programação
Para começar - qualquer. A prioridade é Java, Python e JavaScript, mas Ruby, Go, C, C ++ são adequados para conhecimentos básicos. Como ensinar? Faça cursos gratuitos e pagos, posso aconselhar o treinamento da Golang. Se o nível de inglês permitir, assistir a vídeos estrangeiros é uma boa habilidade adicional.

2. Compreender os conceitos do SO
Os sistemas operacionais são baseados em sete componentes que você precisa conhecer e ser capaz de explicar o princípio de ação:
- Gerenciamento de processos;
- Fluxos e código multithread;
- Soquete (interface de software);
- Agendamento de E / S;
- Virtualização
- Armazenamento
- Sistemas de arquivos.
Eu recomendo fazer um curso básico de administração do Linux. Segundo sistema operacional da linha: Windows e Unix.
3. Acostume-se ao terminal
Por analogia com a fobia de uma folha em branco, há uma fobia de uma tela preta em branco com um cursor piscando. Você precisará superá-lo para aprender a escrever bons comandos na linha de comando.
Certifique-se de saber:
- Conchas Bash e KornShell;
- Comandos find, grep, awk, sed, lsof;
- Comandos de rede nslookup e netstat.

4. Rede e segurança
O faturamento está intimamente relacionado aos requisitos de rede e proteção de dados. Você não pode escrever serviços online sem entender como a rede funciona; portanto, você precisa aprender os conceitos e protocolos básicos: DNS, OSI, HTTP, HTTPS, FTP, SSL, TLS. Quando você encontrar um erro de recusa de conexão, saberá o que fazer.
5. Servidores
Depois de estudar os princípios de transmissão de informações na rede, você pode começar com o básico de como os servidores funcionam. Comece com os servidores Web: IIS, Apache, Nginx, Caddy e Tomcat.
Mais abaixo na lista:
- Servidor proxy reverso;
- Proxy anônimo;
- Armazenamento em cache
- Balanceamento de carga;
- Firewall.
6. Explore a infraestrutura como código
Penso que esta fase é uma das mais importantes. Três tópicos gerais terão que ser resolvidos:
- Contêineres: Docker e Kubernetes
- Ferramentas de gerenciamento de configuração: Ansible, Chef, Salt e Puppet
- Reserva: Terraform, nuvens.
7. Aprenda CI / CD
Outra habilidade útil para um desenvolvedor de cobrança é poder personalizar o pipeline para integração e entrega contínuas. No campo do CI / CD, existem as ferramentas Jenkins, TeamCity, Drone, Circle CI e outras. Spoiler: Estudar o Jenkins amplamente utilizado a princípio será suficiente.
8. Controle de software e infraestrutura
O objetivo principal é entender o básico 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 aplicativo ou software terá um equivalente na nuvem. Mais cedo ou mais tarde, os desenvolvedores são confrontados com nuvens, então leia sobre os provedores populares de nuvem (AWS, Google Cloud e Azure) e os conceitos básicos da tecnologia.
10. Trabalhe com o banco de dados
Todos os projetos atuais usam bancos de dados, e a experiência no trabalho com DBMS e SQL facilitará o início do trabalho. Aprenda a escrever consultas SQL, use o Explique e saiba como o índice funciona. A maneira mais fácil é fazer um curso. Você também pode praticar habilidades na documentação do Postgres, brincar com a replicação.
11. Melhore habilidades
Um ponto que de repente sai da tela geral, mas não menos importante. Para começar - seja paciente. Você se acostuma rapidamente a situações como “consertar o ferro, programador de digitação”, mas precisa estar mentalmente preparado para o momento de lançar novos projetos. Se na programação você é de zero a um ano e é considerado Júnior, prepare-se para as críticas e aprenda a aceitá-las, revise o código como um mentor - o processo geralmente é doloroso. Mas, ao mesmo tempo, uma habilidade obrigatória é a capacidade de defender o ponto de vista de alguém e argumentar construtivamente, às vezes a verdade nasce em uma disputa. Os desenvolvedores nunca param de aprender, praticamente não há teto na profissão; portanto, o aprendizado e o DESEJO de aprender coisas novas são a base do seu desenvolvimento.

Muitas vezes me perguntam quando um iniciante atinge o nível médio e quando você já pode orgulhosamente ser chamado de "sênior". Acredito que o momento da transição de nível para nível não determina o número de anos trabalhados, embora as habilidades práticas sejam o critério-chave. Da mesma forma, os softskills geralmente determinam a taxa de crescimento de um desenvolvedor: um iniciante treinado e trabalhador pode escrever código de alta qualidade em vários idiomas em poucos meses e ser capaz de trabalhar em equipe. Um desenvolvedor com experiência de 10 anos pode não conseguir resolver tarefas fora do padrão, gerenciar uma equipe e ter habilidades unilaterais.
Então, eu vejo o caminho de desenvolvimento do desenvolvedor de faturamento, por isso desenvolvemos especialistas qualificados em nossa equipe de Forward Telecom. Parece que não perdi nada, mas sou sempre grato por acréscimos úteis em essência.