Consultorias de TI vs Consultorias de RH

Desde de 2001 trabalho e moro em São Paulo. Escuto muitos dos profissionais de TI (Tecnologia de informação) falarem que as consultorias de TI estragaram o mercado de TI. Mas porque eles dizem isso ?

Consultorias de TI e o mercado de trabalho

Antes os profissionais de TI, trabalhavam de 2 maneiras. Ou eles eram funcionários das empresas, sendo contratatado no regime CLT, ou eles eram prestadores de serviços. Na segunda categoria, a de prestadores de serviços, eles abriam um empresa e prestavam serviço para o cliente, emitindando NF (nota fiscal) diretamente para a empresa. Não existia essas consultorias de TI, que contratam os profissionais de TI, e apenas alocam eles nos clientes.

Conseqüentemente os profissionais ganhavam mais, porque sendo contratados diretamente para as empresas, ninguém ficava com nenhuma parte dos salários deles, como acontecem hoje com as consultorias de TI. Mas as empresas de consultoria se proliferaram, no final da década de 80 e inicio da década de 90 e hoje, não conheço praticamente ninguém que seja contratado diretamente por empresas e clientes, sempre a um consultoria de TI no meio. Para citar as grande empresas neste segmento, acho que estão a Stefanini TI, G&P, ProcWork, Politec, CPM Braxis no mercado brasileiro. E no mercado internacional também existem consultorias de TI, como os mesmo problemas que temos aqui no Brasil. O que até hoje não entendo, é porque chegamos a essa maneira de contratação através de consultorias de TI.

Minha experiência em uma consultoria de TI

Eu trabalhei por mais de 3 anos na Stefanini , uma consultoria de TI. E ao contrário que muitos reclamam, eu adorei trabalhar na Stefanini.

Antes que você demonstre todo seu ódio por essas consultorias de TI deixa eu explicar como foi minha passagem pela Stefanini. A Stefanini era dividida em células, e cada célula tinha um Gerente de Célula, que cuidava de vários clientes dentro daquela célula. Imagina que a Stefanini é uma empresa gigantesca (acho que hoje deva ser umas das maior consultoria de TI brasileira), e uma célula, é uma empresa dentro da Stefanini, que atende um determinado número de clientes (geralmente separado por ramo de atividade). Eu trabalhei muito tempo em um cliente desta célula. Trabalhei na Fabrica de Software da Goodyear. Foi um trabalho excelente para mim. Lá eu fui instrutor Java, programador e analista em Java, projetei bando de dados, ou seja participei de todas as fases na area de desenvolvimento de software. O pessoal dá Goodyear ( que era o cliente), também era um pessoal muito gente boa, e realmente eu atuava fortemente ajudando o pessoal da Goodyear. Quando a minha célula ia participar de propostas em outros clientes, eu também ajudava a minha célula, ajudando na concorrência, analise, custos e até mesmo fazendo extrevistas. Quando outra célula da Stefanini, precisa de um profissional mais Senior, aquele época era mais difícil encontrar um profissional Java Senior, eu ajuda a outra célula sem problemas. Ou seja, eu tinha o meu trabalho pontual na Goodyear (meu cliente principal), mas eu também ajuda a minha célula e outras células, ou seja atuava como um consultor de Java mesmo dentro da Stefanini e suas várias células. Neste caso é claro que se eu fosse consultor da Goodyear direto, como nós velhos tempos, eu ganharia mais, mas no meu caso, eu também atuava em outros projeto da Stefanini, por isso talvez não tenha tanto “raiva” como outros profissionais tem da consultoria de TI. Realmente posso dizer que o anos que passei na Stefanini foram de grande crescimento profissional para mim.

A realidade das consultorias de TI é diferente para muitos trabalhadores

