Tornando-se um Programador Java Senior

description »
Bruno Grossi

Tornando-se um
Programador Java Sênior
Por Bruno E. Grossi
Quem é Bruno Grossi?
Formado em Ciência da Computação pela UFOP
Mestre em Ciência da Computação pela UFMG
Certificados Sun: SCJP, SCWCD e SCEA parte 1
Programa em Java desde 1997
Trabalha profissionalmente com desenvolvimento Java desde 2002
Um dos fundadores do MGJUG, em 2005
Participa de projetos open-source como Netbeans e JXTA
Experiência em desenvolvimento de frameworks e plataformas Java
Head of IT na Sambatech desde março/2009
Um pouco de história sobre Java
Timeline do Java
http://java.com/en/javahistory/timeline.jsp
http://java.com/en/javahistory/index.jsp
http://java.sun.com/features/1998/05/birthday.html
Porque aprender
e usar Java?
Java está em todo lugar...
Diversos eventos de desenvolvedores no mundo inteiro
This happened at Sun Tech Days on Brazil 2006.

Mr. Sang Shin, who works at Sun Microsystems as a Technology Architect, Consultant, and Evangelist of the Java technology show how he shakes the butt.
http://www.youtube.com/watch?v=BXHE4SktsbM
Um das linguagens mais usadas no mundo
Fonte: langpop.com 20/10/2009
A maior comunidade de usuários de uma tecnologia no mundo!
http://community.java.net/jugs
JUG =
620 JUGs no mundo listados pela SUN:
http://www.java.net/jugs/listing.csp
Diversos eventos no Brasil e no mundo, o ano inteiro
Milhares de frameworks, ferramentas e projetos de código fonte aberto
E muito mais!
Certificações Java
Onde e como usar Java
Como começar?
New to Java Programming Center — Young Developers: http://java.sun.com/new2java/learning/young_developers.jsp
Iniciantes sem experiência
em programação
Alice http://www.alice.org/
Greenfoot
http://www.greenfoot.org/
BlueJ
http://www.bluej.org/
Ambiente de Desenvolvimento
Universo Java
Edição rápida
Compilação incremental, verificação de código ao editar
Formatação e "coloramento" de código: melhor visibilidade
Complementação de código
Gerência de construção
Depuração e Profiling de código
Ligação com código fonte e documentação
Ferramentas de Teste Automatizado como jUnit
Java Standard Edition
Java Enterprise Edition
Java Micro Edition
Livros
Listas de Discussão dos JUGS
MGJUG: www.mgjug.com.br
SOUJAVA: www.soujava.org.br
DFJUG: www.dfjug.org
Participar da Comunidade
Cursos online gratuítos
Iniciativa JEDI: http://www.dfjug.org/DFJUG/jedi/
Java Passion: http://www.javapassion.com/ (em inglês)
Próximos Eventos
The Developers Conference
Sun Tech Days (em várias cidades)
Sites
www.guj.com.br
www.javaranch.com
www.javafree.com.br
www.java.net
osum.sun.com
Associado Certificado Sun para a Plataforma Java (SCJA)
Esta certificação representa a entrada ideal para uma carreira de desenvolvimento de aplicativos ou de gerenciamento de projetos de software usando tecnologias Java. Ela valida conhecimentos básicos sobre conceitos orientados a objetos (OO), a linguagem de programação Java e conhecimentos gerais sobre plataformas e tecnologias Java.
Realizado nos Centros Autorizados de Testes Prometric
Pré-requisitos: nenhum
Tipo de Exame: Múltipla escolha e Drag and Drop
Número de questões: 51
Nota mínima: 68% (35 de 51 questões)
Tempo limite: 115 minutos
Realizado nos Centros Autorizados de Testes Prometric
Pré-requisitos: nenhum
Tipo de Exame: Múltipla escolha e Drag and Drop
Número de questões: 60
Nota mínima: 58,33% (35 de 60 questões)
Tempo limite: 180 minutos
Esta certificação de base destina-se a programadores que estejam interessados em demonstrar proficiência nos fundamentos da linguagem de programação Java.
Atualmente na versão Java 6.
Programador Certificado Sun para a Plataforma Java (SCJP)
Desenvolvedor Certificado Sun para a Plataforma Java (SCJD)
Esta certificação baseada no desempenho destina-se a desenvolvedores que estejam interessados em demonstrar proficiência avançada na linguagem de programação Java usando a plataforma Java SE.
Para obter esta certificação, o candidato deve concluir com êxito dois elementos: uma atribuição de programação e um exame de redação, ou seja, faz 2 etapas.
Focado nas seguintes APIs:
Thread handling and synchronization
Swing (and AWT to the extent necessary to support Swing)
Standard file IO (java.io, not java.nio)
Either: Socket-based network programming and serialization _or_ Java RMI (Java Remote Method Invocation) (your choice of one or the other, not both).
Realizado nos Centros Autorizados de Testes Prometric
Pré-requisitos: SCJP qualquer versão
Nota mínima: 320 de 400 na prova prática
Tempo limite: 120 minutos na prova de redação
Desenvolvedor de Componentes Web Certificado Sun (SCWCD)
Esta certificação destina-se a desenvolvedores que estejam se especializando na aplicação das tecnologias JSP (JavaServer Pages) e servlet usadas para apresentar Web Services e conteúdo da Web dinâmico.
Atualmente na versão JavaEE 5
Realizado nos Centros Autorizados de Testes Prometric
Pré-requisitos: SCJP
Tipo de Exame: Múltipla escolha e Drag and Drop
Número de questões: 69
Nota mínima: 70% (49 de 69 questões)
Tempo limite: 180 minutos
Desenvolvedor de Componentes de Negócios Certificado Sun (SCBCD)
Esta certificação destina-se a desenvolvedores de componentes de negócios com a tecnologia Enterprise JavaBeans (EJB) que são responsáveis pelas atividades de projeto, desenvolvimento, teste, implantação e integração de aplicativos EJB.
Atualmente na versão JavaEE 5
Realizado nos Centros Autorizados de Testes Prometric
Pré-requisitos: SCJP
Tipo de Exame: Múltipla escolha, questões baseadas em cenários e Drag and Drop
Número de questões: 61
Nota mínima: 59% (36 de 61 questões)
Tempo limite: 145 minutos
Desenvolvedor Certificado Sun para Web Services em Java (SCDJWS)
Esta certificação destina-se a desenvolvedores que criam Web Services para aplicativos com componentes da tecnologia Java.
Atualmente na versão JavaEE 5.
Realizado nos Centros Autorizados de Testes Prometric
Pré-requisitos: SCJP
Tipo de Exame: Múltipla escolha e Drag and Drop
Número de questões: 69
Nota mínima: 68% (47 de 69 questões)
Tempo limite: 150 minutos
Desenvolvedor de Aplicativos de Telefonia Móvel Certificado Sun (SCMAD)
Esta certificação destina-se a desenvolvedores que criam aplicativos de telefonia móvel com tecnologias Java para celulares ou dispositivos "inteligentes".
Realizado nos Centros Autorizados de Testes Prometric
Pré-requisitos: SCJP
Tipo de Exame: Múltipla escolha e Drag and Drop
Número de questões: 68
Nota mínima: 55% (38 de 68 questões)
Tempo limite: 150 minutos
Arquiteto Corporativo Certificado Sun (SCEA)
"O ato de obter certificação o tornará um arquiteto melhor." (Humphrey Sheil, CTO, SCEA e examinador SCEA)
Esta certificação se destina a arquitetos corporativos responsáveis por arquitetar e projetar aplicativos compatíveis com Java EE, com ênfase na melhor forma de aproveitar os recursos da tecnologia Java EE para criar designs flexíveis, dimensionáveis e seguros.

