(17 revisões intermediárias por 2 usuários não estão sendo mostradas)
Linha 1: Linha 1:
= Evolução na profissão =
= Evolução na profissão =
Destacar os passos na vida do profissional até chegar onde está. Começando eventualmente por estágio ou curso técnico, explicando os cursos, certificações ou áreas de trabalho ao longo da carreira. As promoções de cargo até a atual função.
Minha carreira profissional começou já no ensino médio onde tive meu primeiro contato com a programação.
 
No segundo ano, ja decidido a me aprofundar na programação, comecei meu primeiro estagio onde consegui absorver e aprender muita coisa.
 
Durante o estagio melhorei minha logica de programação e tive uma base de desenvolvimento web.
<br>
<br>


= Descrição da atividade atual =  
= Descrição da atividade atual =  
Descrever o dia-a-dia do profissional. Funções, responsabilidades e atividades assumidas pelo profissional.
Minhas atividades durante o dia são divididas em:
 
1- Ajudar e organizar minha equipe.
 
2- Ajudar o time como um todo.
 
3- Executar minhas tarefas de código.
 
Geralmente costumo organizar as tarefas da minha equipe, depois apoiar o time com algumas tarefas e por ultimo executo minhas tarefas individuais.
 
Durante o dia também tenho participação nas reuniões de definição de projetos e Sprints.
<br>
<br>


= Requisitos mínimos para exercer a profissão =
= Requisitos mínimos para exercer a profissão =
- curso técnico, superior ou habilidade necessária para a função que exerce
O principal para exercer a profissão é ter vontade de aprender pois essa é uma área muito vasta e que muda mundo e muito rápido.
- Conhecimentos básicos necessários para sua atuação, não só técnicos mas também comportamentais.
 
Ter uma boa lógica de programação. No geral a base da programação é muito importante para trabalhar nessa área não só a logica mas também noções gerais da área.
 
Saber perguntar (Fazer perguntas boas e necessárias).
 
Ter uma boa comunicação. Por você normalmente trabalhar em equipes a comunicação é fundamental.
<br>
<br>


= Ferramentas usadas no dia-a-dia =
= Ferramentas usadas no dia-a-dia =
- Softwares ou recursos físicos obrigatórios ou necessários para que o profissional possa exercer sua atividade.
VSCode. Editor de código.
 
Planner. Para elaborar as sprints..
 
Zoom. Para reuniões.
 
Insomnia. Para fazer testes de requisições de API's
 
Typora. Para executar a documentação do software e do codigo.
 
AWS services. Servidor.
 
MySql. Banco de dados.
<br>
<br>


= Tecnologias envolvidas =
= Tecnologias envolvidas =
Linguagens: Lara(framework PHP). Atualmente está sendo a mais usada na parte de back na minha empresa.


Conhecimento técnico e científico aplicado na atividade profissional utilizando ferramentas, processos e recursos físicos.
Na parte do front: Java script, HTML, CSS, Bootstrap.
Neste caso, escolher uma tecnologia e aprofundar a ponto de poder discutir em sala de aula
 
Exemplos:
Na profissão e trabalho com gerenciamento de banco de dados, manutenção dos servidores, deploy para os servidores, programação para web, integração dos programas com as API's
* SO, Banco de Dados, Linguagens, Metodologia ágil para o Engenheiro de Software
 
* Redes de Computadores, Roteamento, sistemas de comunicação e comutação para o Analista de Redes
A metodologia ágil que usamos na empresa é o agile que é uma derivada do Scrum.
* Criptografia, Certificação Digital, Banco de Dados, Ambiente Web para Analistas de Segurança
* Banco de Dados, Normalização, Tuning, redundância para o DBA
* E assim por diante ....
<br>
<br>


= Ética profissional =
= Ética profissional =
- Apontar qualquer situação em que é necessário ética. Seja alguma situação vivida pelo profissional ou que ele tenha tido conhecimento. Importante ressaltar o comportamento adequado do profissional dentro de uma empresa ou de um negócio.
Essa é uma profissão que exige ética o tempo inteiro, principalmente por trabalhar muito com dados pessoais e muitas informações em geral.
- Caso o profissional não sugira nada, a equipe deverá pesquisar e discutir algum caso
 