Muitos dos meu amigos e conhecidos que trabalham em consultoria de TI, reclamam, que eles são contratados pelas consultoria que aloca ele no cliente, e lá ele fica, 1, 2 3 ou mais anos, sem se quer conhecer a consultoria de TI, no qual ele realmente é funcionário (CLT) ou prestador de serviços. Muitas vezes eles ficam se sentindo mais funcionário do próprio cliente do que da própria consultoria, e a consultoria na visão deles se tornam, aquela empresa que morde uma porcentagem do salário dele todo mês.

Pior que é quando ele vê os funcionário dos cliente, sendo reconhecido e ganhando bonificação, 13º salário, 14º salário, e ele fazendo o mesmo trabalho daquele funcionário, mas não tem direito a nada, e ainda nem se sente funcionário da consultoria que o contratou. Neste momento aparece aquele sentimento de revolta, porque ele na verdade não é funcionário do cliente e nem da empresa que ele presta serviço, então neste momento vem aquela baixa na auto estima.

Vejo hoje em dias muitas discussões sobre faltam profissionais de TI, e isso vai piorar ainda mais no futuro, mas será que as empresas nunca percebem que a situação acima citada desgasta o sentimento que o funcionário tem ? Funcionário desmotivado tem baixa produtividade.

Será que a pergunta, Faltam boas empresas de TI ao invés Faltam profissionais de TI ? Eu já comentei algo sobre isso no meu artigo sobre Gestão Profissional: Profissionais descontentes.

Tipos de Consultorias

Voltando aos tipos de consultorias existe um consultoria que está realmente acabando como a relação empresa funcionário. Essas empresas se dizem consultoria de TI, mas na verdade são Consultorias de RH. Na verdade é uma consultoria que se acha de TI, mas seu principal negocio é atuar como um empresa de RH.

Eles fazem exatamente o que eu citei acima, elas apenas contratam o funcionário e alocam para algum cliente, e lá o funcionário fica esquecido. E o pior de tudo, elas se auto denominam consultoria de TI.

Veja alguns exemplos que me fazem acreditar que existem muitas consultorias de RH, achando que são consultorias de TI.

  • Se você reparar, você perceberá que essas empresas não são donas de projetos. A função delas é apenas contratar um funcionário, alocar no cliente e lá ele é esquecido. Esse funcionário nunca vai na empresa (consultoria de TI que pensa que é RH), passa o resto da vida no cliente rezando para ou ser contratado pelo cliente, ou conseguir uma oportunidade melhor em outra empresa. Quando eu mencionei “você perceberá que essas empresas não são donas de projetos”, você perceberá que na verdade elas são empresas de RH disfarçadas de consultorias de TI. Ele não tem nenhum funcionário trabalhando em projeto interno, os únicos projetos em andamento estão em clientes. Resumindo, se ela não tem projetos, ele são empresas de RH disfarçada de empresas de TI, pode ter certeza.
  • Nessas empresas você sempre entrar em contato com os gerentes, gerente de conta, gerente de célula, gerente daquele cliente, perceba que nessas empresas o nivél mínimo hierárquico é gerente. Você nunca vai encontrar um gerente de projeto, analista programador e DBA dentro da empresa, DBA, é tudo gerente de vendas, gerente de relacionamento, gerente de RH etc. Bom, conversando com um funcionário desse eu abri a minha visão sobre o que eu achava da empresa, ou seja, mencionei com todas as letras que eles eram um consultoria de RH disfarçada de de uma consultoria de TI. Dai ele me respondeu, que não, é claro. Por que ele eram donos de vagas dentro do projeto, por exemplo. O Cliente X, tem um projeto Y, e precisa de 5 vagas para esse projeto Y. E esse projeto pertencem a eles (a consultoria de RH que acha que é de TI), e as vagas só serão preenchidas por funcionário contratados pela consultoria deles.
  • Meu próximo passo foi perguntar, se havia algum projeto em andamento internamente na empresa, sem ser alocado no cliente. Tipo uma fabrica de Software interna, ou um projeto de consultora de desenvolvimento ou suporte etc, dai ele me respondeu que todos os funcionário na area de TI estão alocados em clientes, e a empresa só tinha profissionais da area de Human Resouces, Marketing, Vendas e os Gerentes de Conta de cada projeto. Foi nesse momento que eu decidi parar de falar com ele, me fingi de ignorante e estou aqui escrevendo esse poste.