A certificação SCEA "significa que seus titulares podem assumir responsabilidades por designs avançados e funções de liderança na criação de aplicativos. Para ter um bom aproveitamento, o candidato a SCEA precisa demonstrar profundos conhecimentos dos usos adequados da moderna arquitetura de design e das atuais tecnologias Java EE para aplicativos de negócios." (Ed Tittel e Dr. Bill Brogden)

Para obter esta certificação, o candidato deve concluir com êxito três elementos: um exame múltipla escolha baseado no conhecimento, uma atribuição e um exame de redação. (3 etapas)
Realizado nos Centros Autorizados de Testes Prometric
Pré-requisitos: nenhum
Tipo de Exame: Múltipla escolha e Drag and Drop, na primeria fase, modelagem, na segunda, e arguição sobre o projeto na terceira fase.
Java = Linguagem + JVM + Bibliotecas
http://openjdk.java.net/projects/mlvm/
Dicas
O que faz um bom programador:
Java não é só a linguagem: é também a JVM
Ensina boas práticas de programação e organização de código
Outras linguagens podem ser usadas na mesma JVM
Conhecer outras coisas além do Java:
- BD, Ajax, JavaScript, HTML, Flex, ...

Não existe mágica!
- Entenda como as coisas funcionam
- Aprenda a ler e debugar código!
- Essa é a vantagem de projetos Open Source

