SlideShare une entreprise Scribd logo
1  sur  36
Télécharger pour lire hors ligne
Formando
Desenvolvedores
    Efetivos
       Fernando Lozano
Arquiteto de Soluções – 4Linux
    lozano@4linux.com.br
CUIDADO!

●    Vou apresentar várias opiniões minhas sobre o que
     poderia mudar na formação usual de desenvolvedores
     Java e não-Java para aumentar sua efetividade


●    Fique à vontade para discordar ;-)




    Capítulo 1           www.4linux.com.br            2 / 36
Temos um Novo Projeto...

●    Precisamos contratar mais desenvolvedores !




    Capítulo 1          www.4linux.com.br          3 / 36
Temos um Novo Projeto...

●    Precisamos contratar mais desenvolvedores !
      ●   Será fácil conseguir BONS desenvolvedores ?




    Capítulo 1            www.4linux.com.br             4 / 36
Temos um Novo Projeto...

●    Precisamos contratar mais desenvolvedores !
      ●   Será fácil conseguir BONS desenvolvedores ?
          ●   Será fácil conseguir desenvolvedores RAZOÁVEIS ?




    Capítulo 1             www.4linux.com.br             5 / 36
Temos um Novo Projeto...

●    Precisamos contratar mais desenvolvedores !
      ●   Será fácil conseguir BONS desenvolvedores ?
          ●   Será fácil conseguir desenvolvedores
              RASOÁVEIS ?
               ● Vou ter que me virar com o que conseguir...




    Capítulo 1              www.4linux.com.br                  6 / 36
Temos um Novo Projeto...