- Os casos, tanto podem tratar de comportamentos éticos positivos quanto de situações onde a ética tenha sido desvirtuada.
Um caso que aconteceu recentemente foi uma pessoa que saiu da empresa, mas fez uma copia da planilha ,foi para uma outra empresa rival e mostrou para eles todos os dados de clientes, formas de calculo. Por isso que a empresa decidiu passar para plataforma para o funcionário não ter acesso tão fácil a esses dados.
<br>
<br>


= Exemplo de resultado tangível =
= Exemplo de resultado tangível =
- Citar um exemplo de algum resultado real produzido pelo profissional. Aqui pode ser o exemplo de um equipamento, de um sistema embarcado, de um sistema web ou mobile, de um projeto ou documento que retrate a contribuição do convidado no negócio onde ele atua.
Plataformas:
 
Irriger connect. Por ser uma empresa multinacional essa plataforma tem 6 linguagens e é a plataforma principal da empresa. Trabalho principalmente na correção de bugs da plataforma.
 
Telo5(projeto que peguei do 0). Projeto que estou trabalhando atualmente e sua versão mobile.
 
Valley365. Trabalho mais na correção de bugs pois já estava pronto quando entrei na empresa.
<br>
<br>


= Upload da apresentação =
= Upload da apresentação =
- Colocar aqui o link ou o arquivo da apresentação
- https://youtu.be/mROR0iLjkjU
<br>
<br>


Linha 45: Linha 80:
<br>
<br>


* API
API (application programing interface) é um conjunto de normas que permite a comunicação entre aplicativos/plataformas sem que seja necessário saber sobre a implementação do app que tem uma API.
 
Uma API permite que um software use certos recursos do software que tem a API com mais facilidade sem que seja necessária um conhecimento vasto sobre a implementação do mesmo.
 
O google maps por exemplo tem uma API muito usada por outros softwares, esta API permite que o software receba varias informações que existem no Maps(localizações, rotas e etc...) e use essas informações para melhorar a sua aplicação. Tudo isso sem ter que saber sobre a implementação em si do Google Maps, tudo isso por meio de uma API.
 
Um exemplo de integrações usando API's é o whatsapp que utiliza a lista de contatos do telefone. E outro exemplo comum é a integração do instagram com o facebook que permite por exemplo que uma foto seja postada nos dois app's simultaneamente.
 
Pode-se separar API's em 4 tipos:
 
-Publicas ou Abertas: Estão disponíveis para desenvolvedores e outros usuários de forma publica e tem poucas restrições.
 
-Privadas ou Internas: São ocultadas de usuários externos e usadas somente para sistemas internos de uma empresa. Elas são usadas internamente em uma empresa, entre equipes, para melhorar a produtividade.
 
-API's de parceiros: API's expostas para parceiros da empresa.
 
-API's compostas: API's que combinam vários dados de outras API's.
 
Em resumo uma API é como um garçom, ela recebe pedidos, vai até o programa, pega o que foi solicitado e entrega para quem pediu. Basicamente um facilitador que ajuda na comunicação entre aplicações.
 
Atualmente as API's são muito utilizadas e extremamente úteis para desenvolvedores, saber trabalhar com elas é muito útil e atualmente esta sendo necessário pois elas estão em todos os lugares.
 
<br>
<br>


Linha 52: Linha 108:


* 01. [Luiz Cláudio] Trabalha com IoT ou GPS? Se sim, quais as integrações vc faz?
* 01. [Luiz Cláudio] Trabalha com IoT ou GPS? Se sim, quais as integrações vc faz?
**  
*Sim. Ela se chama INS, ele consegue mapear as areas onde esta "setado", ele usa satélites que transmitem sinais com informações e o receptor desse sinais consegue computar a posição e a velocidade de algum "objeto", ela é muito usada em movimentações autônomas.*  
<br>
<br>


* 02. [Luiz Cláudio] Em que sentido o curso técnico te ajudou?
* 02. [Luiz Cláudio] Em que sentido o curso técnico te ajudou?
**  
*Me ajudou a ter  um planejamento de carreira, ter uma base de metodologias ágeis e me inseriu no mundo da programação e me aprofundar nele.*  
<br>
<br>