A realidade é outra

Depois dizem que faltam profissionais de TI no mercado, mas a grande realidade é que faltam empresas boas no mercado também.

Neste poste eu quis mostrar que empresa de consultoria são ruins, porque elas querem ser, porque elas tem meios de fazer com que o funcionário de sinta bem nela. Vejo algumas empresas em São Paulo que são consultoria de TI, mas possuem os melhores funcionário do mercado, inclusive incentivam a participar de eventos etc, ou seja são consultoria de TI que não se prestam ao papel de consultoria de RH disfarçada de consultoria de TI. Como em todos os exemplos há excecões, eu por exemplo trabalhei em uma consultoria de TI, mas não tenho o que reclamar. Mas será que em todas as célula destas consultorias de TI ou de outras grandes consultorias é assim, ou também ela também se prestam a serviço de apenas ser uma consultoria de RH disfarçada de consultoria de TI ?

Nem todas as consultorias de TI são consultoria de RH. Assim como grandes consultorias de TI, podem ter células, e contas internas que atuam como consultoria de RH, e ai que temos um problema. Assim como existem consultorias de RH serias, que não querem prestar o papel de ser consultoria de RH disfarçada de consultoria de TI como mencionei acima.

A realidade é dura, mas isso que está acontecendo, não é uma problema exclusivo do Brasil, outros países passam pelo mesmo problema quando o tema é consultoria de TI.

Kleber Rodrigo de Carvalho

WebWork-Struts 2 In Action

Como mencionei no meu ultimo post, estava fazendo um pesquisa sobre Action vs Component frameworks.

Achei esta interessante apresentação sobre o Struts 2 no infoq. Na verdade, a apresentação é antiga, mas dá um bom overview sobre o Struts 2.

Eu já postei anteriomente, sobre um livro de Struts 2 disponível para download no infoq.

Kleber Rodrigo de Carvalho

Action vs Component frameworks

Hoje eu estava falando disso com os meu colegas de trabalho:

Java Web Frameworks

Action Frameworks

  • URL binding
  • WebWork, Struts Action, RIFE, Stripes, Spring MVC, VRaptor, Struts 2, WebWork, Grails/GSP, Play etc

Component Frameworks

  • Event binding
  • JSF, Tapestry, Shale, Seam, Wicket, GWT wtc

Encontrei dois posts em blogs que ajudar a entender a diferença entre Action e Component Frameworks.

Eu alguns lugares eles chaman Action ou Request basead framework.

O primeiro é o Component-Based vs. Action-Based Web Frameworks escrito no Jonathan Lehr’s Weblog.

O segundo é o Action Framework Future is Component Framework, SpringMVC and S2, are they dead end? escrito no Frans Thamura’s Weblog.

O terceiro é o Java Component based vs Request based frameworks

O quarto é Difference between Action Framework and Component Framework in Java

Encontrei também essa discussão interessante no Tectura

Kleber Rodrigo de Carvalho

Livro Linux Kernel in a Nutshell disponivél para download

Escrito por um líder do desenvolvimento e mantenedor do kernel do Linux, Kernel do Linux em poucas palavras (Tradução literal do livro Linux Kernel in a Nutshell) é uma abrangente visão, da construção e configuração do kernel do linux, uma critica tarefa para usuários e administradores do Linux.

Este livro pretende cobrir tudo que é necessário saber para construir, personalizar, instalar o kernel do Linux de maneira correta. Não é exigida experiência em programação para entender e usar este livro.

O Livro está disponível para download em formato PDF ou DocBook, o livro inteiro ou por capítulos. A inteira história do desenvolvimento do livro ( você também pode saber porque a primeira versão do livro estava com mais de 1000 página), pode ser feito o donwload no repositório git.

