Ffz123456 (discussão | contribs)
 
(18 revisões intermediárias por 3 usuários não estão sendo mostradas)
Linha 6: Linha 6:
Telefone: (34) 9277-4040
Telefone: (34) 9277-4040
= Evolução na profissão =
= Evolução na profissão =
O profissional Jean conheceu programação cerca de um mês antes de entrar para a Faculdade de Sistemas de Informação na UFU. A primeira linguagem de programação que aprendeu foi Java. Ele entrou na Empresa Júnior Techmob logo em seu primeiro semestre e ficou durante 4 anos. Foi presidente, gestor de projetos, analista de requisitos, supervisor. Adquiriu conhecimento em programação, banco de dados, gestão de projetos, e desenvolveu diversos sistemas ao longo de sua graduação. Atualmente trabalha na empresa TQI - Empresa de software em Uberlândia.
* O profissional Jean conheceu programação cerca de um mês antes de entrar para a Faculdade de Sistemas de Informação na UFU. A primeira linguagem de programação que aprendeu foi Java. Ele entrou na Empresa Júnior Techmob logo em seu primeiro semestre e ficou durante 4 anos. Foi presidente, gestor de projetos, analista de requisitos, supervisor. Adquiriu conhecimento em programação Web (php) , banco de dados, gestão de projetos, e desenvolveu diversos sistemas ao longo de sua graduação. Atualmente trabalha na empresa TQI - Empresa de software em Uberlândia e participa de projetos de Front-End e Back-End, utilizando a linguagem java como principal tecnologia.
<br>
 
= Requisitos mínimos para exercer a profissão =
* Um Full Stack tem que estar sempre curioso, não pode ser um profissional acomodado, deve estar sempre interessado em aprender mais com os outros a sua volta. Por ser múltiplo, não pode direcionar toda a sua atenção a um determinado assunto, tem que saber a hora de parar uma determinada especialização e partir pra outra, então requer paciência e bom controle de foco. É importante certificar seu conhecimento, pois serve para reconhecer e dar mais credibilidade, além de que muitas empresas exigem no mercado de trabalho. Algumas certificações são: Java(OCA, OPL, OCE), Certificação Oracle Database, Spring Certificate. Além disso, é fundamental que o profissional conhecer técnicas que aprimoram o trabalho em equipe, sabendo lidar com gerência de projetos e utilizar ou conhecer as práticas de desenvolvimento Ágil.


= Descrição da atividade atual =
Informar sobre a atividade real do profissional, seja técnica ou administrativa. Apontar situações que envolvem alto nível de responsabilidade e seus possíveis impactos sobre o negócio ou pessoas. Se possível, demonstrar ao vivo e a cores, alguma atividade diária.
<br>


= Requisitos mínimos para exercer a profissão =
Identificar algumas formações necessárias para que o profissional adquira a capacitação necessária para a função. Importante citar certificações da área ou tópicos vistos na escola que merecem aprofundamento. Em alguns casos, citar formações fora da área, como, Gerência de Projetos, Práticas como Desenvolvimento Ágil ou outras como administração, economia, etc.
<br>
<br>


= Ferramentas usadas no dia-a-dia =
= Ferramentas usadas no dia-a-dia =
A profissão exige conhecimento considerável tanto no
* A profissão exige conhecimento considerável tanto no Front-End quanto no Back-End. Desse modo, a quantidade de ferramentas é grande.
Front-End quanto no Back-End. Desse modo, a quantidade de ferramentas é grande.
* Podemos citar:  
Podemos citar: Eclipse, Netbeans, Intelli J, Sublime Text 3, Notepadd++, Atom.
** Eclipse, Netbeans, Intelli J, Sublime Text 3, Notepadd++, Atom. Frameworks Bootstrap(Front End), Spring MVC (Java).  
Frameworks Bootstrap(Front End), Spring MVC (Java). O automatizador de deploys
* O automatizador de deploys Jenkins, o qual é útil para agilizar o desenvolvimento dos projetos.  
Jenkins, o qual é útil para agilizar o desenvolvimento dos projetos. Pode-se
*Pode-se utilizar o Maven (ferramenta desenvolvida pela Apache para gerenciar as dependências e automatizar tarefas).
utilizar o Maven (ferramenta desenvolvida pela Apache para gerenciar as
dependências e automatizar tarefas).  


