|
|
| (37 revisões intermediárias por 5 usuários não estão sendo mostradas) |
| Linha 1: |
Linha 1: |
| = Evolução na profissão = | | = Evolução na profissão = |
| <p>O desenvolvedor back-end precisa ser bom em raciocínio lógico e ter conhecimento das ferramentas que utilizará. Raciocínio lógico é estimulado, para tal fim as maratonas de programações ajudam muito, pois é preciso solucionar problemas, para isso, é exigido que o programador pense, teste o código, analisa onde errou e tente arrumar o problema, assim, contribui para a formação do back-end, pois antes de começar um projeto, você deve pensar em como irá realizar, durante o projeto, no meio dos testes, se surgirem problemas, é necessário corrigi-los, e nesse momento, ser humilde para aceitar ajuda de outras pessoas.</p>
| | Começou sua interação com a programação no curso de Sistema de Informação no Centro Universitário de Patos de Minas. Após o termino do curso, começou um estágio na Quick Mobile Brasil, e em 2016 foi para a Zup, onde está atualmente. |
| <br>
| |
| <p>Além disso, a maioria das faculdades se preocupam mais com o ensino do raciocínio, pois é algo fundamental dentro de uma empresa. Quanto ao ensino das ferramentas e linguagens de programação, é melhor abordado em cursos técnicos e nos estágios, pois como para cada paradigma existem várias linguagens de programação, fica a critério do consumidor escolher qual será usada no projeto.</p>
| |
| <br>
| |
| <p>Quanto ao programador back-end, Luiz Gustavo, participou de várias maratonas, participou do projeto Ciência sem fronteira, tendo mais contato com o back-end, fez estágio e agora trabalha na ZUP. Toda essa carreira possibilitou que ele aumentasse seu conhecimento tanto no raciocínio logico quanto nas ferramentas que ele utiliza, e sempre ele está estudando, pois a cada momento surgem ferramentas e linguagens de programação novas, com o intuito de facilitar determinados trabalhos, podendo ser crucial no desenvolvimento de um projeto</p>
| |
| | |
| <br> | | <br> |
|
| |
|
| = Descrição da atividade atual = | | = Descrição da atividade atual = |
| <p>Normalmente os desenvolvedores realizam uma daily, que é uma reunião em que cada programador do projeto deve falar se tem alguma dificuldade e o seu progresso, deixando todos os envolvidos fiquem informados do andamento do projeto e, se necessário, possam auxiliar os demais. Após essa reunião, o desenvolvedor precisa ver o que ele precisa desenvolver, para isso, normalmente, é utilizado softwares para essa distribuição, como o Jira, que permite que o desenvolvedor organize as tarefas já feitas, em andamento e para fazer. Após decidir qual tarefa ele irá realizar primeiro, pensar como irá realizar, o dev começa a, de fato, programar, e conforme programando, ele realiza os testes unitários para ver se está tudo OK.</p>
| |
| <br>
| |
| <p>
| |
| Após tudo pronto, testado, o dev realiza o teste integrado, que é para analisar se a aplicação como um todo está funcionando como desejado, se necessário, após esse teste, caso exista erros, o programador precisa solucioná-los, e depois de solucionados, o projeto passa pelo teste novamente.</p>
| |
| <br>
| |
| <p>
| |
| Ao entregar o projeto final ao comprador, ainda tem o prazo de manutenção, que é quando o programa é liberado para ser usado, e se ocorrer algum problema ao fazer o uso o dev back-end é constatado e o mesmo precisa procurar uma solução.</p>
| |
|
| |
|
| |
|
| | Sua atividade atual é baseada em trabalhos com equipes formadas por desenvolvedores não só de back-end, mas também de front-end, no qual o objetivo é fazer aplicativos, sistemas, programas, entre outros. |
| <br> | | <br> |
|
| |
|
| = Requisitos mínimos para exercer a profissão = | | = Requisitos mínimos para exercer a profissão = |
| * Domínio de sistemas operacionais Linux e/ou baseados em Unix, incluindo SOs
| | A pessoa precisa ser muito boa em lógica, pois isso é utilizado diáriamente, até nos problemas mais simples. Além disso é preciso que a pessoa seja autodidata, pois como a programacao e a computacao estão em constante evolução, é preciso que o mesmo atualize-se sempre. |
| (Sistemas Operacionais) específicos para servidores;
| |
| * Um bom conhecimento das IDE onde ele irá desenvolver os projetos;
| |
| *Conhecimento em linguagens usadas para ambiente web, como Python, PHP,
| |
| Javascript, entre outras;
| |
| *Integração com APIs (Application Programming Interface ou Interface de
| |
| Programação de Aplicativos) e ambientes em nuvem;
| |
| *Criação de banco de dados bem como o gerenciamento e integração com outras
| |
| aplicações;
| |
| *Ficar atento às mudanças das linguagens e o surgimentos de novas ferramentas e
| |
| se adaptá-las devidamente;
| |
| *Conseguir utilizar de uma forma eficaz a POO (Programação Orientada a
| |
| Objetos);
| |
| *E por fim, um bom currículo ajuda, porém os contratantes observam se o
| |
| profissional é bom e se interessa em solucionar problemas.
| |
| <br>
| |
|
| |
|
| = Ferramentas usadas no dia-a-dia = | | = Ferramentas usadas no dia-a-dia = |
| <p>É indiscutível que algumas ferramentas que facilitam e que são indispensáveis
| | - Git, Java, C#, Jenkins. |
| para um desenvolvedor Backend no seu dia a dia.</p>
| |
| <br>
| |
| <p>Entre as importantes ferramentas utilizadas uma das principais é a IDE
| |
| (Integrated Development Environment ou Ambiente Integrado de Desenvolvimento),
| |
| seu uso é inevitável já que é onde o profissional desenvolve o seu código, além disso,
| |
| geralmente ela facilita bastante o trabalho do programador, agilizando o
| |
| desenvolvimento executando funções como dar sugestões de código, indentação
| |
| automática e entre outros. O profissional apresentado faz uso do Netbeans que é um
| |
| software livre multiplataforma frequentemente utilizado para projetos em Java. Outra
| |
| IDE bem eficiente e comum no mercado de trabalho, porém paga, utilizada por ele é o
| |
| Intellij.</p>
| |
| <br>
| |
| <p>Ademais, entre as ferramentas usadas está o software livre Hibernate que é o
| |
| Framework Java mais utilizado no mercado e faz o mapeamento das classes Java para
| |
| as tabelas de banco de dados; sua principal função é fazer esse mapeamento,
| |
| economizando esforço e preocupações a tal tarefa. Outros softwares manipulados por
| |
| ele nesse campo de banco de dados são o Oracle e o Mysql onde ambos são sistemas de
| |
| gerenciamento em banco de dados.</p>
| |
| <br>
| |
| <p>E por fim, uma ferramenta bastante comum utilizada por ele e todos os níveis de
| |
| desenvolvedores é o Github que é um site onde eles podem hospedar os seus projetos
| |
| ,que ficam armazenados na nuvem, em que também é possível interagir com outros | |
| programadores e seus projetos além de poder pegar e modificar os seus códigos. </p>
| |
| <br>
| |
|
| |
|
| = Tecnologias envolvidas = | | = Tecnologias envolvidas = |
|
| |
|
| <p>O desenvolvedor back-end atua em uma fronte lógica e específica da criação do software. Sendo assim, utiliza diversas tecnologias para de forma mais eficiente criar programas que atendam ao usuário e a empresa. Banco de dados, linguagens de programação e criptografia por exemplo são tecnologias das quais ele utiliza. Não são as únicas já que a cada dia que passa surgem novas tecnologias, por conseguinte, uma outra "tecnologia" do profissional é sempre estudar e estar atualizado. </p>
| | Uma tecnologia utilizada, é o Docker., que é uma ferramenta que fornece uma camada adicional de abstração e automação de virtualização de nível de sistema no Windows e no Linux. |
| <br>
| | <br/> |
| <p>Devido a necessidade de armazenar informações em forma de dados, os bancos de dados foram criados, e quem os aplica são os Dev. Backends. São divididos em dois tipos: </p>
| |
| <br>
| |
| *Bancos de dados Relacionais (SQL):
| |
| <p>Previamente seu tamanho já é definido pelo programador, tem um esquema de tabelas para armazenar os dados e isso trás mais consistência nos dados. Logo, pontos fortes dos BDR's são sua confiabilidade e maturidade. </p>
| |
| <br>
| |
| *Bancos de dados Não-relacionais(NoSQL):
| |
| <p>Não precisam ser previamente projetados, devido a isso esses modelos tem uma exacerbada escalabilidade. Outro ponto a ser citado é sua flexibilidade de estruturação, que facilita a inserção e acesso aos dados, além da possibilidade de manipulação dos dados por API's. No entanto, o NoSQL não e maduro e confiável a nível do SQL. </p>
| |
| <br>
| |
| <p>Logo, quando se precisa de confiabilidade na aplicação se usa o SQR, e quando se quer eficiência mas perdendo um pouco de segurança se opta pelo NoSQL. </p>
| |
| <br>
| |
| <p>Outras tecnologias também utilizadas pelos Dev.Back-Ends são as linguagens de programação e criptografias. </p>
| |
| <br>
| |
| <p>Go,Cloujure,C#,PHP,Java,Python,Ruby são exemplos das linguagens mais usadas. Desde paradigmas funcionais, até linguagens multi paradigmas como ruby. O domínio de algumas delas são essenciais para esse profissional. </p>
| |
| <br>
| |
| <p>Devido a existência de informações sigilosas também foram criadas formas de fazer criptografia para os dados armazenados no computador. O conhecimento de algumas formas pode ser um diferencial para o programador, entender como uma chave funciona e a quantidade de possíveis chaves daquele tamanho remetem a necessidade de optar por mais segurança ou não no desenvolvimento. </p>
| |
| <br>
| |
| <p>Exemplos de algumas criptografias que deparamos no dia-a-dia: </p>
| |
| <br>
| |
| *Ponta-a-ponta, usada no whatsApp, gera chaves para cada conversa e apenas as pessoas presentes na conversa tem acesso a essas informações.
| |
| *O protocolo https também funciona com criptografia para o acesso seguro de dados entre o servidor e o usuário via internet.
| |
| <br> | |
| <p>Portando, fica evidente, que o profissional de Desenvolvimento Back-End deve estar sempre muito bem atualizado e armado com um arsenal de tecnologias as quais o levem a desenvolver softwares de qualidade, seguros e eficientes. </p>
| |
| | |
| <br>
| |
|
| |
|
| = Ética profissional = | | = Ética profissional = |
| <p>É evidente que a tecnologia cresce muito, e além de afetar diversas outras áreas, a sua responsabilidade perante a desastres que podem vir a ocorrer aumenta drasticamente. Logo, deve se observar que a ética na profissão de TI começa a tomar expressiva importância, tendo como ideia de que qualquer tecnologia pode ser usada para o mal. Sendo assim, como um código de ética para o desenvolvimento de software é inexistente, sua implementação se torna necessária, assim como ocorreu em outras profissões como a medicina.</p>
| | |
| <br>
| | A situação na qual o entrevistado disse ter utilizado ética, se aplica no acontecimento no qual ele e mais um grupo de pessoas não sabiam se a licença do programa utilizado por eles contemplava todo o pessoal envolvido no projeto. Diante disso eles tiveram que entrar em contato com o administrativo e pedir para verificar com a empresa contrata a quantidade de sessões permitidas. |
| <p>Perante os motivos aos quais se deve a implementação desse código de ética, se encontram os seguintes pontos.</p>
| |
| <br>
| |
| * Desenvolver programas para uma determinada instituição, que, fere os princípios da lei em função de trazer benefícios à mesma.
| |
| Ex: Um programa que faz a "soma errada" e faça com que a empresa sonegue os impostos.
| |
| *Existem muitos outros pontos, como roubo de informações, cópias ilegais, pois os desenvolvedores back-end têm acesso aos cadastros dos usuários, podendo conter dado de cartões bancários.
| |
| <br>
| |
| <p>Dessa forma, é necessário que os programadores sejam éticos, já que eles têm acesso a informações importantes das pessoas.</p>
| |
|
| |
|
| <br> | | <br> |
|
| |
|
| = Exemplo de resultado tangível = | | = Exemplo de resultado tangível = |
| * O programador Luiz Gustavo, participa de um projeto que para a abertura de contas bancárias onlines.
| | |
| | Não foi citado um exemplo de resultado tangível, apenas foi citado que o Docker é ocasionalmente utilizado para concluir os trabalhos que são de responsabilidade dele e de sua equipe. |
| <br> | | <br> |
|
| |
|
| = Upload da apresentação = | | = Upload da apresentação = |
| * Colocar aqui o link ou o arquivo da apresentação | | * https://prezi.com/view/RAyWnVsDaXdXTXxD8Wr9/ |
| | **[[Arquivo:GBC021 - Resumo Profissões - Administrador de Banco de Dados.pdf]] |
| <br> | | <br> |
|
| |
|
| Linha 118: |
Linha 38: |
| <br> | | <br> |
|
| |
|
| * 01. Como é que o trabalho desenvolvido pelo Dev Back-end se "encaixa" no trabalho a ser desenvolvido pelo Dev Front-End? | | * 01. O curso é preparatorio para o mercado de trabalho? |
| **O front-end liga o back-end com o usuário, por meio da interface dos aplicativos, ele pegando os dados necessário e transfere para o desenvolvedor back, que tem como responsabilidade processar esses dados que serão retornados para o usuário por meio do front ou enviados para o banco de dados.
| | ** R- O curso é preparatório em relação a lógica que você precisa ter para a área da programação. |
| <br>
| |
| | |
| * 02. Descreva os principais ambientes utilizados pelo Dev Back-End para desenvolver um trabalho (Pode ser relativo a um projeto específico).
| |
| ** Normalmente o dev-back trabalha com 4 ambientes, esses ambientes são responsáveis por rodar a aplicação na etapa que o projeto está. As etapas são: local – para testes da própria feature, desenvolvimento – para juntar várias features e sprint, homologação – para validar e certificar as features e produção – para ser usado por clientes reais. | |
| <br>
| |
| | |
| * 03. Quais são as skills de quem trabalha nesta área?
| |
| ** As skills de quem trabalha nessa área é o raciocínio lógico e a facilidade para solucionar problemas, e essas skill podem ser adquiridas com maratonas de programação.
| |
| <br> | | <br> |
|
| |
|
| * 04.O que é um ''framework''? Dê alguns exemplos e a utilização de cada um? | | * 02. Como você decidiu entrar nessa área da computação? |
| ** | | ** R- Entrei nessa área porque sempre gostei de jogos, e também foi algo que me desafiou, e ao mesmo tempo me senti realizado a sempre ir progredindo em problemas que para algumas pessoas pareciam impossíveis. |
| <br> | | <br> |
|
| |
|
| * 05. Escalabilidade e Disaster Recovery: O que são estas grandes preocupações no mundo Dev Back-End?. Dar exemplos. | | * 03. Quais funções você exerce na ZUP(detalhes)? |
| ** | | ** R- Sou programador Back End, porém conheço a maioria das áreas da ZUP. |
| <br> | | <br> |
|
| |
|
| * 06. Qual a diferença entre Teste unitário e Teste Integrado? Utiliza alguma ferramenta nestes casos? | | * 04. Na sua opinião, há diferença na contratação entre um profissional formado em Universidade pública e particular, na área da computação? |
| ** Teste unitário – teste feito em uma função, num método específico. Teste integrado é um teste realizado na aplicação real, testa todas as funções juntas, normalmente utiliza-se cucumber ou postamn para esses testes | | ** R- Não, o que diferencia é a vontade que a pessoa tem de ir longe. |
| <br> | | <br> |
|
| |
|
| * 07. Como funciona o JSON? Dê alguns exemplos | | * 05. Quais características uma pessoa precisa ter para ser programador de Back-End? |
| ** | | ** R- A pessoa precisa ser muito boa em lógica, pois isso é utilizado diariamente, até nos problemas mais simples. Além disso é preciso que a pessoa seja autodidata, pois como a programação e a computação estão em constante evolução, é preciso que o mesmo atualize-se sempre. |
| <br> | | <br> |
|
| |
|
| * 08. Para que serve o Scrum? Utiliza alguma cerimônia? Qual e como? | | * 06. Quais ferramentas você usa no seu dia a dia, tanto para produtividade tanto para a questão da programação/desenvolvimento de sistemas? |
| ** | | ** R- Git, Java, C#, Jenkins. |
| <br> | | <br> |
|
| |
|
| * 09. De que forma o trabalho do Dev Back-End se integra com o DBA? | | * 07. Você poderia citar alguma tecnologia interessante, que ajude no desenvolvimento do sistema, ou entao na produtividade? |
| **O back-end faz a ligação do banco de dados com o front-end, os dados que foram pegos e processados, se necessário, são armazenados no banco de dados, e o back-end tem a responsabilidade de salvar essas informações no banco de dados que foi escolhido para o projeto | | ** R- Docker. |
| | |
| | |
| <br> | | <br> |
|
| |
|
| * 10. Cite algum caso de idoneidade (ou falta) que tenha conhecimento de um profissional ligado a Back-end. | | * 08. Como a ética se aplica na sua profissão? |
| ** | | ** R- A ética é necessária por exemplo para reconhecer quando voce está errado, pois muitas vezes o trabalho é realizado em equipes, então a ética é de extrema importância. |
| <br> | | <br> |
Evolução na profissão
Começou sua interação com a programação no curso de Sistema de Informação no Centro Universitário de Patos de Minas. Após o termino do curso, começou um estágio na Quick Mobile Brasil, e em 2016 foi para a Zup, onde está atualmente.
Descrição da atividade atual
Sua atividade atual é baseada em trabalhos com equipes formadas por desenvolvedores não só de back-end, mas também de front-end, no qual o objetivo é fazer aplicativos, sistemas, programas, entre outros.
Requisitos mínimos para exercer a profissão
A pessoa precisa ser muito boa em lógica, pois isso é utilizado diáriamente, até nos problemas mais simples. Além disso é preciso que a pessoa seja autodidata, pois como a programacao e a computacao estão em constante evolução, é preciso que o mesmo atualize-se sempre.
Ferramentas usadas no dia-a-dia
- Git, Java, C#, Jenkins.
Tecnologias envolvidas
Uma tecnologia utilizada, é o Docker., que é uma ferramenta que fornece uma camada adicional de abstração e automação de virtualização de nível de sistema no Windows e no Linux.
Ética profissional
A situação na qual o entrevistado disse ter utilizado ética, se aplica no acontecimento no qual ele e mais um grupo de pessoas não sabiam se a licença do programa utilizado por eles contemplava todo o pessoal envolvido no projeto. Diante disso eles tiveram que entrar em contato com o administrativo e pedir para verificar com a empresa contrata a quantidade de sessões permitidas.
Exemplo de resultado tangível
Não foi citado um exemplo de resultado tangível, apenas foi citado que o Docker é ocasionalmente utilizado para concluir os trabalhos que são de responsabilidade dele e de sua equipe.
Upload da apresentação
Dúvidas
- 01. O curso é preparatorio para o mercado de trabalho?
- R- O curso é preparatório em relação a lógica que você precisa ter para a área da programação.
- 02. Como você decidiu entrar nessa área da computação?
- R- Entrei nessa área porque sempre gostei de jogos, e também foi algo que me desafiou, e ao mesmo tempo me senti realizado a sempre ir progredindo em problemas que para algumas pessoas pareciam impossíveis.
- 03. Quais funções você exerce na ZUP(detalhes)?
- R- Sou programador Back End, porém conheço a maioria das áreas da ZUP.
- 04. Na sua opinião, há diferença na contratação entre um profissional formado em Universidade pública e particular, na área da computação?
- R- Não, o que diferencia é a vontade que a pessoa tem de ir longe.
- 05. Quais características uma pessoa precisa ter para ser programador de Back-End?
- R- A pessoa precisa ser muito boa em lógica, pois isso é utilizado diariamente, até nos problemas mais simples. Além disso é preciso que a pessoa seja autodidata, pois como a programação e a computação estão em constante evolução, é preciso que o mesmo atualize-se sempre.
- 06. Quais ferramentas você usa no seu dia a dia, tanto para produtividade tanto para a questão da programação/desenvolvimento de sistemas?
- R- Git, Java, C#, Jenkins.
- 07. Você poderia citar alguma tecnologia interessante, que ajude no desenvolvimento do sistema, ou entao na produtividade?
- 08. Como a ética se aplica na sua profissão?
- R- A ética é necessária por exemplo para reconhecer quando voce está errado, pois muitas vezes o trabalho é realizado em equipes, então a ética é de extrema importância.