* 03. [Luiz Cláudio] Vc pode dar as características e dificuldades de uma start-up (financeira, nro de pessoas, financiamento, ...)?
* 03. [Luiz Cláudio] Vc pode dar as características e dificuldades de uma start-up (financeira, nro de pessoas, financiamento, ...)?
**  
*Um ambiente geralmente mais descontraído comparado com um ambiente corporativo, tem um numero reduzido de funcionários onde geralmente todos tem que fazer "tudo" ou seja são funcionários multifuncionais.*  
<br>
<br>


* 04. [Luiz Cláudio] Qual a atribuição do Tech Lead?
* 04. [Luiz Cláudio] Qual a atribuição do Tech Lead?
**  
*Monitorar e apoiar uma equipe, realizar uma organização e distribuição de tarefas e atuar no desenvolvimentos de correções e implementações de código em programação. São atribuições de cunho de gestão de projetos e desenvolvimento de software.*  
<br>
<br>


* 05. [Luiz Cláudio] Vc faz duas dailys por dia? É produtivo?
* 05. [Luiz Cláudio] Vc faz duas dailys por dia? É produtivo?
**  
*Sim. São duas dailys produtivas. uma geralmente de alinhamento de equipe e outra de definição.*  
<br>
<br>


* 06. [Luiz Cláudio] Projeto, configuração e manutenção de BD são suas atribuições? Vc responde bem nessa parte?
* 06. [Luiz Cláudio] Projeto, configuração e manutenção de BD são suas atribuições? Vc responde bem nessa parte?
**  
*Sim. Tanto como Techlead e como Dev Backend, na quipe onde eu trabalho não tem um DBA(Desenvolvedor de banco de dados).Sim nunca tive problemas com desenvolvimento e administração de banco.*  
<br>
<br>


* 07. [Luiz Cláudio] Pode dara um exemplo de operação (uma função) no Git?
* 07. [Luiz Cláudio] Pode dar um exemplo de operação (uma função) no Git?
**  
*"git push -é uma função que realiza o envio de arquivos do meu repositório local para o repositório em nuvem-." *  
<br>
<br>


* 08. [Luiz Cláudio] Pode explicar melhor a utilização do Insommia?
* 08. [Luiz Cláudio] Pode explicar melhor a utilização do Insommia?
**  
*Eu utilizo para realizar teste de desenvolvimento de API's.
Geralmente faço requisições para uma API (usando o protocolo http) e passo uma rota que eu crio para tratar o recebimento e o envio dos dados da API e de acordo com a requisição tenho uma resposta do software.*  
<br>
<br>


* 09. [Luiz Cláudio] Qual padrão vc usa para documentação dos programas?
* 09. [Luiz Cláudio] Qual padrão vc usa para documentação dos programas?
**  
*É utilizado geralmente um diagrama de classes(diagrama UML) isso se tratando de documentações para o time de dev's.
Documentações para o usuário são geralmente mais informais com linguagens usadas mais no dia-a-dia visando um melhor entendimento do usuário final da aplicação.*  
<br>
<br>


* 10. [Luiz Cláudio] Como você interage com o Dev front-end?
* 10. [Luiz Cláudio] Como você interage com o Dev front-end?
**  
*Tento entender a logica do layout e como o desenvolvedor front espera receber os dados tratados no backend. Recebo essas informações através das reuniões, conversas do dia-a-dia e até mesmo de duvidas que são reportadas pra mim.*  
<br>
<br>


* 11. [Luiz Cláudio] Você participa do desenvolvimento de uma aplicação que pode ser manutenida por um dev em outro país?
* 11. [Luiz Cláudio] Você participa do desenvolvimento de uma aplicação que pode ser manutenida por um dev em outro país?
**  
*Não. Pois usamos um stack's diferentes no Brasil e o que é desenvolvido por nos no Brasil apenas nos corrigimos e alteramos porem esta previsto a integração das equipes de desenvolvimento do Brasil e de fora.*  
<br>
<br>


* 12. [Luiz Cláudio] Vc trabalha numa equipe com horários flexíveis? Funciona bem?
* 12. [Luiz Cláudio] Vc trabalha numa equipe com horários flexíveis? Funciona bem?
**  
*Sim. Funciona muito bem pois deixa o funcionário mais tranquilo e mantem um nível de entrega da equipe e do funcionário individual. *  
<br>
<br>