●    Precisamos contratar mais desenvolvedores !
      ●   Será fácil conseguir BONS desenvolvedores ?
          ●   Será fácil conseguir desenvolvedores
              RASOÁVEIS ?
               ● Vou ter que me virar com o que conseguir...


                 SE conseguir :-(




    Capítulo 1              www.4linux.com.br                  7 / 36
Precisamos Formar MAIS
Desenvolvedores
●    As faculdades não atendem o mercado
●    Treinamento in-house demora...




    Capítulo 1          www.4linux.com.br   8 / 36
Precisamos Formar MAIS
Desenvolvedores
●    As faculdades não atendem o mercado
●    Treinamento in-house demora...
●    A solução é:
      ●   Certificação Profissional ?




    Capítulo 1              www.4linux.com.br   9 / 36
Precisamos Formar MAIS
Desenvolvedores
●    As faculdades não atendem o mercado
●    Treinamento in-house demora...
●    A solução é:
      ●   Certificação Profissional ?
           ●   Graduações Tecnológicas ?




    Capítulo 1              www.4linux.com.br   10 / 36
Precisamos Formar MAIS
Desenvolvedores
●    As faculdades não atendem o mercado
●    Treinamento in-house demora...
●    A solução é:
      ●   Certificação Profissional ?
           ●   Graduações Tecnológicas ?
                ● Contratar quem já conhece o “padrão de

                  mercado” ?




    Capítulo 1               www.4linux.com.br             11 / 36
Precisamos Formar
MELHORES Desenvolvedores
●    Vamos aumentar a produtividade dos desenvolvedores
     que já temos usando:




    Capítulo 1         www.4linux.com.br             12 / 36
Precisamos Formar
MELHORES Desenvolvedores
●    Vamos aumentar a produtividade dos desenvolvedores
     que já temos usando:
      ●   Melhores IDEs ? (RAD)




    Capítulo 1            www.4linux.com.br          13 / 36
Precisamos Formar
MELHORES Desenvolvedores
●    Vamos aumentar a produtividade dos desenvolvedores
     que já temos usando:
      ●   Melhores IDEs ? (RAD)
          ●   Melhor Modelagem ? (UML)




    Capítulo 1            www.4linux.com.br          14 / 36
Precisamos Formar
MELHORES Desenvolvedores
●    Vamos aumentar a produtividade dos desenvolvedores
     que já temos usando:
      ●   Melhores IDEs ? (RAD)
          ●   Melhor Modelagem ? (UML)
               ● Melhores Metodologias ? (RUP)




    Capítulo 1             www.4linux.com.br         15 / 36
Precisamos Formar
MELHORES Desenvolvedores
●    Vamos aumentar a produtividade dos desenvolvedores
     que já temos usando:
      ●   Melhores IDEs ? (RAD)
          ●   Melhor Modelagem ? (UML)
               ● Melhores Metodologias ? (RUP)

                  ● Melhores Frameworks ? (Spring)




    Capítulo 1             www.4linux.com.br         16 / 36
Precisamos Formar
MELHORES Desenvolvedores
●    Vamos aumentar a produtividade dos desenvolvedores
     que já temos usando:
      ●   Melhores IDEs ? (RAD)
          ●   Melhor Modelagem ? (UML)
               ● Melhores Metodologias ? (RUP)

                  ● Melhores Frameworks ? (Spring)

                     ● Melhores Processos ? (Ágeis)




    Capítulo 1              www.4linux.com.br         17 / 36
Você Já Ouviu Falar de

●    Graduação de duração reduzida em Direito ?
●    Certificação para Neurologista ?
●    Máquina de Tomografia/Ressonância/etc que dispensa
     um Cardiologista ?
●    Easy Building CAD para construção de edifícios – você
     não precisa mais de um Engenheiro Civil para levantar um
     prédio !




    Capítulo 1           www.4linux.com.br             18 / 36
Você Já Ouviu Falar de

●    Graduação de duração reduzida em Direito ?
●    Certificação para Neurologista ?
●    Máquina de Tomografia/Ressonância/etc que dispensa
     um Cardiologista ?
●    Easy Building CAD para construção de edifícios – você
     não precisa mais de um Engenheiro Civil para levantar um
     prédio !


●    POR QUE assumimos que as soluções para
     desenvolvimento podem dispensar / reduzir a qualificação
     do desenvolvedor ?

    Capítulo 1           www.4linux.com.br              19 / 36
Desenvolver Software É
Complicado
●    Nenhuma solução vai magicamente transformar em algo
     simples
●    Especialmente as soluções que isentam o profissional de
     ter o nível de conhecimento e especialização necessários
●    A sociedade não pode depender da iniciativa individual e
     auto-estudo




    Capítulo 1           www.4linux.com.br               20 / 36
Desenvolver Software É
Complicado
●    Nenhuma solução vai magicamente transformar em algo
     simples
●    Especialmente as soluções que isentam o profissional de
     ter o nível de conhecimento e especialização necessários
●    A sociedade não pode depender da iniciativa individual e
     auto-estudo



●    80% ou mais dos desenvolvedores não acompanham
     Blogs, não lêem revistas, não comparecem a eventos...


    Capítulo 1           www.4linux.com.br               21 / 36
Nós Temos Uma GRANDE
Parcela da Culpa
●    Gostamos de apresentar exemplos “hello world” para
     novas APIs, novas linguagens, novos frameworks...
●    Gostamos de apresentar exemplos “simplórios”, tipo
      ●   Aplicação CRUD, JSF chama direto JPA
          (cadê a camada de negócios ?)
      ●   Tela de login
          (cadê o JAAS, LDAP, Kerberos, Token, PKI...)
      ●   Locadora de DVDs / Biblioteca / Pet Shop
          (algum desses já foi colocado em produção ?)
          (eu poderia fazer as mesmas “simplificações didáticas”
          em um sistema real ?)


    Capítulo 1             www.4linux.com.br               22 / 36
Tem Que Resolver NA
ORIGEM
●    Como “todo mundo” aprende a desenvolver software ?
      ●   Olhando exemplos “hello world”
          ●   E daí partindo para escrever aplicações completas




    Capítulo 1              www.4linux.com.br              23 / 36
Tem Que Resolver NA
ORIGEM
●    Como “todo mundo” aprende a desenvolver software ?
      ●   Olhando exemplos “hello world”
          ●   E daí partindo para escrever aplicações completas
               ● SOZINHO




    Capítulo 1              www.4linux.com.br              24 / 36
Tem Que Resolver NA
ORIGEM
●    Como “todo mundo” aprende a desenvolver software ?
      ●   Olhando exemplos “hello world”
          ●   E daí partindo para escrever aplicações completas
               ● SOZINHO




●    O profissional vai copiar os primeiros exemplos que
     encontrar – precisamos que estes exemplos sejam MUITO
     bons!


    Capítulo 1              www.4linux.com.br              25 / 36
Tem Que Expor o (Futuro)
Profissional à Complexidade
●    Como você espera que alguém desenvolva “direito” sem
     nenhum referencial para reconhecer a “cara” de um bom
     código ?
●    Como exigir que um profissional lide com a complexidade
     de aplicações reais se só viu aplicações simplórias ?
●    Como querer que um profissional aprenda a juntar Ajax,
     Java, ORM, SQL, REST etc se ele normalmente vê
     exemplos que usam um de cada vez ?




    Capítulo 1           www.4linux.com.br              26 / 36
Tem Que Ensinar a Fazer
Manutenção / Evolução
●    Em vez de criar aplicações do zero...
     ... Entender uma (parte) de uma aplicação bem-escrita




    Capítulo 1           www.4linux.com.br              27 / 36
Tem Que Ensinar a Fazer
Manutenção / Evolução
●    Em vez de criar aplicações do zero...
     ... Entender uma (parte) de uma aplicação bem-escrita
      ●   Depois acrescentar uma nova funcionalidade nesta
          aplicação...
          ... Sem introduzir uma regressão




    Capítulo 1             www.4linux.com.br            28 / 36
Tem Que Ensinar a Fazer
Manutenção / Evolução
●    Em vez de criar aplicações do zero...
     ... Entender uma (parte) de uma aplicação bem-escrita
      ●   Depois acrescentar uma nova funcionalidade nesta
          aplicação...
          ... Sem introduzir uma regressão
          ●   Tem que aprender a lidar com código escrito por
              outros !




    Capítulo 1              www.4linux.com.br              29 / 36
Tem Que Priorizar Nas
Faculdades e Formações
●    O desenvolvedor pode aprender novas linguagens, APIs e
     frameworks com o Google, estudando exemplos pontuais
     ou cursos livres ...
     ... Mas ele não vai aprender a lidar com complexidade e
     manutenção se isto não for apresentado a ele DESDE O
     INÍCIO




    Capítulo 1           www.4linux.com.br              30 / 36
Tem Que Priorizar Nas
Faculdades e Formações
●    O desenvolvedor pode aprender novas linguagens, APIs e
     frameworks com o Google, estudando exemplos pontuais
     ou cursos livres ...
     ... Mas ele não vai aprender a lidar com complexidade,
     manutenção e equipes se isto não for apresentado a ele
     DESDE O INÍCIO


●    Se a formação inicial fugir destas questões, o
     desenvolvedor fica com o “vício” de fugir delas pelo resto
     da sua carreira :-(
●    Aí Metodologias, Processos, IDEs, etc não vão fazer
     diferença real
    Capítulo 1            www.4linux.com.br                31 / 36
Desenvolvedores Efetivos

●    O mercado hoje forma desenvolvedores “de curto prazo”,
     pensando em entregar apenas a versão 1.0 da aplicação




    Capítulo 1          www.4linux.com.br             32 / 36
Desenvolvedores Efetivos

●    O mercado hoje forma desenvolvedores “de curto prazo”,
     pensando em entregar apenas a versão 1.0 da aplicação
      ●   Mas a maior parte do esforço, tempo e dinheiro está
          em manter as aplicações funcionando pelos próximos
          anos




    Capítulo 1             www.4linux.com.br             33 / 36
Desenvolvedores Efetivos

●    O mercado hoje forma desenvolvedores “de curto prazo”,
     pensando em entregar apenas a versão 1.0 da aplicação
      ●   Mas a maior parte do esforço, tempo e dinheiro está
          em manter as aplicações funcionando pelos próximos
          anos
          ●   Tudo que ajuda a manter a aplicação funcionando
              no futuro acaba ajudando a entregar mais cedo e
              com mais qualidade a primeira versão




    Capítulo 1              www.4linux.com.br             34 / 36
Formando Desenvolvedores
Efetivos
●    A formação dos profissionais deve ser baseada em
     atividades práticas envolvendo:
      ●   Escrever partes de uma aplicação, que devem ser
          integradas a outras partes que já estão prontas
      ●   Identificar e corrigir bugs em uma aplicação que
          normalmente funciona
      ●   Implementar nova funcionalidade que envolve modificar
          funcionalidade já existente
      ●   Lidar com regras de negócios complexas
      ●   Retornar depois de um tempo a uma aplicação /
          módulo escrito previamente, em vez de abandonar
          depois de apresentar ao professor
    Capítulo 1             www.4linux.com.br                 35 / 36
Perguntas ?




                 Fernando Lozano
              lozano@4linux.com.br
                www.4linux.com.br
               www.hackerteen.com
               twitter.com/4LinuxBR

              Tel: 55-11-2125-4747
 Capítulo 1       www.4linux.com.br   36 / 36

Contenu connexe

Tendances

Do protótipo ao produto: técnicas que fazem sentido
Do protótipo ao produto: técnicas que fazem sentidoDo protótipo ao produto: técnicas que fazem sentido
Do protótipo ao produto: técnicas que fazem sentidoBarbara Wolff Dick
 
O que é um Agile Coach
O que é um Agile CoachO que é um Agile Coach
O que é um Agile CoachElias Nogueira
 
Introdução a Modelagem
Introdução a ModelagemIntrodução a Modelagem
Introdução a ModelagemRodrigo Branas
 
De Fred Krueger a Brad Pitt como melhorar o seu código e fazê-lo ficar lindo
De Fred Krueger a Brad Pitt como melhorar o seu código e fazê-lo ficar lindoDe Fred Krueger a Brad Pitt como melhorar o seu código e fazê-lo ficar lindo
De Fred Krueger a Brad Pitt como melhorar o seu código e fazê-lo ficar lindoAnna Cruz
 
Testes de Performance na Nuvem com JMeter e Blazemeter
Testes de Performance na Nuvem com JMeter e BlazemeterTestes de Performance na Nuvem com JMeter e Blazemeter
Testes de Performance na Nuvem com JMeter e BlazemeterElias Nogueira
 
DevCamp - O papel de um testador em uma equipe ágil
DevCamp - O papel de um testador em uma equipe ágilDevCamp - O papel de um testador em uma equipe ágil
DevCamp - O papel de um testador em uma equipe ágilElias Nogueira
 
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MG
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MGModelagem Ágil - UaiJug TechDays 2013 - Uberlândia MG
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MGNeubio Ferreira
 
Palestra Modelagem Ágil - Manoel Pimentel
Palestra Modelagem Ágil -  Manoel PimentelPalestra Modelagem Ágil -  Manoel Pimentel
Palestra Modelagem Ágil - Manoel PimentelManoel Pimentel Medeiros
 
Agileze seus testes com automacao e grid
Agileze seus testes com automacao e gridAgileze seus testes com automacao e grid
Agileze seus testes com automacao e gridElias Nogueira
 
Introdução a Métodos Ágeis de Desenvolvimento de Software
Introdução a Métodos Ágeis de Desenvolvimento de SoftwareIntrodução a Métodos Ágeis de Desenvolvimento de Software
Introdução a Métodos Ágeis de Desenvolvimento de SoftwareDaniel Cukier
 
Desenvolvimento de software: Mundo ideal x Mundo real
Desenvolvimento de software: Mundo ideal x Mundo realDesenvolvimento de software: Mundo ideal x Mundo real
Desenvolvimento de software: Mundo ideal x Mundo realHenrique Schmidt
 
Desenvolvimento de software mundo ideal x mundo real
Desenvolvimento de software  mundo ideal x mundo realDesenvolvimento de software  mundo ideal x mundo real
Desenvolvimento de software mundo ideal x mundo realWilly Salazar
 
The PornoAgile - Uma visão ágil somente para maiores
The PornoAgile - Uma visão ágil somente para maioresThe PornoAgile - Uma visão ágil somente para maiores
The PornoAgile - Uma visão ágil somente para maioresManoel Pimentel Medeiros
 
Apresentação WTM
Apresentação WTMApresentação WTM
Apresentação WTMAnna Cruz
 
Testes de software automatizados
Testes de software automatizadosTestes de software automatizados
Testes de software automatizadosMarcelo Andrade
 

Tendances (20)

Scrum
ScrumScrum
Scrum
 
Do protótipo ao produto: técnicas que fazem sentido
Do protótipo ao produto: técnicas que fazem sentidoDo protótipo ao produto: técnicas que fazem sentido
Do protótipo ao produto: técnicas que fazem sentido
 
Modelagem Ágil
Modelagem ÁgilModelagem Ágil
Modelagem Ágil
 
O que é um Agile Coach
O que é um Agile CoachO que é um Agile Coach
O que é um Agile Coach
 
Introdução a Modelagem
Introdução a ModelagemIntrodução a Modelagem
Introdução a Modelagem
 
De Fred Krueger a Brad Pitt como melhorar o seu código e fazê-lo ficar lindo
De Fred Krueger a Brad Pitt como melhorar o seu código e fazê-lo ficar lindoDe Fred Krueger a Brad Pitt como melhorar o seu código e fazê-lo ficar lindo
De Fred Krueger a Brad Pitt como melhorar o seu código e fazê-lo ficar lindo
 
Testes de Performance na Nuvem com JMeter e Blazemeter
Testes de Performance na Nuvem com JMeter e BlazemeterTestes de Performance na Nuvem com JMeter e Blazemeter
Testes de Performance na Nuvem com JMeter e Blazemeter
 
DevCamp - O papel de um testador em uma equipe ágil
DevCamp - O papel de um testador em uma equipe ágilDevCamp - O papel de um testador em uma equipe ágil
DevCamp - O papel de um testador em uma equipe ágil
 
Modelagem Ágil
Modelagem ÁgilModelagem Ágil
Modelagem Ágil
 
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MG
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MGModelagem Ágil - UaiJug TechDays 2013 - Uberlândia MG
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MG
 
Palestra Modelagem Ágil - Manoel Pimentel
Palestra Modelagem Ágil -  Manoel PimentelPalestra Modelagem Ágil -  Manoel Pimentel
Palestra Modelagem Ágil - Manoel Pimentel
 
Agileze seus testes com automacao e grid
Agileze seus testes com automacao e gridAgileze seus testes com automacao e grid
Agileze seus testes com automacao e grid
 
Introdução a Métodos Ágeis de Desenvolvimento de Software
Introdução a Métodos Ágeis de Desenvolvimento de SoftwareIntrodução a Métodos Ágeis de Desenvolvimento de Software
Introdução a Métodos Ágeis de Desenvolvimento de Software
 
Desenvolvimento de software: Mundo ideal x Mundo real
Desenvolvimento de software: Mundo ideal x Mundo realDesenvolvimento de software: Mundo ideal x Mundo real
Desenvolvimento de software: Mundo ideal x Mundo real
 
Desenvolvimento de software mundo ideal x mundo real
Desenvolvimento de software  mundo ideal x mundo realDesenvolvimento de software  mundo ideal x mundo real
Desenvolvimento de software mundo ideal x mundo real
 
The PornoAgile - Uma visão ágil somente para maiores
The PornoAgile - Uma visão ágil somente para maioresThe PornoAgile - Uma visão ágil somente para maiores
The PornoAgile - Uma visão ágil somente para maiores
 
Apresentação WTM
Apresentação WTMApresentação WTM
Apresentação WTM
 
Testes de software automatizados
Testes de software automatizadosTestes de software automatizados
Testes de software automatizados
 
#Moving br workshop
#Moving br workshop#Moving br workshop
#Moving br workshop
 
Test First, TDD e outros Bichos
Test First, TDD e outros BichosTest First, TDD e outros Bichos
Test First, TDD e outros Bichos
 

En vedette

Cryptorave apresentacao
Cryptorave apresentacaoCryptorave apresentacao
Cryptorave apresentacaoSergio Amadeu
 
Análise de malware com software livre
Análise de malware com software livreAnálise de malware com software livre
Análise de malware com software livreDiego Santos
 
Inteligência Operacional utilizando a solução Elastic.
Inteligência Operacional utilizando a solução Elastic.Inteligência Operacional utilizando a solução Elastic.
Inteligência Operacional utilizando a solução Elastic.4LinuxCursos
 
Arquiteturas híbridas de atendimento em Cloud Computing para otimizar o uso d...
Arquiteturas híbridas de atendimento em Cloud Computing para otimizar o uso d...Arquiteturas híbridas de atendimento em Cloud Computing para otimizar o uso d...
Arquiteturas híbridas de atendimento em Cloud Computing para otimizar o uso d...Diego Santos
 
As grandes novidades do JSF 2.0!
As grandes novidades do JSF 2.0!As grandes novidades do JSF 2.0!
As grandes novidades do JSF 2.0!Diego Santos
 
Análise estática de malware com o pev
Análise estática de malware com o pevAnálise estática de malware com o pev
Análise estática de malware com o pevDiego Santos
 
IaaS: Implantação e gerenciamento de configurações de ambientes Cloud usando...
 IaaS: Implantação e gerenciamento de configurações de ambientes Cloud usando... IaaS: Implantação e gerenciamento de configurações de ambientes Cloud usando...
IaaS: Implantação e gerenciamento de configurações de ambientes Cloud usando...Diego Santos
 
Vc sabe quem invade seu computador
Vc sabe quem invade seu computadorVc sabe quem invade seu computador
Vc sabe quem invade seu computadorSergio Amadeu
 
Saiba mais sobre OCS Inventory
Saiba mais sobre OCS InventorySaiba mais sobre OCS Inventory
Saiba mais sobre OCS Inventory4LinuxCursos
 
OpenLDAP, criando e explorando um overlay
OpenLDAP, criando e explorando um overlayOpenLDAP, criando e explorando um overlay
OpenLDAP, criando e explorando um overlayDiego Santos
 
Práticas DevOps com Zend Server
Práticas DevOps com Zend ServerPráticas DevOps com Zend Server
Práticas DevOps com Zend ServerDiego Santos
 
Como lidar com cargas de trabalho mistas - PostgreSQL
Como lidar com cargas de trabalho mistas - PostgreSQLComo lidar com cargas de trabalho mistas - PostgreSQL
Como lidar com cargas de trabalho mistas - PostgreSQLDiego Santos
 
KDC Spoofing com Kerberos MIT
KDC Spoofing com Kerberos MITKDC Spoofing com Kerberos MIT
KDC Spoofing com Kerberos MITDiego Santos
 
HTML5 – O que tem de novo?
HTML5 – O que tem de novo?HTML5 – O que tem de novo?
HTML5 – O que tem de novo?Diego Santos
 
Automação de Ambientes com Puppet
Automação de Ambientes com Puppet Automação de Ambientes com Puppet
Automação de Ambientes com Puppet 4LinuxCursos
 

En vedette (16)

Cryptorave apresentacao
Cryptorave apresentacaoCryptorave apresentacao
Cryptorave apresentacao
 
Análise de malware com software livre
Análise de malware com software livreAnálise de malware com software livre
Análise de malware com software livre
 
Inteligência Operacional utilizando a solução Elastic.
Inteligência Operacional utilizando a solução Elastic.Inteligência Operacional utilizando a solução Elastic.
Inteligência Operacional utilizando a solução Elastic.
 
Arquiteturas híbridas de atendimento em Cloud Computing para otimizar o uso d...
Arquiteturas híbridas de atendimento em Cloud Computing para otimizar o uso d...Arquiteturas híbridas de atendimento em Cloud Computing para otimizar o uso d...
Arquiteturas híbridas de atendimento em Cloud Computing para otimizar o uso d...
 
As grandes novidades do JSF 2.0!
As grandes novidades do JSF 2.0!As grandes novidades do JSF 2.0!
As grandes novidades do JSF 2.0!
 
Análise estática de malware com o pev
Análise estática de malware com o pevAnálise estática de malware com o pev
Análise estática de malware com o pev
 
IaaS: Implantação e gerenciamento de configurações de ambientes Cloud usando...
 IaaS: Implantação e gerenciamento de configurações de ambientes Cloud usando... IaaS: Implantação e gerenciamento de configurações de ambientes Cloud usando...
IaaS: Implantação e gerenciamento de configurações de ambientes Cloud usando...
 
Vc sabe quem invade seu computador
Vc sabe quem invade seu computadorVc sabe quem invade seu computador
Vc sabe quem invade seu computador
 
Cloud é Linux
Cloud é LinuxCloud é Linux
Cloud é Linux
 
Saiba mais sobre OCS Inventory
Saiba mais sobre OCS InventorySaiba mais sobre OCS Inventory
Saiba mais sobre OCS Inventory
 
OpenLDAP, criando e explorando um overlay
OpenLDAP, criando e explorando um overlayOpenLDAP, criando e explorando um overlay
OpenLDAP, criando e explorando um overlay
 
Práticas DevOps com Zend Server
Práticas DevOps com Zend ServerPráticas DevOps com Zend Server
Práticas DevOps com Zend Server
 
Como lidar com cargas de trabalho mistas - PostgreSQL
Como lidar com cargas de trabalho mistas - PostgreSQLComo lidar com cargas de trabalho mistas - PostgreSQL
Como lidar com cargas de trabalho mistas - PostgreSQL
 
KDC Spoofing com Kerberos MIT
KDC Spoofing com Kerberos MITKDC Spoofing com Kerberos MIT
KDC Spoofing com Kerberos MIT
 
HTML5 – O que tem de novo?
HTML5 – O que tem de novo?HTML5 – O que tem de novo?
HTML5 – O que tem de novo?
 
Automação de Ambientes com Puppet
Automação de Ambientes com Puppet Automação de Ambientes com Puppet
Automação de Ambientes com Puppet
 

Similaire à Formando desenvolvedores efetivos: como melhorar a formação inicial

Engenharia De Software e O Software Livre
Engenharia De Software e O Software LivreEngenharia De Software e O Software Livre
Engenharia De Software e O Software LivreFabio Sperotto
 
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...Developer Academy
 
Get Product Owners 2 Succeed with Agile (Portuguese)
Get Product Owners 2 Succeed with Agile (Portuguese)Get Product Owners 2 Succeed with Agile (Portuguese)
Get Product Owners 2 Succeed with Agile (Portuguese)Ignacio Lizarralde
 
Analise e desenvolvimento
Analise e desenvolvimentoAnalise e desenvolvimento
Analise e desenvolvimentoGabriel Moura
 
A Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao SêniorA Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao SêniorMarcos Pereira
 
Feature-Driven Development - Visão Geral
Feature-Driven Development - Visão GeralFeature-Driven Development - Visão Geral
Feature-Driven Development - Visão GeralRuan Carvalho
 
O mercado de trabalho para a T.I.
O mercado de trabalho para a T.I.O mercado de trabalho para a T.I.
O mercado de trabalho para a T.I.Yan Magalhães
 
Gerencie sua carreira. Seja um desenvolvedor melhor!
Gerencie sua carreira. Seja um desenvolvedor melhor!Gerencie sua carreira. Seja um desenvolvedor melhor!
Gerencie sua carreira. Seja um desenvolvedor melhor!Sandro Giacomozzi
 
Desenvolvendo Produtos sobre a Plataforma Pentaho
Desenvolvendo Produtos sobre a Plataforma PentahoDesenvolvendo Produtos sobre a Plataforma Pentaho
Desenvolvendo Produtos sobre a Plataforma PentahoPentahoBrasil
 
Palestra: Desenvolvendo Produtos sobre a Plataforma Pentaho - Pentaho Day 2013
Palestra: Desenvolvendo Produtos sobre a Plataforma Pentaho - Pentaho Day 2013Palestra: Desenvolvendo Produtos sobre a Plataforma Pentaho - Pentaho Day 2013
Palestra: Desenvolvendo Produtos sobre a Plataforma Pentaho - Pentaho Day 2013Marcio Junior Vieira
 
Desenvolvendo Produtos sobre a Plataforma Pentaho
Desenvolvendo Produtos sobre a Plataforma PentahoDesenvolvendo Produtos sobre a Plataforma Pentaho
Desenvolvendo Produtos sobre a Plataforma PentahoAmbiente Livre
 
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013Gabriel Rubens
 
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...Marcio Miyamoto
 

Similaire à Formando desenvolvedores efetivos: como melhorar a formação inicial (20)

Negócios em FLOSS
Negócios em FLOSSNegócios em FLOSS
Negócios em FLOSS
 
Refactoring
RefactoringRefactoring
Refactoring
 
Engenharia De Software e O Software Livre
Engenharia De Software e O Software LivreEngenharia De Software e O Software Livre
Engenharia De Software e O Software Livre
 
Vamos falar de DevOps?
Vamos falar de DevOps?Vamos falar de DevOps?
Vamos falar de DevOps?
 
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
 
Get Product Owners 2 Succeed with Agile (Portuguese)
Get Product Owners 2 Succeed with Agile (Portuguese)Get Product Owners 2 Succeed with Agile (Portuguese)
Get Product Owners 2 Succeed with Agile (Portuguese)
 
O que é ser um bom programador?
O que é ser um bom programador?O que é ser um bom programador?
O que é ser um bom programador?
 
Analise e desenvolvimento
Analise e desenvolvimentoAnalise e desenvolvimento
Analise e desenvolvimento
 
A Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao SêniorA Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao Sênior
 
Feature-Driven Development - Visão Geral
Feature-Driven Development - Visão GeralFeature-Driven Development - Visão Geral
Feature-Driven Development - Visão Geral
 
O mercado de trabalho para a T.I.
O mercado de trabalho para a T.I.O mercado de trabalho para a T.I.
O mercado de trabalho para a T.I.
 
Qualidade no desenvolvimento de softwre
Qualidade no desenvolvimento de softwreQualidade no desenvolvimento de softwre
Qualidade no desenvolvimento de softwre
 
Apresentação Executiva
Apresentação ExecutivaApresentação Executiva
Apresentação Executiva
 
Gerencie sua carreira. Seja um desenvolvedor melhor!
Gerencie sua carreira. Seja um desenvolvedor melhor!Gerencie sua carreira. Seja um desenvolvedor melhor!
Gerencie sua carreira. Seja um desenvolvedor melhor!
 
Desenvolvendo Produtos sobre a Plataforma Pentaho
Desenvolvendo Produtos sobre a Plataforma PentahoDesenvolvendo Produtos sobre a Plataforma Pentaho
Desenvolvendo Produtos sobre a Plataforma Pentaho
 
Palestra: Desenvolvendo Produtos sobre a Plataforma Pentaho - Pentaho Day 2013
Palestra: Desenvolvendo Produtos sobre a Plataforma Pentaho - Pentaho Day 2013Palestra: Desenvolvendo Produtos sobre a Plataforma Pentaho - Pentaho Day 2013
Palestra: Desenvolvendo Produtos sobre a Plataforma Pentaho - Pentaho Day 2013
 
Desenvolvendo Produtos sobre a Plataforma Pentaho
Desenvolvendo Produtos sobre a Plataforma PentahoDesenvolvendo Produtos sobre a Plataforma Pentaho
Desenvolvendo Produtos sobre a Plataforma Pentaho
 
Proposta de Inovação (1)
Proposta de Inovação (1)Proposta de Inovação (1)
Proposta de Inovação (1)
 
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013
 
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
 

Plus de Diego Santos

Criando Mapas de rede para monitoramento com Zabbix
Criando Mapas de rede para monitoramento com ZabbixCriando Mapas de rede para monitoramento com Zabbix
Criando Mapas de rede para monitoramento com ZabbixDiego Santos
 
Tenha mais tempo e gerencie seus processos com a Bonita
Tenha mais tempo e gerencie seus processos com a BonitaTenha mais tempo e gerencie seus processos com a Bonita
Tenha mais tempo e gerencie seus processos com a BonitaDiego Santos
 
Socialize os sites da sua empresa com eXo Platform
Socialize os sites da sua empresa com eXo PlatformSocialize os sites da sua empresa com eXo Platform
Socialize os sites da sua empresa com eXo PlatformDiego Santos
 
Programando Software Livre em C
Programando Software Livre em CProgramando Software Livre em C
Programando Software Livre em CDiego Santos
 
Testes em aplicações JEE: Montando sua infra de testes automatizados
Testes em aplicações JEE: Montando sua infra de testes automatizadosTestes em aplicações JEE: Montando sua infra de testes automatizados
Testes em aplicações JEE: Montando sua infra de testes automatizadosDiego Santos
 
Webcast Tutorial: Análise de dumps de memória no GNU/Linux
Webcast Tutorial: Análise de dumps de memória no GNU/LinuxWebcast Tutorial: Análise de dumps de memória no GNU/Linux
Webcast Tutorial: Análise de dumps de memória no GNU/LinuxDiego Santos
 

Plus de Diego Santos (6)

Criando Mapas de rede para monitoramento com Zabbix
Criando Mapas de rede para monitoramento com ZabbixCriando Mapas de rede para monitoramento com Zabbix
Criando Mapas de rede para monitoramento com Zabbix
 
Tenha mais tempo e gerencie seus processos com a Bonita
Tenha mais tempo e gerencie seus processos com a BonitaTenha mais tempo e gerencie seus processos com a Bonita
Tenha mais tempo e gerencie seus processos com a Bonita
 
Socialize os sites da sua empresa com eXo Platform
Socialize os sites da sua empresa com eXo PlatformSocialize os sites da sua empresa com eXo Platform
Socialize os sites da sua empresa com eXo Platform
 
Programando Software Livre em C
Programando Software Livre em CProgramando Software Livre em C
Programando Software Livre em C
 
Testes em aplicações JEE: Montando sua infra de testes automatizados
Testes em aplicações JEE: Montando sua infra de testes automatizadosTestes em aplicações JEE: Montando sua infra de testes automatizados
Testes em aplicações JEE: Montando sua infra de testes automatizados
 
Webcast Tutorial: Análise de dumps de memória no GNU/Linux
Webcast Tutorial: Análise de dumps de memória no GNU/LinuxWebcast Tutorial: Análise de dumps de memória no GNU/Linux
Webcast Tutorial: Análise de dumps de memória no GNU/Linux
 

Formando desenvolvedores efetivos: como melhorar a formação inicial

  • 1. Formando Desenvolvedores Efetivos Fernando Lozano Arquiteto de Soluções – 4Linux lozano@4linux.com.br
  • 2. CUIDADO! ● Vou apresentar várias opiniões minhas sobre o que poderia mudar na formação usual de desenvolvedores Java e não-Java para aumentar sua efetividade ● Fique à vontade para discordar ;-) Capítulo 1 www.4linux.com.br 2 / 36
  • 3. Temos um Novo Projeto... ● Precisamos contratar mais desenvolvedores ! Capítulo 1 www.4linux.com.br 3 / 36
  • 4. Temos um Novo Projeto... ● Precisamos contratar mais desenvolvedores ! ● Será fácil conseguir BONS desenvolvedores ? Capítulo 1 www.4linux.com.br 4 / 36
  • 5. Temos um Novo Projeto... ● Precisamos contratar mais desenvolvedores ! ● Será fácil conseguir BONS desenvolvedores ? ● Será fácil conseguir desenvolvedores RAZOÁVEIS ? Capítulo 1 www.4linux.com.br 5 / 36
  • 6. Temos um Novo Projeto... ● Precisamos contratar mais desenvolvedores ! ● Será fácil conseguir BONS desenvolvedores ? ● Será fácil conseguir desenvolvedores RASOÁVEIS ? ● Vou ter que me virar com o que conseguir... Capítulo 1 www.4linux.com.br 6 / 36
  • 7. Temos um Novo Projeto... ● Precisamos contratar mais desenvolvedores ! ● Será fácil conseguir BONS desenvolvedores ? ● Será fácil conseguir desenvolvedores RASOÁVEIS ? ● Vou ter que me virar com o que conseguir... SE conseguir :-( Capítulo 1 www.4linux.com.br 7 / 36
  • 8. Precisamos Formar MAIS Desenvolvedores ● As faculdades não atendem o mercado ● Treinamento in-house demora... Capítulo 1 www.4linux.com.br 8 / 36
  • 9. Precisamos Formar MAIS Desenvolvedores ● As faculdades não atendem o mercado ● Treinamento in-house demora... ● A solução é: ● Certificação Profissional ? Capítulo 1 www.4linux.com.br 9 / 36
  • 10. Precisamos Formar MAIS Desenvolvedores ● As faculdades não atendem o mercado ● Treinamento in-house demora... ● A solução é: ● Certificação Profissional ? ● Graduações Tecnológicas ? Capítulo 1 www.4linux.com.br 10 / 36
  • 11. Precisamos Formar MAIS Desenvolvedores ● As faculdades não atendem o mercado ● Treinamento in-house demora... ● A solução é: ● Certificação Profissional ? ● Graduações Tecnológicas ? ● Contratar quem já conhece o “padrão de mercado” ? Capítulo 1 www.4linux.com.br 11 / 36
  • 12. Precisamos Formar MELHORES Desenvolvedores ● Vamos aumentar a produtividade dos desenvolvedores que já temos usando: Capítulo 1 www.4linux.com.br 12 / 36
  • 13. Precisamos Formar MELHORES Desenvolvedores ● Vamos aumentar a produtividade dos desenvolvedores que já temos usando: ● Melhores IDEs ? (RAD) Capítulo 1 www.4linux.com.br 13 / 36
  • 14. Precisamos Formar MELHORES Desenvolvedores ● Vamos aumentar a produtividade dos desenvolvedores que já temos usando: ● Melhores IDEs ? (RAD) ● Melhor Modelagem ? (UML) Capítulo 1 www.4linux.com.br 14 / 36
  • 15. Precisamos Formar MELHORES Desenvolvedores ● Vamos aumentar a produtividade dos desenvolvedores que já temos usando: ● Melhores IDEs ? (RAD) ● Melhor Modelagem ? (UML) ● Melhores Metodologias ? (RUP) Capítulo 1 www.4linux.com.br 15 / 36
  • 16. Precisamos Formar MELHORES Desenvolvedores ● Vamos aumentar a produtividade dos desenvolvedores que já temos usando: ● Melhores IDEs ? (RAD) ● Melhor Modelagem ? (UML) ● Melhores Metodologias ? (RUP) ● Melhores Frameworks ? (Spring) Capítulo 1 www.4linux.com.br 16 / 36
  • 17. Precisamos Formar MELHORES Desenvolvedores ● Vamos aumentar a produtividade dos desenvolvedores que já temos usando: ● Melhores IDEs ? (RAD) ● Melhor Modelagem ? (UML) ● Melhores Metodologias ? (RUP) ● Melhores Frameworks ? (Spring) ● Melhores Processos ? (Ágeis) Capítulo 1 www.4linux.com.br 17 / 36
  • 18. Você Já Ouviu Falar de ● Graduação de duração reduzida em Direito ? ● Certificação para Neurologista ? ● Máquina de Tomografia/Ressonância/etc que dispensa um Cardiologista ? ● Easy Building CAD para construção de edifícios – você não precisa mais de um Engenheiro Civil para levantar um prédio ! Capítulo 1 www.4linux.com.br 18 / 36
  • 19. Você Já Ouviu Falar de ● Graduação de duração reduzida em Direito ? ● Certificação para Neurologista ? ● Máquina de Tomografia/Ressonância/etc que dispensa um Cardiologista ? ● Easy Building CAD para construção de edifícios – você não precisa mais de um Engenheiro Civil para levantar um prédio ! ● POR QUE assumimos que as soluções para desenvolvimento podem dispensar / reduzir a qualificação do desenvolvedor ? Capítulo 1 www.4linux.com.br 19 / 36
  • 20. Desenvolver Software É Complicado ● Nenhuma solução vai magicamente transformar em algo simples ● Especialmente as soluções que isentam o profissional de ter o nível de conhecimento e especialização necessários ● A sociedade não pode depender da iniciativa individual e auto-estudo Capítulo 1 www.4linux.com.br 20 / 36
  • 21. Desenvolver Software É Complicado ● Nenhuma solução vai magicamente transformar em algo simples ● Especialmente as soluções que isentam o profissional de ter o nível de conhecimento e especialização necessários ● A sociedade não pode depender da iniciativa individual e auto-estudo ● 80% ou mais dos desenvolvedores não acompanham Blogs, não lêem revistas, não comparecem a eventos... Capítulo 1 www.4linux.com.br 21 / 36
  • 22. Nós Temos Uma GRANDE Parcela da Culpa ● Gostamos de apresentar exemplos “hello world” para novas APIs, novas linguagens, novos frameworks... ● Gostamos de apresentar exemplos “simplórios”, tipo ● Aplicação CRUD, JSF chama direto JPA (cadê a camada de negócios ?) ● Tela de login (cadê o JAAS, LDAP, Kerberos, Token, PKI...) ● Locadora de DVDs / Biblioteca / Pet Shop (algum desses já foi colocado em produção ?) (eu poderia fazer as mesmas “simplificações didáticas” em um sistema real ?) Capítulo 1 www.4linux.com.br 22 / 36
  • 23. Tem Que Resolver NA ORIGEM ● Como “todo mundo” aprende a desenvolver software ? ● Olhando exemplos “hello world” ● E daí partindo para escrever aplicações completas Capítulo 1 www.4linux.com.br 23 / 36
  • 24. Tem Que Resolver NA ORIGEM ● Como “todo mundo” aprende a desenvolver software ? ● Olhando exemplos “hello world” ● E daí partindo para escrever aplicações completas ● SOZINHO Capítulo 1 www.4linux.com.br 24 / 36
  • 25. Tem Que Resolver NA ORIGEM ● Como “todo mundo” aprende a desenvolver software ? ● Olhando exemplos “hello world” ● E daí partindo para escrever aplicações completas ● SOZINHO ● O profissional vai copiar os primeiros exemplos que encontrar – precisamos que estes exemplos sejam MUITO bons! Capítulo 1 www.4linux.com.br 25 / 36
  • 26. Tem Que Expor o (Futuro) Profissional à Complexidade ● Como você espera que alguém desenvolva “direito” sem nenhum referencial para reconhecer a “cara” de um bom código ? ● Como exigir que um profissional lide com a complexidade de aplicações reais se só viu aplicações simplórias ? ● Como querer que um profissional aprenda a juntar Ajax, Java, ORM, SQL, REST etc se ele normalmente vê exemplos que usam um de cada vez ? Capítulo 1 www.4linux.com.br 26 / 36
  • 27. Tem Que Ensinar a Fazer Manutenção / Evolução ● Em vez de criar aplicações do zero... ... Entender uma (parte) de uma aplicação bem-escrita Capítulo 1 www.4linux.com.br 27 / 36
  • 28. Tem Que Ensinar a Fazer Manutenção / Evolução ● Em vez de criar aplicações do zero... ... Entender uma (parte) de uma aplicação bem-escrita ● Depois acrescentar uma nova funcionalidade nesta aplicação... ... Sem introduzir uma regressão Capítulo 1 www.4linux.com.br 28 / 36
  • 29. Tem Que Ensinar a Fazer Manutenção / Evolução ● Em vez de criar aplicações do zero... ... Entender uma (parte) de uma aplicação bem-escrita ● Depois acrescentar uma nova funcionalidade nesta aplicação... ... Sem introduzir uma regressão ● Tem que aprender a lidar com código escrito por outros ! Capítulo 1 www.4linux.com.br 29 / 36
  • 30. Tem Que Priorizar Nas Faculdades e Formações ● O desenvolvedor pode aprender novas linguagens, APIs e frameworks com o Google, estudando exemplos pontuais ou cursos livres ... ... Mas ele não vai aprender a lidar com complexidade e manutenção se isto não for apresentado a ele DESDE O INÍCIO Capítulo 1 www.4linux.com.br 30 / 36
  • 31. Tem Que Priorizar Nas Faculdades e Formações ● O desenvolvedor pode aprender novas linguagens, APIs e frameworks com o Google, estudando exemplos pontuais ou cursos livres ... ... Mas ele não vai aprender a lidar com complexidade, manutenção e equipes se isto não for apresentado a ele DESDE O INÍCIO ● Se a formação inicial fugir destas questões, o desenvolvedor fica com o “vício” de fugir delas pelo resto da sua carreira :-( ● Aí Metodologias, Processos, IDEs, etc não vão fazer diferença real Capítulo 1 www.4linux.com.br 31 / 36
  • 32. Desenvolvedores Efetivos ● O mercado hoje forma desenvolvedores “de curto prazo”, pensando em entregar apenas a versão 1.0 da aplicação Capítulo 1 www.4linux.com.br 32 / 36
  • 33. Desenvolvedores Efetivos ● O mercado hoje forma desenvolvedores “de curto prazo”, pensando em entregar apenas a versão 1.0 da aplicação ● Mas a maior parte do esforço, tempo e dinheiro está em manter as aplicações funcionando pelos próximos anos Capítulo 1 www.4linux.com.br 33 / 36
  • 34. Desenvolvedores Efetivos ● O mercado hoje forma desenvolvedores “de curto prazo”, pensando em entregar apenas a versão 1.0 da aplicação ● Mas a maior parte do esforço, tempo e dinheiro está em manter as aplicações funcionando pelos próximos anos ● Tudo que ajuda a manter a aplicação funcionando no futuro acaba ajudando a entregar mais cedo e com mais qualidade a primeira versão Capítulo 1 www.4linux.com.br 34 / 36
  • 35. Formando Desenvolvedores Efetivos ● A formação dos profissionais deve ser baseada em atividades práticas envolvendo: ● Escrever partes de uma aplicação, que devem ser integradas a outras partes que já estão prontas ● Identificar e corrigir bugs em uma aplicação que normalmente funciona ● Implementar nova funcionalidade que envolve modificar funcionalidade já existente ● Lidar com regras de negócios complexas ● Retornar depois de um tempo a uma aplicação / módulo escrito previamente, em vez de abandonar depois de apresentar ao professor Capítulo 1 www.4linux.com.br 35 / 36
  • 36. Perguntas ? Fernando Lozano lozano@4linux.com.br www.4linux.com.br www.hackerteen.com twitter.com/4LinuxBR Tel: 55-11-2125-4747 Capítulo 1 www.4linux.com.br 36 / 36