= Tecnologias envolvidas =
= Tecnologias envolvidas =
  O profissional deve conhecer tecnologias que envolvam o Front-End e o Back-End. Podemos citar: HTML5, CSS3(less, sass), Javascript
* O profissional deve conhecer tecnologias que envolvam o Front-End e o Back-End. Podemos citar:  
(Jquery, Node.js, Ajax, Angular.js), Java, php7, .NET, Ruby. Deve conhecer bancos de dados relacionais
** HTML5, CSS3(less, sass), Javascript (Jquery, Node.js, Ajax, Angular.js), Java, php7, .NET, Ruby.  
(SQL Server, MySQL, Oracle, PostgreSQL) e não relacionais (Redis, MongoDB). Não é necessário dominar todas as tecnologias, mas deve
* Deve conhecer bancos de dados relacionais
conhecer e saber aplicar boa parte delas, de acordo com as especificações da empresa.
** SQL Server, MySQL, Oracle, PostgreSQL
* e não relacionais:
** Redis, MongoDB.  
* Não é necessário dominar todas as tecnologias, mas deve conhecer e saber aplicar boa parte delas, de acordo com as especificações da empresa.


= Ética profissional =
= Ética profissional =
<br>
<br>


Comentar sobre alguma situação, vivenciada pelo profissional ou alguma que tenha conhecimento, envolvendo questões, positivas ou negativas, de ética profissional. Logicamente sem citar nomes de pessoas ou empresas.
* Em uma ocasião, Jean trabalhava para um banco, desenvolvendo e dando suporte a um sistema para o mesmo. Logicamente, para poder efetuar seu trabalho, o profissional tinha acesso a dados bancários, servidores restritos, entre outras informações confidenciais.A questão é que a ética nesse momento é de extrema importância para que o profissional não cometa nenhum tipo de atitude comprometedora, já que qualquer ação deste nível poderia trazer danos inimagináveis à empresa e aos clientes da mesma.
<br>


= Exemplo de resultado tangível =
= Exemplo de resultado tangível =
* Citar produtos, processos ou serviços nos quais o profissional participou e que hoje estão "rodando" em produção. Explicar rapidamenteo o objetivo de cada um.
* Eagle Flores
<br>
<br>


= Upload da apresentação =
= Upload da apresentação =
* [[Arquivo:GBC021-Apresentação Profissão Dev FullStack.pdf]]
https://mega.nz/#!YMYwSSSL!7u3HF2xcuGxFeY-e4QGk9OEku8f3OxJDqQmPBhhJysI
<br>
<br>
 
Link para baixar a apresentação
= Dúvidas =
<br>
<br>


* 01. Pode explicar melhor seu desafio de implementar um motor de busca? O que fez? Qual era o desafio?
= Dúvida =
**
<br>
<br>


* 02. Na sua visão, porque não compensa fazer certificação?
* 01. Na sua visão, porque não compensa fazer certificação?
**
**A certificação é algo que pode ou não compensar, quando se fala de como a pessoa irá utilizar. Tendo em vista que novas versões e atualizações são lançadas constantemente, uma certificação pode não ser útil depois de um tempo. Dessa forma, a certificação não traria tanto benefício, além de ter um custo elevado.
<br>
<br>


* 03. Qual a diferença entre OCA x OCP x OCE?
* 02. Qual a diferença entre OCA x OCP x OCE?
**
**A OCA – Oracle Certified Asoociate – é o primeiro nível de certificação da Oracle, e isso independe da sua decisão de carreira. Seja para ser Desenvolvedor, seja para ser DBA, esta é uma certificação obrigatória caso você queira se especializar em outras certificações.Essa é uma prova destinada a profissionais de perfil Jr. a Pleno.
**A OCP – Oracle Certified Professional – é uma certificação bem mais técnica que a OCA, sendo a certificação mais requisitada no mercado e geralmente exigida em licitações de órgãos públicos, além de empresas privadas.
**A OCE – Oracle Certified Expert –  é uma nova categoria de certificação da Oracle. Com menos de 5 anos de existência, a certificação é voltada para profissionais que são especialistas em ferramentas, implementações ou linguagens como o SQL.
<br>
<br>