* 13. [Luiz Cláudio] Qual a diferença entre tipagem forte e tipagem dinâmica?
* 13. [Luiz Cláudio] Qual a diferença entre tipagem forte e tipagem dinâmica?
**  
*Quando se tem uma tecnologia de tipagem forte ela não aceita que você substitua no processo de desenvolvimento o tipo de uma variável, ex: "variável x tipo int" ela não poderá receber valores de cunho diferente de int. A tipagem forte é boa pois ajuda e modulariza bem o código de uma aplicação, tudo fica bem separado diminuindo bem a chance de erro
A tipagem dinâmica ela aceita a substituição no processo de desenvolvimento porem também aceita que você informe o tipo daquela variável. Ex: "variável x=0(observando a variável x sabemos que ela é uma variável int porem ela não tem tipo definido, mas durante o desenvolvimento essa variável x poderá ser uma variável do tipo bool aceitando 0 ou 1). A tipagem dinâmica é um tipo de desenvolvimento que requer atenção e muito cuidado com as variáveis a começar pelo nome saber nomear uma variável de acordo com sua função é essencial, pois uma mesma variável poderá fazer mais de uma função, porem se você tem uma variável bem nomeada ela fara aquilo que esta descrito em seu nome."  *  
<br>
<br>


* 14. [Maria Fernanda] o que seria interessante estudar pra poder atuar nessa área de correção de bugs?
* 14. [Maria Fernanda] o que seria interessante estudar pra poder atuar nessa área de correção de bugs?
**  
*TDD(Desenvolvimento orientado a testes), conceito de testes unitários e conhecer, de acordo com onde você trabalha, algum framework de teste referente a tecnologia que é desenvolvida na empresa, conceitos de engenharia de software e saber colher requisitos de projetos.*  
<br>
<br>


* 15. [Luiz Cláudio] Como funcionam as requisições assíncronas?
* 15. [Luiz Cláudio] Como funcionam as requisições assíncronas?
**
*É tudo aquilo que é feito "por trás dos panos" sem que seja obrigatório recarregar uma pagina, Ex: em uma tela onde um botão tem a função de retornar uma soma, por padrão quando um botão é acionado, ele recarrega uma pagina, mas com uma função assíncrona é possível o carregamento da pagina realizar o calculo e já retorna-lo para o usuário sem que o mesmo perceba. É um tipo de requisição muito usada pelo fato de deixar o fluxo de uso do usuário bem fluido.*
<br>
<br>


* 16. [Davy Bittencourt] Vi que vcs utilizam a AWS, consegue dizer pra gente algum cenário onde precisou usar a nuvem pra melhorar a escalabilidade da API?
* 16. [Davy Bittencourt] Vi que vcs utilizam a AWS, consegue dizer pra gente algum cenário onde precisou usar a nuvem pra melhorar a escalabilidade da API?
**
*Tem uma API que antes era tratada toda dentro de um banco de dados, como era um BD muito extenso as consultas demoravam muito, decidimos hospedar em nuvem esse banco e tratar com cron job  os dados após transformarmos os dados em JSON, isso deixou as consultas mais rápidas e anulou a reclamação dos usuários finais de demora.*
<br>
<br>


* 17. [Luiz Cláudio] Por que usar o Bitbucket ou Git?
* 17. [Luiz Cláudio] Por que usar o Bitbucket ou Git?
**
*Bitbucket assim como github é uma ferramenta de hospedagem de versionamento de projeto. O git é o software que versiona a minha aplicação que será hospedada, você deve usar pela facilidade e escalabilidade de código, pois você consegue voltar para qualquer versão anterior de sua aplicação e resgatar seja lá o que você quiser e também outros desenvolvedores consegue trabalhar junto com você em diferentes versões e deferentes pontos.*
<br>
<br>


* 18. [Davi Lacerda] Como vc gerencia seu tempo para faculdade, trabalho e outras atividades?
* 18. [Davi Lacerda] Como vc gerencia seu tempo para faculdade, trabalho e outras atividades?
**
*Durante o dia eu priorizo as atividades do trabalho e durante a noite foco na faculdade e aos fins de semana descanso. E não deixo atividades acumularem.*
<br>
 