Você pode acessar o web site do livro, Linux Kernel in a Nutshell, escrito por Greg Kroah-Hartman, publicado pela O’Reilly.

Kleber Rodrigo de Carvalho

Linux Kernel in a Nutshell

Written by a leading developer and maintainer of the Linux kernel, Linux Kernel in a Nutshell is a comprehensive overview of kernel configuration and building, a critical task for Linux users and administrators.

This book is intended to cover everything that is needed to know in order to properly build, customize, and install the Linux kernel. No programming experience is needed to understand and use this book.

The book is available for download in either PDF or DocBook format for the entire book, or by the individual chapter. The entire history of the development of the book (you too can see why the first versions of the book were 1000 pages long) can be downloaded in a git repository.

You can access the web site for the book, Linux Kernel in a Nutshell, by Greg Kroah-Hartman, published by O’Reilly.

Kleber Rodrigo de Carvalho

Testando o WP-CodeBox Plugin

Hoje decidi instalar um plugin do wordpress para formatar os códigos que quero postar neste blog.

Eu escolhi o WP-CodeBox, que teve uma fácil instalação, e se tem várias opções de linguagem.

Estou executando abaixo o exemplo descrito no Wp-CodBox Demo e o comportamento abaixo mostra-se ser bem legal.

**Example 1: PHP, no line numbers**

    

**Example 2: Java, with line numbers, collapse codebox**

    public class Hello {
      public static void main(String[] args) {
        System.out.println("Hello World!");
      }
    }

**Example 3: Ruby, with line numbers starting at 18, code downloading(ruby.txt)**

    class Example
      def example(arg1)
        return "Hello: " + arg1.to_s
      end
    end

Kleber Rodrigo de Carvalho

Linux

Linux

Comecei a usar Linux em 1997 quando estava no meu primeiro ano de faculdade. O que me fez a usar esse SO foi a curiosidade. Não queria me basear nas opiniões dos meu professores onde alguns defendiam o Linux e outros o Windows. Então minha primeira distribuição que usei foi a Slacware. Bom, imagine em 1997 ou seja a mais dez anos atrás um iniciante em Linux usando um Slackware. Foi difícil, e apanhei muito. Mas sabe como é, eu estava no primeiro ano de Ciência da Computação, e fuçar, descobrir, ler fóruns era o que eu mais gostava de fazer (e mais gosto ainda hoje). Escutava pessoas dizerem (em 1997), não sei porque ainda existem pessoas que usam o Windows, o Linux é melhor, Linux rocks, Linux is the best etc etc. Eu é claro, com a surra que tomava por ser iniciante pensava, como pode um usuário de computador tipo minha mãe, minha irmã meus sobrinhos e primos, trocar um Windows que embora fosse muito ruim (eu seja a tela azul era freqüente) naquela época( Windows 98), não exigia que a pessoa precisasse compilar seus programar em C/C++, montar e desmontar devices, se matar para configurar o mouse, monitor, escaner e impressora.

Bom é claro que depois da minha primeira impressão do Linux, passei para várias distribuições, e posso dizer, que nunca acreditei que o Linux realmente fosse para desktop, ou seja nunca o Linux conquistaria os usuário tipo minha mãe, minha irmã meus sobrinhos e primos. Esse usuário só poderiam usar o Linux se eu tivesse perto (ou algum profissional da área) deles para ajudar no que fosse necessário.

Achava que aquele negócio de compilar programas, era legal para o pessoal de informática (na verdade para uma área mais especifica dentro área de informática, que se chama desenvolvimento de Software), mas o usuário leigo não ter nem saber de compilar as coisas antes de usar, mesmo que eu falasse para eles que compilar aquilo traria um melhoria de performance. Sem contar que sempre que precisava compilar algo ou instalar algo tinha o problema de dependência. Dai eu ficava horas tentando encontrar qual era a dependência. Ou seja, era legal para mim, porque eu sou da aérea de tecnologia.