* 04. O que é um framework? O que é um servlet? Como os dois se relacionam?
* 03. O que é um framework? O que é um servlet?  
**
**Framework é uma biblioteca que reúne diversas funcionalidades ja testadas e implementadas, as quais servem para facilitar a vida do programador no desenvolvimento. Geralmente o framework encapsula um conjunto de códigos , devolvendo uma interface mais amigável.
**Servilet pode ser definido como um componente semelhante um servidor, que gera dados HTML e XML para a camada de apresentação de uma aplicação Web. Ele processa dinamicamente requisições e respostas
<br>
<br>


* 05. Pode esclarecer o que é Arquitetura de Software?
* 04. Pode esclarecer o que é Arquitetura de Software?
**
**Arquitetura de software é uma descrição abstrata de diferentes visões do sistema.É o resultado das decisões de design sobre a estrutura e o comportamento do software como um todo. A estrutura deve atender os requisitor funcionais e não funcionais do projeto.
<br>
<br>


* 06. O que é o padrão MVC? Porque é usado?
* 05. O que é o padrão MVC? Porque é usado?
**
**MVC é um padrão de arquitetura de software que contem três estruturas básicas: Model, View e Controller. Ele separa essas estruturas para facilitar e padronizar o desenvolvimento, melhorando a visibilidade e reuso dos códigos através dessa separação de conceitos.
<br>
<br>


* 07. JSF x JSP x Bacth: Qual a relação entre eles? Para que são usados?
* 06. JSF x JSP x Batch: Qual a relação entre eles? Para que são usados?
**
**JSP: É uma tecnologia para criação de páginas web. Com Java Server Pages podemos criar aplicações web para vários servidores web, já que Java é uma linguagem multi-plataforma. JSF: É um framework que permite a elaboração de interfaces de usuário web colocando componentes em um formulário e ligando-os a objetos Java permitindo a separação entre lógica e regras de negócio, navegação, conexões com serviços externos e gerenciamento de configurações.
**Um processamento em Batch é a execução de uma série de ''jobs'' ou tarefas sendo adequado para ambientes que não precisem de interatividade, e que possua tarefas de longa execução. 
<br>
<br>


* 08. Quais os 3 ambientes normalmente utilizados num processo de desenvolvimento e para que é usado cada um?
* 07. Quais os 3 ambientes normalmente utilizados num processo de desenvolvimento e para que é usado cada um?
**
**Os 3 ambientes são o Ambiente de desenvolvimento, o de Produtos e o Outsorcing.
**O ambiente de desenvolvimento geralmente é para desenvolver o sistema para a empresa, internamente. o de Produtos é para analisar os requisitos e verificar o que o produto deve entregar de Valor para a empresa. Já o Ousorcing é para desenvolver sistemas para empresas externamente.
<br>
<br>


* 09. Qual a função do Analista de Requsitos? Cite um exemplo que ilustre essa atividade,
* 08. Qual a função do Analista de Requsitos? Cite um exemplo que ilustre essa atividade,
**
**O Analista de Requisitos é a peça fundamental na criação do produto que se transformará no software. Transmite para a equipe de desenvolvimento o que foi relatado pela parte que encomendou o software e outros detalhes que o analista de requisitos conseguiu mapear por observações e entrevistas. O analista, portanto, é o profissional que conversa com o cliente e faz as perguntas para descobrir as funcionalidades e particularidades do sistema.
<br>
<br>


* 10. Qual a função do Maven, Spring e Docker?  
* 09. Qual a função do Maven, Spring e Docker?  
**
**Maven é ferramenta desenvolvida pela Apache para gerenciar as dependências e automatizar tarefas, principalmente para a linguagem Java.
<br>
**Spring é um framework, portanto, é um conjunto de soluções prontas para serem implementadas na sua aplicação, de forma que padronize muitas funções no projeto, facilitando, muitas vezes, a leitura e a implementação.
**O Docker possibilita o empacotamento de uma aplicação ou ambiente inteiro dentro de um container, e a partir desse momento o ambiente inteiro torna-se portável para qualquer outro Host que contenha o Docker instalado.Isso reduz drasticamente o tempo de deploy de alguma infraestrutura ou até mesmo aplicação, pois não há necessidade de ajustes de ambiente para o correto funcionamento do serviço, o ambiente é sempre o mesmo, configure-o uma vez e replique-o quantas vezes quiser.

Edição atual tal como às 19h42min de 20 de setembro de 2018