* 19. [Davi Lacerda] Como um dev back-end pensa sobre um programa de bug bounty?
*Infelizmente não existe o sistema perfeito, impenetrável e super seguro, pois tudo é feito por seres humanos, ou seja, bugs serão recorrentes. Programas de bug bounty são interessantes pois através deles se consegue informações sobre a qualidade do desenvolvimento e também relatórios de bugs recorrentes e onde esses bugs aparecem, pois o foco é literalmente buscar qualquer tipo de bug que possa aparecer na aplicação.*
<br>
 
* 20. [Bruno Freitas] O dev. back-end trabalha necessariamente em projetos que utilizam a web, seja como armazenamento em nuvem, ou simplesmente como requisito necessário para o funcionamento do projeto?
*O desenvolvedor backend atua em projetos onde os requisitos do projeto vão alem de requisitos de layout e design(o frontend ele pode acontecer sozinho pois é tudo aquilo que o usuário enxerga, ou seja aplicações que não tenham necessidade de armazenamento de informações ou dados. Já o backend precisa do front para acontecer e também precisa dos requisitos do front alinhados com os requisitos do back, Ex: "quando apertar um botão quero uma tela que me retorne as informações de venda do ultimo mês" esse é um tipo de requisito onde você tem o front que vai criar o bota e a tela e você tem o back que vai tratar os dados para o retorno da informação de venda do ultimo mês). *
<br>
 
* 21. [Eduardo Alvares] Qual seria uma características ou formação que seria de grande destaque para um Dev Back-end?
*Um dev Back-end não carece de uma formação especifica porem carece de uma boa logica de programação, saber criar e gerir banco de dados, realizar consultas ao banco de dados, saber receber tratar e enviar dados, ter conhecimento de API's, conhecer tipos de dados, protocolos de internet e saber trabalhar em equipe.*
<br>
 
* 22. [Maria Fernanda Nunes] Qual a tarefa mais interessante ou desafiadora que você tenha feito recentemente?
*Tarefa mais interessante: Gestão de projetos e pessoas.
Tarefa mais desafiadora: Desenvolvimento da plataforma TELO5. *
<br>
 
* 23. [Yuri Christian Marques]  Qual a linguagem mais produtiva no mercado atual para os Devs Back End?
*Não existe linguagem melhor que a outra, existe aquela linguagem que você vai se dar melhor ou a que será requisitada pelo mercado.
Atualmente se tratando de produtividade, velocidade de tratamento das informações, existem diversas linguagens, Ex: Go lang, Framework, Node js, PHP, Python, Ruby e C#.*
<br>
<br>

Edição atual tal como às 12h28min de 7 de outubro de 2021

Evolução na profissão

Minha carreira profissional começou já no ensino médio onde tive meu primeiro contato com a programação.

No segundo ano, ja decidido a me aprofundar na programação, comecei meu primeiro estagio onde consegui absorver e aprender muita coisa.

Durante o estagio melhorei minha logica de programação e tive uma base de desenvolvimento web.

Descrição da atividade atual

Minhas atividades durante o dia são divididas em:

1- Ajudar e organizar minha equipe.

2- Ajudar o time como um todo.

3- Executar minhas tarefas de código.

Geralmente costumo organizar as tarefas da minha equipe, depois apoiar o time com algumas tarefas e por ultimo executo minhas tarefas individuais.

Durante o dia também tenho participação nas reuniões de definição de projetos e Sprints.

Requisitos mínimos para exercer a profissão

O principal para exercer a profissão é ter vontade de aprender pois essa é uma área muito vasta e que muda mundo e muito rápido.

Ter uma boa lógica de programação. No geral a base da programação é muito importante para trabalhar nessa área não só a logica mas também noções gerais da área.

Saber perguntar (Fazer perguntas boas e necessárias).

Ter uma boa comunicação. Por você normalmente trabalhar em equipes a comunicação é fundamental.

Ferramentas usadas no dia-a-dia

VSCode. Editor de código.

Planner. Para elaborar as sprints..

Zoom. Para reuniões.

Insomnia. Para fazer testes de requisições de API's

Typora. Para executar a documentação do software e do codigo.

AWS services. Servidor.

MySql. Banco de dados.

Tecnologias envolvidas

