| (16 revisões intermediárias pelo mesmo usuário não estão sendo mostradas) | |||
| Linha 1: | Linha 1: | ||
= Evolução na profissão = | = 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. | |||
<br> | <br> | ||
= Descrição da atividade atual = | = 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. | |||
<br> | <br> | ||
= Requisitos mínimos para exercer a profissão = | = 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. | |||
<br> | <br> | ||
= Ferramentas usadas no dia-a-dia = | = 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. | |||
<br> | <br> | ||
= Tecnologias envolvidas = | = 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. | |||
<br> | <br> | ||
= Ética profissional = | = É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. | |||
<br> | <br> | ||
= Exemplo de resultado tangível = | = 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. | |||
<br> | <br> | ||
= Upload da apresentação = | = Upload da apresentação = | ||
- | - https://youtu.be/mROR0iLjkjU | ||
<br> | <br> | ||
| Linha 45: | Linha 80: | ||
<br> | <br> | ||
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 | * 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> | <br> | ||
* 19. [Davi Lacerda] Como um dev back-end pensa sobre um programa de bug bounty? | * 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> | <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? | * 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> | <br> | ||
* 21. [Eduardo Alvares] Qual seria uma características ou formação que seria de grande destaque para um Dev Back-end? | * 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> | <br> | ||
* 22. [Maria Fernanda Nunes] Qual a tarefa mais interessante ou desafiadora que você tenha feito recentemente? | * 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> | <br> | ||
* 23. [Yuri Christian Marques] Qual a linguagem mais produtiva no mercado atual para os Devs Back End? | * 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#.*