Aprenda Inglês
- Há muita documentação em português
- As boas documentações e fóruns de discussões são em inglês
- Toda tecnologia de ponta é documentada em inglês
Opções de Carreira
Arquiteto
Responsável pelas definições técnicas e estruturação de projetos corporativos de médio e grande porte.

Conhecimento avançados sobre sistemas distribuídos, SOA, escalabilidade e alta disponibilidade de sistemas.

Certificação: SCEA
Outras certificações
Líder Técnico
Responsável pelo planejamento e bom andamento de projetos Java, solucionando problemas técnicos da equipe

Profundo conhecedor da linguagem Java, da JVM e suas bibliotecas além das ferramentas utilizadas para desenvolvimento. Facilidade para ler, entender e apontar falhas e melhorias em código de outros desenvolvedores. Visão global do projeto.

Certificação: SCJP
Desenvolvedor Mobile
Responsável pelo desenvolvimento de sistemas para dispositivos móveis ou sistemas embarcados. Esse tipo de sistema tem suas particularidades e necessita de conhecimentos diferenciados.

Conhecedor das particularidades que envolvem o desenvolvimento para celulares e/ou sistemas embarcados, esse é um profissional cada vez mais requisitado.

 Certificação: SCMAD
Consultor
Especialista Java capaz de resolver problemas de sistemas complexos de terceiros.

Conhecedor de uma grande gama de sistemas, frameworks e ferramentas, é capaz de apontar problemas, identificar soluções, e propor novas alternativas.

Certificações: qualquer uma.
Tecnologias de Ponta em Java
Java EE 6
Jan/1996 - JDK 1.0
Fev/1997 - JDK 1.1
Dez/1998 - J2SE 1.2
Dez/1999 - J2EE 1.2
Mai/2000 - J2SE 1.3
Set/2001  - J2EE 1.3
Fev/2002 - J2SE 1.4
Nov/2003 - J2EE 1.4
Set/2004  - JavaSE 5.0
Mai/2006 - Java EE 5
Dez/2006 - Java SE 6

Final 2007 - OpenJDK
Meio de 2009 - Oracle compra a Sun

Em breve: Java SE 7 e Java EE 6

http://brunogrossi.com.br
twitter: @begrossi
Aplicações Corporativas
Celulares
Blu-ray Disc
Saúde
http://www.youtube.com/watch?v=9K5PDDF8mJU
http://java.sun.com/developer/technicalArticles/xml/brazil/index.html
http://w3.datasus.gov.br/datasus/index.php?area=040202
Smartcards e 
Sistemas Embutidos
TV Digital Brasileira
http://www.java.com/en/java_in_action
Obrigado!
http://prezi.com/6aktm7nsn1fy/
Dúvidas? Perguntas?
Java 7
Monster.com, dia 01/11:
Java: 5000+
Delphi: 75
PHP: 1611
Ruby: 530
Python: 886
Ceviu, dia 01/11:
Java: 418 vagas
Delphi: 127 vagas
PHP: 161 vagas
Ruby ou Python: 4 vagas
Grande demanda do Mercado
1991 - Inicio do GreenProject de Patrick Naughton, Mike Sheridan, and James Gosling para criar um Set-Top TV
1992 - Criada a linguagem "Oak" e o mascote "Duke"
1993 - Lançado o Mosaic v1.0 - Internet se torna mais popular
1994 - Lançado o WebRunner: primeiro navegador com conteúdo dinâmico
1995 - Oak vira Java, lançado para um seleto grupo. Java na primeira página. Nasce oficialmente.
1996 - Primeiro JavaOne Developer Conference - JDK 1.0
1997 - Mais de 220.000 downloads do JDK 1.1 em 3 semanas. JavaOne se torna maior conferência de desenvolvedores do mundo.
1998 - 2 milhões de usuários. Visa cria primeiro Smart Card com Java. JCP formalizado.
1999 - Lançado plataforma Java 2. Java EE beta.
2000 - Mais de 400 JUGS em volta do mundo. 1,5 milhões no Java Developer Connection. Apple apóia Java
2001 - JavaOne Internacional no Japão. 1 milhão de downloads do Java EE SDK.
2002 - 2 milhões de downloads Java EE SDK. 78% dos executivos acreditam no Java EE.
2003 - Java rodando em quase 550 milhões de desktops. 75% dos desenvolvedores usando Java.
2004 - Java 5 lançado. Mars Rover (Spirit) toca o solo de Marte, "powered by Java". Sun Java Studio Creator
 2005 - 10 anos do Java. 4,5 milhões de desenvolvedores. 2,5 bilhões de dispositivos Java.
2006 - Rich Green anuncia início do processo de abertura do Java. NetBeans IDE 5.0 e Glassfish lançados.

Loading comments...

Please log in to add your comment.

Report abuse