Linguagens: Lara(framework PHP). Atualmente está sendo a mais usada na parte de back na minha empresa.

Na parte do front: Java script, HTML, CSS, Bootstrap.

Na profissão e trabalho com gerenciamento de banco de dados, manutenção dos servidores, deploy para os servidores, programação para web, integração dos programas com as API's

A metodologia ágil que usamos na empresa é o agile que é uma derivada do Scrum.

Ética profissional

Essa é uma profissão que exige ética o tempo inteiro, principalmente por trabalhar muito com dados pessoais e muitas informações em geral.

Um caso que aconteceu recentemente foi uma pessoa que saiu da empresa, mas fez uma copia da planilha ,foi para uma outra empresa rival e mostrou para eles todos os dados de clientes, formas de calculo. Por isso que a empresa decidiu passar para plataforma para o funcionário não ter acesso tão fácil a esses dados.

Exemplo de resultado tangível

Plataformas:

Irriger connect. Por ser uma empresa multinacional essa plataforma tem 6 linguagens e é a plataforma principal da empresa. Trabalho principalmente na correção de bugs da plataforma.

Telo5(projeto que peguei do 0). Projeto que estou trabalhando atualmente e sua versão mobile.

Valley365. Trabalho mais na correção de bugs pois já estava pronto quando entrei na empresa.

Upload da apresentação

- https://youtu.be/mROR0iLjkjU

Pesquisa


API (application programing interface) é um conjunto de normas que permite a comunicação entre aplicativos/plataformas sem que seja necessário saber sobre a implementação do app que tem uma API.

Uma API permite que um software use certos recursos do software que tem a API com mais facilidade sem que seja necessária um conhecimento vasto sobre a implementação do mesmo.

O google maps por exemplo tem uma API muito usada por outros softwares, esta API permite que o software receba varias informações que existem no Maps(localizações, rotas e etc...) e use essas informações para melhorar a sua aplicação. Tudo isso sem ter que saber sobre a implementação em si do Google Maps, tudo isso por meio de uma API.

Um exemplo de integrações usando API's é o whatsapp que utiliza a lista de contatos do telefone. E outro exemplo comum é a integração do instagram com o facebook que permite por exemplo que uma foto seja postada nos dois app's simultaneamente.

Pode-se separar API's em 4 tipos:

-Publicas ou Abertas: Estão disponíveis para desenvolvedores e outros usuários de forma publica e tem poucas restrições.

-Privadas ou Internas: São ocultadas de usuários externos e usadas somente para sistemas internos de uma empresa. Elas são usadas internamente em uma empresa, entre equipes, para melhorar a produtividade.

-API's de parceiros: API's expostas para parceiros da empresa.

-API's compostas: API's que combinam vários dados de outras API's.

Em resumo uma API é como um garçom, ela recebe pedidos, vai até o programa, pega o que foi solicitado e entrega para quem pediu. Basicamente um facilitador que ajuda na comunicação entre aplicações.

Atualmente as API's são muito utilizadas e extremamente úteis para desenvolvedores, saber trabalhar com elas é muito útil e atualmente esta sendo necessário pois elas estão em todos os lugares.


Dúvidas


  • 01. [Luiz Cláudio] Trabalha com IoT ou GPS? Se sim, quais as integrações vc faz?
  • Sim. Ela se chama INS, ele consegue mapear as areas onde esta "setado", ele usa satélites que transmitem sinais com informações e o receptor desse sinais consegue computar a posição e a velocidade de algum "objeto", ela é muito usada em movimentações autônomas.*


  • 02. [Luiz Cláudio] Em que sentido o curso técnico te ajudou?
  • Me ajudou a ter um planejamento de carreira, ter uma base de metodologias ágeis e me inseriu no mundo da programação e me aprofundar nele.*


  • 03. [Luiz Cláudio] Vc pode dar as características e dificuldades de uma start-up (financeira, nro de pessoas, financiamento, ...)?
  • Um ambiente geralmente mais descontraído comparado com um ambiente corporativo, tem um numero reduzido de funcionários onde geralmente todos tem que fazer "tudo" ou seja são funcionários multifuncionais.*


  • 04. [Luiz Cláudio] Qual a atribuição do Tech Lead?
  • Monitorar e apoiar uma equipe, realizar uma organização e distribuição de tarefas e atuar no desenvolvimentos de correções e implementações de código em programação. São atribuições de cunho de gestão de projetos e desenvolvimento de software.*


  • 05. [Luiz Cláudio] Vc faz duas dailys por dia? É produtivo?
  • Sim. São duas dailys produtivas. uma geralmente de alinhamento de equipe e outra de definição.*


  • 06. [Luiz Cláudio] Projeto, configuração e manutenção de BD são suas atribuições? Vc responde bem nessa parte?
  • Sim. Tanto como Techlead e como Dev Backend, na quipe onde eu trabalho não tem um DBA(Desenvolvedor de banco de dados).Sim nunca tive problemas com desenvolvimento e administração de banco.*


  • 07. [Luiz Cláudio] Pode dar um exemplo de operação (uma função) no Git?
  • "git push -é uma função que realiza o envio de arquivos do meu repositório local para o repositório em nuvem-." *


  • 08. [Luiz Cláudio] Pode explicar melhor a utilização do Insommia?
  • Eu utilizo para realizar teste de desenvolvimento de API's.