Como sempre escutei os usuário Linux dizerem, não sei porque as pessoas não usam o Linux. No fundo eu tinha uma resposta, o Linux era muito chato para o usuário leio, afinal de contas ele quer sentar na frente do computador e usar, pare de pensar que usuário de computador gosta de fuçar, compilar, pesquisar e etc.

Bom os anos se passaram, até que usei o Kurumin. O Kurumin realmente tinha sido a melhor distribuição Linux que eu tinha instalado e configurado até aquele momento. Reconheceu quase todo o meu hardware e quando tinha problemas eram fáceis de resolver, pois era baseado no Debian via Knoppix e Kanotix. Tinha um esquema que ícones mágicos que eram shell scripts que facilitavam a vida o usuário (não sei se essa idéia veio do Kurumin ou de outra distribuição). Tinha o esquema de Live CD, ou seja você usava o SO pelo CD, e só instalava quando realmente queria usar. Lembro que na época era a melhor distribuição para nós brasileiros, porque a compatibilidade com o nosso harware (vendido no Brasil) era excelente. Naquele momento eu pensei, o Linux está no caminho certo para alcançar a confiança do usuário leigo, principalmente dos brasileirso. Depois do Kurumin, decidi instalar o Ubuntu, que tinha o mesmo conceito, ser um Linux para leigos e não para o pessoal da area de informática. Ao contrário do Kurumin, o Ubuntu tinha uma empresa por trás dele.

O Ubuntu é que teve seu primero release em outubro de 2004 que é uma destruição baseada no Debian GNU/Linux, é a distribuição que tem mas chance de alcançar o usuário leio tipo minha mãe, minha irmã meus sobrinhos e primos. O Ubuntu é facil de usar, tem versões localizadas, tipo em português, espanhol etc, sendo que o mesmo SO é usuado no mundo inteiro, ou seja não é uma distribuição recomendada para brasileiro ou falantes qualquer outro idioma.

Tem um imenso grupo de voluntário que participam do projeto. Por exemplo hoje posso afirmar que um usuário que não fale somente português, pode se aventurar com o Ubuntu. A ideia do Ubuntu é ser fácil, ou seja nada complicar as coisas. Você consegue instalar programas neles facilmente, tudo na interface gráfica. Podemos usar a interface gráfica preferida tipo Ubuntu com o Gnome e Kubuntu com o KDE, o ususário escolhe qual ele prefere.

O Ubuntu tem um site e um forum caso o usuário tenha problemas, em português, e o mesmo SO é usado no mundo inteiro, não é uma distruição localizado, tipo como o Kurumin.

Se você hoje quer experimentar algo diferente do windows, realmente recomendo o Ubuntu.

Kleber Rodrigo de Carvalho

Teste sua conexão de Internet

Encontrei 2 sites para testar a conexão de internet, muito interessante:

O SpeedTest faz um excelente trabalho, e ainda possui um visual bonito.

Mas o problema que ando enfrentando no momento, que me fez chegar ao SpeedTest, foi porque tenho usado freqüentemente programas VoIP, como o Skype, Google Talk e Sametime. Para falar como pessoas do mesmo pais a minha atual conexão de internet é satisfatória. Assino o Speedy Mega 2.0 – 2Mbps no valor de R$ 109,90 (Downstream: 2 Mbps /Upstream: 300 Kbps). Realmente não tenho muito escolha pois aonde moro somente temos o Speedy, a Net com o Virtua não é suportado na região que moro.

O SpeedTest te ajuda muito saber qual a real velocidade se sua conexão com a internet. Mas descobri outro site muito interessante o VoIP Speedy Tester, que é ideal para te ajudar a entender o problemas que eu tenho no meu programa VoIP.

Por exemplo, quando falo com pessoas dentro do Brasil, não tenho problemas de cortes na voz, ou seja sempre falo e escuto perfeitamente. Agora quando falo com pessoas de outros países geralmente escuto bem, mas quando falo as vezes acontece de minha voz ser cortada. Identifiquei que no caso para falar com pessoas fora do Brasil, a distância que a voz percorre é maior, sendo assim eu fico mais limitado a minha banda.