Palestrante: Jean Fabricio

Email: jeanufu21@gmail.com

Telefone: (34) 9277-4040

Evolução na profissão

  • O profissional Jean conheceu programação cerca de um mês antes de entrar para a Faculdade de Sistemas de Informação na UFU. A primeira linguagem de programação que aprendeu foi Java. Ele entrou na Empresa Júnior Techmob logo em seu primeiro semestre e ficou durante 4 anos. Foi presidente, gestor de projetos, analista de requisitos, supervisor. Adquiriu conhecimento em programação Web (php) , banco de dados, gestão de projetos, e desenvolveu diversos sistemas ao longo de sua graduação. Atualmente trabalha na empresa TQI - Empresa de software em Uberlândia e participa de projetos de Front-End e Back-End, utilizando a linguagem java como principal tecnologia.

Requisitos mínimos para exercer a profissão

  • Um Full Stack tem que estar sempre curioso, não pode ser um profissional acomodado, deve estar sempre interessado em aprender mais com os outros a sua volta. Por ser múltiplo, não pode direcionar toda a sua atenção a um determinado assunto, tem que saber a hora de parar uma determinada especialização e partir pra outra, então requer paciência e bom controle de foco. É importante certificar seu conhecimento, pois serve para reconhecer e dar mais credibilidade, além de que muitas empresas exigem no mercado de trabalho. Algumas certificações são: Java(OCA, OPL, OCE), Certificação Oracle Database, Spring Certificate. Além disso, é fundamental que o profissional conhecer técnicas que aprimoram o trabalho em equipe, sabendo lidar com gerência de projetos e utilizar ou conhecer as práticas de desenvolvimento Ágil.



Ferramentas usadas no dia-a-dia

  • A profissão exige conhecimento considerável tanto no Front-End quanto no Back-End. Desse modo, a quantidade de ferramentas é grande.
  • Podemos citar:
    • Eclipse, Netbeans, Intelli J, Sublime Text 3, Notepadd++, Atom. Frameworks Bootstrap(Front End), Spring MVC (Java).
  • O automatizador de deploys Jenkins, o qual é útil para agilizar o desenvolvimento dos projetos.
  • Pode-se utilizar o Maven (ferramenta desenvolvida pela Apache para gerenciar as dependências e automatizar tarefas).

Tecnologias envolvidas

  • O profissional deve conhecer tecnologias que envolvam o Front-End e o Back-End. Podemos citar:
    • HTML5, CSS3(less, sass), Javascript (Jquery, Node.js, Ajax, Angular.js), Java, php7, .NET, Ruby.
  • Deve conhecer bancos de dados relacionais
    • SQL Server, MySQL, Oracle, PostgreSQL
  • e não relacionais:
    • Redis, MongoDB.
  • Não é necessário dominar todas as tecnologias, mas deve conhecer e saber aplicar boa parte delas, de acordo com as especificações da empresa.

Ética profissional


  • Em uma ocasião, Jean trabalhava para um banco, desenvolvendo e dando suporte a um sistema para o mesmo. Logicamente, para poder efetuar seu trabalho, o profissional tinha acesso a dados bancários, servidores restritos, entre outras informações confidenciais.A questão é que a ética nesse momento é de extrema importância para que o profissional não cometa nenhum tipo de atitude comprometedora, já que qualquer ação deste nível poderia trazer danos inimagináveis à empresa e aos clientes da mesma.

Exemplo de resultado tangível

  • Eagle Flores


Upload da apresentação

https://mega.nz/#!YMYwSSSL!7u3HF2xcuGxFeY-e4QGk9OEku8f3OxJDqQmPBhhJysI
Link para baixar a apresentação