Geralmente faço requisições para uma API (usando o protocolo http) e passo uma rota que eu crio para tratar o recebimento e o envio dos dados da API e de acordo com a requisição tenho uma resposta do software.*

  • 09. [Luiz Cláudio] Qual padrão vc usa para documentação dos programas?
  • É utilizado geralmente um diagrama de classes(diagrama UML) isso se tratando de documentações para o time de dev's.

Documentações para o usuário são geralmente mais informais com linguagens usadas mais no dia-a-dia visando um melhor entendimento do usuário final da aplicação.*

  • 10. [Luiz Cláudio] Como você interage com o Dev front-end?
  • Tento entender a logica do layout e como o desenvolvedor front espera receber os dados tratados no backend. Recebo essas informações através das reuniões, conversas do dia-a-dia e até mesmo de duvidas que são reportadas pra mim.*


  • 11. [Luiz Cláudio] Você participa do desenvolvimento de uma aplicação que pode ser manutenida por um dev em outro país?
  • Não. Pois usamos um stack's diferentes no Brasil e o que é desenvolvido por nos no Brasil apenas nos corrigimos e alteramos porem esta previsto a integração das equipes de desenvolvimento do Brasil e de fora.*


  • 12. [Luiz Cláudio] Vc trabalha numa equipe com horários flexíveis? Funciona bem?
  • Sim. Funciona muito bem pois deixa o funcionário mais tranquilo e mantem um nível de entrega da equipe e do funcionário individual. *


  • 13. [Luiz Cláudio] Qual a diferença entre tipagem forte e tipagem dinâmica?
  • Quando se tem uma tecnologia de tipagem forte ela não aceita que você substitua no processo de desenvolvimento o tipo de uma variável, ex: "variável x tipo int" ela não poderá receber valores de cunho diferente de int. A tipagem forte é boa pois ajuda e modulariza bem o código de uma aplicação, tudo fica bem separado diminuindo bem a chance de erro