Outra coisa que ninguém se dá conta é a importância da velocidade de Download e Upload, as pessoas geralmente só percebem na velocidade de Download esquecendo a velocidade de Upload, que é muito importante no uso do seu programa VoIP.

Repare nesta lista das velocidades para assinar o speedy da telefonica em São Paulo capital.

Speedy Start – 500Kbps – R$ 69,90

Downstream: 500 Kbps
Upstream: 200 Kbps

Speedy Mega 1.0 – 1Mbps – R$ 89,90

Downstream: 1 Mbps
Upstream: 300 Kbps

Speedy Mega 2.0 – 2Mbps – R$ 109,90

Downstream: 2 Mbps
Upstream: 300 Kbps

Speedy Mega 4.0 – 4Mbps – R$ 126,90

Downstream: 4 Mbps
Upstream: 300 Kbps

Speedy Mega 8.0 8Mbps – R$ 231,90

Downstream: 8 Mbps
Upstream: 600 Kbps

Desconsidere os valores em R$, porque isso muda muito, mas para eu adquirir um plano com um velocidade de Upload maior eu tenho que adquirir Speedy Mega 8.0 8Mbps no valor de R$ 231,90.

  • Downstream: 8 Mbps
  • Upstream: 600 Kbps

Conversando com o atendente percebi que velocidade de Upload ou Upstream, não é muito entendida, nem por ele nem por usuário em geral. Por isso fique atendo a isso. Para um bom uso de programas VoIP é necessário ter uma boa velocidade de DownStream e UPStream.

Kleber Rodrigo de Carvalho

Como se tornar um programador Java

Pessoal

Enquanto existem pessoas preocupadas com o fim do Java, existem outras querendo aprender Java.

Baseado no artigo que li há muito tempo atrás, sobre Quer ser um desenvolvedor Java, decidi aqui fazer uma receita mais atualizada para as pessoas se tornarem um programador Java. No artigo Quer ser um desenvolvedor Java o Hildebrando Furlan Neto fala sobre o item 1 – Faça uma faculdade de tecnologia, então aqui não quero discutir se você já trabalha com alguma linguagem de programação ou tem experiência com desenvolvimento de software, mas é importante o item 1 mencionado pelo Hildebrando. Quando eu iniciei meu curso técnico em processamento de dados em 1994, investi muito em lógica de programação, é isso me ajudou muito a aprender a linguagem C na época, quando entre na universidade as coisas realmente ficaram mais fáceis.

1. Lógica de Programação

Sendo assim recomendo fortemente para aqueles que nunca programaram, estudar essa seqüencia:

  • Lógica de Programação

Entender lógica de programação é muito importante. Neste caso não recomendo nenhum livro ou tutorial especifico, se concentre em procurar isso na Google, existem sempre ótimos tutoriais e livros disponíveis, tanto em inglês como em português. Recomendo livros e tutoriais bem recomendados, se for comprar livros, veja as recomendações dele, se for baixar alguns tutorial na internet, veja o que as pessoas acham dele. Numa rápida pesquisa aqui achei vários.

Encontrei o Curso Básico de Lógica de Programação, que parece ser um ótimo guia para lógica de programação.

2. Paradigma de linguagem de programação

  • Programação estrutura e Programação orientada a objetos

Entender esses 2 paradigmas de programação é muito importante. Hoje quando se compra um livro sobre Java, alguns abordam o mesmo assunto, tipo aprender Orientação a Objetos com Java junto. Como a minha primeira linguagem de programação foi o C, eu aprendi junto com o C o paradigma de programação estruturada. Sendo assim, se você quer se tornar um desenvolvedor Java, se concentre em programação orientado a objeto.

Abaixo as links do wikipedia em português:

Linguagem de programação
Programação estruturada
Linguagem orientada a objetos

Abaixo links do wikipedia em inglês, que parecer estar mais completo:

Programming language
Structured programming
Object-oriented programming

Bom, neste momento você tem tudo para poder investir em uma linguagem de programação, no caso o Java.

3. Java e OO

E importante você se concentrar em aprender Java, neste momento, embora haja uma forte demanda para que você pule os passos indo direto para JSP e Servlets.

Antes de você iniciar no mundo Java na Web, e imprescindível você conhecer muito bem a linguagem Java.

Então agora eu recomendo alguns livros para você, sobre Java:

Java: Como Programar da Deitel, que está na sexta edição em português, parece que domina o mercado nessa área de Java e OO para iniciar. Mas você pode escolher um livro sobre Java da sua preferência, mas pelo que tenho conversado com vários alunos, os profissionais sempre recomendam este livro. É muito importante, você sempre ao adquirir um livro ver a recomendação do livro, e também ver se o livro está desatualizado ou não. A ultima versão do Java How to Program (7th Edition), para quem quiser adquirir a versão em inglês.

Eu também recomendo o livro Core Java 2: Fundamentos – vol. 1, quando comecei em Java eu estudei por esses livros, tanto o volume 1 como o volume 2, mas isso foi por volta de 1997, e naquela época usei a versão em inglês mesmo. Em português eu encontrei apenas o Core Java Fundamentos Volume 1, que hoje se encontra na sétima edição, o original que encontrei na amazon está na oitava edição:

Core Java(TM), Volume I–Fundamentals (8th Edition)
Core Java(TM) 2, Volume II–Advanced Features (8th Edition)

Java em poucas palavras (In A Nutshell), parece ser também uma boa introdução, pelo menos quando pesquise na amazon, encontrei bons comentário deste livro.

Java In A Nutshell, 5th Edition (Paperback)

Um livro que está na moda, e todos falam bem é o Head First Java, 2nd Edition, por isso acho que esse livro vale a pena também pois tem boas indicações e comentários

A Caelum uma empresa de treinamento Java, além de oferecer um curso Java e Orientação a Objetos, oferece uma apostila, que é quase um livro, totalmente em português aqui e grátis, baixe a vontade.

Além disso, temos também na categoria Java e Orientação a Objetos, os cursos Introdução à Programação I e Introdução à Programação II disponibilizados no projeto JEDI, com apostila, apresentação, vídeo aula e exercícios, além de uma estrutura para tirar dúvidas de casa lição.. Ou seja, para você investir nisso, você pode ser inscrever no curso do JEDI, que é uma excelente iniciativa na carreira Java, e também grátis.

Depois do tópico Java e Orientação a Objeto, você pode estudar Estruturas de Dados também, que é recomendável neste momento.

4. Estruturas de Dados

Novamente vou fazer propaganda da Caelum e do JEDI.

A Caelum disponibiliza o curso Algoritmos e Estrutura de Dados em Java, com apostila em português disponível aqui.

O JEDI também disponibiliza um curso de Estruturas de Dados com apostila, apresentação, vídeo aula e exercícios também, que é outra fonte de estuda para estudar sobre Estruturas de Dados grátis também.

Vocês perceberam que avancand0 no estudo de Java, que existem segmentos diferentes para desenvolver Software em Java. Aplicações standalone ou aplicações batch, ou seja programa sem interface gráficas. Esse programas serão feitos por você muitas vezes, quando vocês estiverem aprendendo a linguagem Java, e é claro existem aplicações no mundo real para este tipo de aplicação.

5. Design Pattern

Depois que você já está bem afiado em OO, Java e estrutura de dados chegou a hora de estudar Design Pattern. Perceba que neste momento você deve estudar Java Design Pattern e não JEE Design Pattern.

Para este o estudo de Java Design Pattern eu indico os seguintes livros:

Design Patterns: Elements of Reusable Object-Oriented Software, este livro é o mais famoso na area de design pattern, conhecido pelo time de escritores Gang of four (Erich Gamma, Richard Helm, Ralph Johnson, John M. Vlissides). O exemplos desse livro estão em C++, mas isso não será um problema para quem já conhece o java. Este mesmo livro tem uma versão em português intitulado com o Padrões de Projeto.

Outro livro muito recomedado para Design Patterns é o Head First Design Patterns.

Temos também o Padrões de Projeto em Java e sua versão em inglês Design Patterns in Java, para quem quer ver os exemplos em códigos Java.

Para quem não quer gastar dinheiro o livro Java Design Patterns , está disponibilizado aqui, para qualquer que queira estudar por ele.

6. AWT/Swing/SWT

AWT/Swing/SWT são APIs para desenvolver programar com interface gráfica em Java. Eu Já falei isso aqui no blog, neste momento vocês estarão aprendendo a construir aplicações no estilo Visual Basic e Delphi. Lembrando que nestes livros sobre Java para iniciante, abordam apenas o tópicos sobre interface gráfica de uma maneira geral. Se você quer se especializar em desenvolver softwares com interfaces gráficas em Java, recomendo comprar um livro somente sobre assunto como AWT, Swing ou SWT.

7. Java na Web

Esse é o assunto alvo para muitos desenvolvedores. Muito estudam tanto para chegar aqui, e finalmente desenvolver aplicações Java para a Web.

Mais é muito inportante neste momento inicial você se concentrarem em 2 tópicos.

7.1 HTML

HTML é a linguagem de marcação de texto que os nossos browser como o Firefox e IE (Internet Explorer) entendem. Tudo o que você visualiza dentro de um browser, foi desenvolvido e escrito usando HTML. Então HTML é essencial neste momento. Se concentre em estudar HTML através de livros com boas recomendações e atualizados.

Já vi muitas pessoas estudando feito desesperado JSP e Servlets API para construir aplicações Web em Java sem a mínima noção do que é HTML, então recomendo fortemente concentrar esforços em HTML antes de ir para JSP e Servlets.

7.2 JSP e Servlets

Finalmente você chegou no momento para desenvolver aplicações Java para Web. Por desespero você não ve a hora de aprender Struts, que é o framework para desenvolvimento Web mais ultilizado do mercado (muitas oportunidades de empregos pedem Struts). Mas antes de partir para o Struts, pense em estudar bem JSP e Servlets.

JSP e Servlets são APIs para desenvolvimento em Java, por exemplo o framework Struts usa muito a API Servlets.

JSP ( Java Server Pages) é a tecnologia de visualização no mundo Java. Podemos comparar inicialmente JSP com PHP. Em Java diferente do PHP, onde só usamos scripts dentro de páginas PHP, podemos fazer a mesma coisa com o JSP, mas devido as recomendações de boas práticas usamos o JSP somente para a camada de visualização do nosso sistema.

Neste momento recomendo você estudar muito JSP e Servlets. Por isso fica a vontade em escolher um bom livro que apenas aborde JSP e servlets.

Eu estudei JSP e Servlets por esses:

Core Servlets and Javaserver Pages: Core Technologies, Vol. 1 (2nd Edition)

Core Servlets and Javaserver Pages: Advanced Technologies, Vol. 2 (2nd Edition)

Core Servlets e Java Server Pages – Vol. 1 existe em português também, por isso também recomendo.

O problema desse livros é que eles são um pouco velho (principalemente as versões em português), e a tecnologia muda muito rápido, por isso eu recomendo o Murach’s Java Servlets and JSP, 2nd Edition, que é novo e parece ser bem interessante também. Achei um interessante discussão sobre esse livro no the server side. No mesmo the server side encontrei um livro grátis, em inglês com o titulo de Servlets and JavaServer Pages: The J2EE Technology Web Tier.

Na próxima parte deste artigo vou escrever o que vem depois de JSP e Servlets.

Last update: March, 18, 2008

Kleber Rodrigo de Carvalho