Dúvida


  • 01. Na sua visão, porque não compensa fazer certificação?
    • A certificação é algo que pode ou não compensar, quando se fala de como a pessoa irá utilizar. Tendo em vista que novas versões e atualizações são lançadas constantemente, uma certificação pode não ser útil depois de um tempo. Dessa forma, a certificação não traria tanto benefício, além de ter um custo elevado.


  • 02. Qual a diferença entre OCA x OCP x OCE?
    • A OCA – Oracle Certified Asoociate – é o primeiro nível de certificação da Oracle, e isso independe da sua decisão de carreira. Seja para ser Desenvolvedor, seja para ser DBA, esta é uma certificação obrigatória caso você queira se especializar em outras certificações.Essa é uma prova destinada a profissionais de perfil Jr. a Pleno.
    • A OCP – Oracle Certified Professional – é uma certificação bem mais técnica que a OCA, sendo a certificação mais requisitada no mercado e geralmente exigida em licitações de órgãos públicos, além de empresas privadas.
    • A OCE – Oracle Certified Expert – é uma nova categoria de certificação da Oracle. Com menos de 5 anos de existência, a certificação é voltada para profissionais que são especialistas em ferramentas, implementações ou linguagens como o SQL.


  • 03. O que é um framework? O que é um servlet?
    • Framework é uma biblioteca que reúne diversas funcionalidades ja testadas e implementadas, as quais servem para facilitar a vida do programador no desenvolvimento. Geralmente o framework encapsula um conjunto de códigos , devolvendo uma interface mais amigável.
    • Servilet pode ser definido como um componente semelhante um servidor, que gera dados HTML e XML para a camada de apresentação de uma aplicação Web. Ele processa dinamicamente requisições e respostas


  • 04. Pode esclarecer o que é Arquitetura de Software?
    • Arquitetura de software é uma descrição abstrata de diferentes visões do sistema.É o resultado das decisões de design sobre a estrutura e o comportamento do software como um todo. A estrutura deve atender os requisitor funcionais e não funcionais do projeto.


  • 05. O que é o padrão MVC? Porque é usado?
    • MVC é um padrão de arquitetura de software que contem três estruturas básicas: Model, View e Controller. Ele separa essas estruturas para facilitar e padronizar o desenvolvimento, melhorando a visibilidade e reuso dos códigos através dessa separação de conceitos.


  • 06. JSF x JSP x Batch: Qual a relação entre eles? Para que são usados?
    • JSP: É uma tecnologia para criação de páginas web. Com Java Server Pages podemos criar aplicações web para vários servidores web, já que Java é uma linguagem multi-plataforma. JSF: É um framework que permite a elaboração de interfaces de usuário web colocando componentes em um formulário e ligando-os a objetos Java permitindo a separação entre lógica e regras de negócio, navegação, conexões com serviços externos e gerenciamento de configurações.
    • Um processamento em Batch é a execução de uma série de jobs ou tarefas sendo adequado para ambientes que não precisem de interatividade, e que possua tarefas de longa execução. 


  • 07. Quais os 3 ambientes normalmente utilizados num processo de desenvolvimento e para que é usado cada um?
    • Os 3 ambientes são o Ambiente de desenvolvimento, o de Produtos e o Outsorcing.
    • O ambiente de desenvolvimento geralmente é para desenvolver o sistema para a empresa, internamente. o de Produtos é para analisar os requisitos e verificar o que o produto deve entregar de Valor para a empresa. Já o Ousorcing é para desenvolver sistemas para empresas externamente.


  • 08. Qual a função do Analista de Requsitos? Cite um exemplo que ilustre essa atividade,
    • O Analista de Requisitos é a peça fundamental na criação do produto que se transformará no software. Transmite para a equipe de desenvolvimento o que foi relatado pela parte que encomendou o software e outros detalhes que o analista de requisitos conseguiu mapear por observações e entrevistas. O analista, portanto, é o profissional que conversa com o cliente e faz as perguntas para descobrir as funcionalidades e particularidades do sistema.


  • 09. Qual a função do Maven, Spring e Docker?
    • Maven é ferramenta desenvolvida pela Apache para gerenciar as dependências e automatizar tarefas, principalmente para a linguagem Java.
    • Spring é um framework, portanto, é um conjunto de soluções prontas para serem implementadas na sua aplicação, de forma que padronize muitas funções no projeto, facilitando, muitas vezes, a leitura e a implementação.
    • O Docker possibilita o empacotamento de uma aplicação ou ambiente inteiro dentro de um container, e a partir desse momento o ambiente inteiro torna-se portável para qualquer outro Host que contenha o Docker instalado.Isso reduz drasticamente o tempo de deploy de alguma infraestrutura ou até mesmo aplicação, pois não há necessidade de ajustes de ambiente para o correto funcionamento do serviço, o ambiente é sempre o mesmo, configure-o uma vez e replique-o quantas vezes quiser.