A tipagem dinâmica ela aceita a substituição no processo de desenvolvimento porem também aceita que você informe o tipo daquela variável. Ex: "variável x=0(observando a variável x sabemos que ela é uma variável int porem ela não tem tipo definido, mas durante o desenvolvimento essa variável x poderá ser uma variável do tipo bool aceitando 0 ou 1). A tipagem dinâmica é um tipo de desenvolvimento que requer atenção e muito cuidado com as variáveis a começar pelo nome saber nomear uma variável de acordo com sua função é essencial, pois uma mesma variável poderá fazer mais de uma função, porem se você tem uma variável bem nomeada ela fara aquilo que esta descrito em seu nome." *

  • 14. [Maria Fernanda] o que seria interessante estudar pra poder atuar nessa área de correção de bugs?
  • TDD(Desenvolvimento orientado a testes), conceito de testes unitários e conhecer, de acordo com onde você trabalha, algum framework de teste referente a tecnologia que é desenvolvida na empresa, conceitos de engenharia de software e saber colher requisitos de projetos.*


  • 15. [Luiz Cláudio] Como funcionam as requisições assíncronas?
  • É tudo aquilo que é feito "por trás dos panos" sem que seja obrigatório recarregar uma pagina, Ex: em uma tela onde um botão tem a função de retornar uma soma, por padrão quando um botão é acionado, ele recarrega uma pagina, mas com uma função assíncrona é possível o carregamento da pagina realizar o calculo e já retorna-lo para o usuário sem que o mesmo perceba. É um tipo de requisição muito usada pelo fato de deixar o fluxo de uso do usuário bem fluido.*


  • 16. [Davy Bittencourt] Vi que vcs utilizam a AWS, consegue dizer pra gente algum cenário onde precisou usar a nuvem pra melhorar a escalabilidade da API?
  • Tem uma API que antes era tratada toda dentro de um banco de dados, como era um BD muito extenso as consultas demoravam muito, decidimos hospedar em nuvem esse banco e tratar com cron job os dados após transformarmos os dados em JSON, isso deixou as consultas mais rápidas e anulou a reclamação dos usuários finais de demora.*


  • 17. [Luiz Cláudio] Por que usar o Bitbucket ou Git?
  • Bitbucket assim como github é uma ferramenta de hospedagem de versionamento de projeto. O git é o software que versiona a minha aplicação que será hospedada, você deve usar pela facilidade e escalabilidade de código, pois você consegue voltar para qualquer versão anterior de sua aplicação e resgatar seja lá o que você quiser e também outros desenvolvedores consegue trabalhar junto com você em diferentes versões e deferentes pontos.*


  • 18. [Davi Lacerda] Como vc gerencia seu tempo para faculdade, trabalho e outras atividades?
  • Durante o dia eu priorizo as atividades do trabalho e durante a noite foco na faculdade e aos fins de semana descanso. E não deixo atividades acumularem.*


  • 19. [Davi Lacerda] Como um dev back-end pensa sobre um programa de bug bounty?
  • Infelizmente não existe o sistema perfeito, impenetrável e super seguro, pois tudo é feito por seres humanos, ou seja, bugs serão recorrentes. Programas de bug bounty são interessantes pois através deles se consegue informações sobre a qualidade do desenvolvimento e também relatórios de bugs recorrentes e onde esses bugs aparecem, pois o foco é literalmente buscar qualquer tipo de bug que possa aparecer na aplicação.*


  • 20. [Bruno Freitas] O dev. back-end trabalha necessariamente em projetos que utilizam a web, seja como armazenamento em nuvem, ou simplesmente como requisito necessário para o funcionamento do projeto?
  • O desenvolvedor backend atua em projetos onde os requisitos do projeto vão alem de requisitos de layout e design(o frontend ele pode acontecer sozinho pois é tudo aquilo que o usuário enxerga, ou seja aplicações que não tenham necessidade de armazenamento de informações ou dados. Já o backend precisa do front para acontecer e também precisa dos requisitos do front alinhados com os requisitos do back, Ex: "quando apertar um botão quero uma tela que me retorne as informações de venda do ultimo mês" esse é um tipo de requisito onde você tem o front que vai criar o bota e a tela e você tem o back que vai tratar os dados para o retorno da informação de venda do ultimo mês). *


  • 21. [Eduardo Alvares] Qual seria uma características ou formação que seria de grande destaque para um Dev Back-end?
  • Um dev Back-end não carece de uma formação especifica porem carece de uma boa logica de programação, saber criar e gerir banco de dados, realizar consultas ao banco de dados, saber receber tratar e enviar dados, ter conhecimento de API's, conhecer tipos de dados, protocolos de internet e saber trabalhar em equipe.*


  • 22. [Maria Fernanda Nunes] Qual a tarefa mais interessante ou desafiadora que você tenha feito recentemente?
  • Tarefa mais interessante: Gestão de projetos e pessoas.

Tarefa mais desafiadora: Desenvolvimento da plataforma TELO5. *

  • 23. [Yuri Christian Marques] Qual a linguagem mais produtiva no mercado atual para os Devs Back End?
  • Não existe linguagem melhor que a outra, existe aquela linguagem que você vai se dar melhor ou a que será requisitada pelo mercado.

Atualmente se tratando de produtividade, velocidade de tratamento das informações, existem diversas linguagens, Ex: Go lang, Framework, Node js, PHP, Python, Ruby e C#.*