Por dentro do Google

O Mundo S/A é um dos meus programas preferidos, principalmente quando ele fala sobre ciência, tecnologia, empreendedorismo e carreira, assuntos que eu adoro conversar.

Assisti hoje o programa Por dentro do Google, um programa que conta um pouco sobre o google e como as pessoas que trabalham lá dentro se comportam. Vale a pena assistir !

Kleber Rodrigo de Carvalho

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

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

Java o passado e o futuro

Hoje em dia se tem falado muito do futuro do Java. Será que o Java está em declínio ? Será que vale a pena aprender Java ainda ? Ou seja, várias perguntas surgem na cabeça do desenvolvedor e principalmente naqueles que iniciaram agora na area de desenvolvimento de Software.

O Cesar Taurion escreveu no blog dele o artigo Java hoje e amanhã, assim como já tinha indicado um artigo Java é o novo Cobol, falando exatamente sobre o futuro do Java. Isso sem citar outros milhões de posts e fóruns que discutem exatamente isso. Para nós entendermos o que está acontecendo com o Java hoje, é importante olharmos o passado um pouco, afinal de contas, como dizia um professor de História da Ciência e da Técnica, na univeridade, quando eu perguntei porque um curso de história era importante em um cursos de ciência da computação, ele me respondeu o seguinte: “A historia nós faz analisar o que já aconteceu no passado”. Dai eu extraio uma frase, que sempre repito na minha vida, os inteligentes aprendem com os próprios erros, os sábios com erros dos outros.

Voltando a historia, em 1996 quando eu me formei do meu colégio Técnico em Processamento de Dados, eu fiz uma analise do Mercado na área de desenvolvimento de Software. O mercado era mais ou mesmo assim. As Universidade ensinam linguagem tipo C/C++, Pascal etc, mas os profissionais na grande maioria quando entravam no mercado de trabalho, trabalhavam como Clipper, Visual Basic e Delphi. Existiam realmente poucas oportunidade e sistemas que eram desenvolvidos na área comercial usando essa linguagens que as universidades ensinavam. Os alunos estudavam linguagem tipo C/C++ e Pascal, mas o mercado de trabalho queria Visual Basic e Delphi. E claro que tinham exceções, assim como toda a regra.

Durante meu anos de universidade eu tive um forte embasamento em linguagem C, até porque cursei o curso de Bacharel em Ciência da Computação. Quando comecei a estudar metodologia de Orientada a Objetos, comecei a estudar o C++ ( uma caminho a ser seguido, afinal já programava em C) e comecei a estudar Java também.

Foi nessa mesma época que comecei a trabalhar com Linux, mais ou menos em 1997. Achava que linux e Java era lindo. Até porque me dava muito trabalho migrar um programinha do C do Windows, para o C do linux. Achava Java realmente muito bom para isso. Para vocês terem um idéia, a primeira linguagem Visual que aprendi não foi nem Visual Basic, nem Delphi, e sim o Borland C++ Builder. Naquele época por ter um tendência a achar que, programa bom deveria funcionar pelo menos em Linux e Windows, o Visual C++ da Microsoft não era uma opção embora com o Borland C++ Builder as coisas também não era tão fáceis assim.

Agora Java era o máximo para mim, foi a partir disso que eu me especializei nessa linguagem. No último ano da Universidade quando já fazia estágio, no falecido Zaz, hoje conhecido como Terra, eu era o unico desenvolvedor Java deles (da região de Piracicaba), enquanto o desenvolvimento Web era ainda era muito pouco concebida e PHP e o ASP da microsoft eram as preferidas dos clientes. Mesmo assim, se você queria ganhar bem, recomendava-se aprender Visual Basic e Delphi e desenvolver aplicações desktop, mas realmente eu gostava mesmo de Web.

Finalizando meu estágio, eu quase decidi aprender ASP e PHP, porque achava que Java não tinha muito mercado, isso foi em 1999 e 2000. Até que decidi me mudar para São Paulo. O Ano era 2001 e Java começava a bombar.

De cara o meu primeiro grande projeto em 2001 foi para um companhia de telecomunicações chamava Vesper, onde o sistema era hospedado na IBM Tutóia, com toda infraestrutua IBM e seu WebSphere (naquela época WebSphere estava engatinhando). Foi esse o meu primeiro grande projeto Java e dai em diante eu comecei a ir para o lado da IBM e seus produtos.

Mas, afinal de contas, o que aconteceu daquela época para cá ?

Aconteceu muitas coisas, uma delas que é Java começou a ser ensinado nas escolas e universidades, e finalmente o aluno começou sair da Universidade para o Mercado de trabalho, usando a mesma linguagem que ele havia estudado lá . O Alunos não precisavam mais aprender outras linguagem de programação (ma maioria das vezes). O meio científico, que tinha como linguagem preferida o C/C++ começou a olhar o Java de uma forma melhor (sim eu participei de um projeto científico na USP financiado pela FAPESP em 1998, se você falava em desenvolver pesquisa em Java, você seria completamente ignorado, o meio científico e academico dizia que cientistas programavam em C/C++). As empresas que desenvolvem produtos, passaram a ter escolhas além do C/C++ para desenvolver produtos, e Java começou a aparecer não somente no mercado comercial, mas no mercado científico e acadêmico, mas como também empresas que desenvolvem produtos.

Mas o que são produtos ?

  • Por exemplo a IBM hoje tem a linha Rational, com vários produtos desenvolvidos em Java. Antes, muitas empresas não pensariam em outra linguagem a não ser o C/C++ para desenvolver produtos, no caso ferramentas que auxiliam o desenvolvimento de software.
  • A IBM tem produtos na linha WebSphere, como WebSpehre Application Server, Websphere Message Queue, WebSphere Broker, WebSphere ESB onde Java C/C++ trabalham de forma muito bem integradas dentro desses produtos.
  • A Oracle junto com o seu Banco de Dados, empacota várias aplicações escritas em Java, assim como a IBM junto com o seu DB2. Ou seja, existem hoje realmente produtos escritos em Java.

Citei apenas alguns para vocês terem ideias. Nesse quase 10 anos que venho trabalhando e estudados Java, Java se tornou a linguagem escolhida para muitos produtos, softwares, aplicações etc.

Mas agora as pessoas perguntam, será que Java é bom para tudo ?

Será que para eu desenvolver um Sistema rápido não seria melhor usar PHP, Python, Ruby, ou Groovy ?

Assim como no passado o mercado disse, não precisamos de uma linguagem tão complexa ou poderosas para desenvolver aplicações comerciais, embora eles tivesse o C/C++ muitas aplicações eram desenvolvido em Visual Basic e Delphi. Hoje o mercado faz a mesma coisas, será que precisamos desenvolver tudo em Java, será que para determinado projeto não seria melhor PHP, Ruby, Groovy e Python ?

Então o que acontece hoje não é que Java está perdendo seu espaço. Os desenvolvedores e os tomadores de decisões estão apenas perguntando, será que isso realmente precisa ser feito em Java, ou eu posso escolher outras linguagem mais simples !
Trabalho com Java a muito tempo, e até alguns anos atrás só havia estudados C/C++ além do Java. Hoje tenho estudado e ficado em alerta em PHP, Ruby, Python e Groovy. Porque ?

Quando preciso argumentar em um projeto, sobre as vantagens de cada linguagem, preciso ter um ótimo embasamento técnico para argumentar qual a melhor solução para aquele determinado cliente. Falar que linguagem X é bom, porque eu gosto não é o melhor argumento.

Outra coisa, estudar outras linguagem não me fez gostar menos do Java. Aprender outras linguagens me fez abrir a cabeça e entender que para cada solução eu posso ter um linguagem para resolver o meu problema.

É por isso que empresas como a Sun, está investindo pesado em para portar linguagem para a JVM (assim como a microsoft faz com o seu CLR), veja o caso do Ruby como o JRuby, Python com o Jython, e o Grovy. A Sun não está abandonando o Java, eles só querem ter um número maioria de linguagens na JVM, conseqüentemente Java poderá se interagir com várias delas.

A própria IBM no Projecto Zero, usa bastante em PHP e Groovy.

Na semana passada a Sun contratou 2 desenvolvedores chave do Python e Jython, mas um indicio que termos mais uma boa alternativa de linguagem dentro da JVM.

Kleber Rodrigo de Carvalho

O que é IPTV

Conforme escrevi anteriormente sobre as cinco teconlogias que prometem virar hit em 2008, a primeira tecnologia que eu pesquisei foi o IPTV.

Abaixo vai os links das noticias que me ajudaram a entender o que é IPTV:

Kleber Rodrigo de Carvalho

Qual idioma é importante para você: inglês, espanhol, francês ou alemão ?

No meu post sobre a importância do inglês, eu falo bastante sobre a importância do inglês para mim. Também comentei, que eu a abri mão de aprender um terceiro idioma, para me especializar ainda mais no inglês.

E para você, qual o idioma você deve aprender ? inglês, espanhol, francês ou alemão ?

Na área onde trabalho, desenvolvimento de software, inglês com certeza é o número 1. Mas depois do inglês, qual idioma você dedicaria seu tempo, dinheiro e vontade para aprender ?

Bom, eu decidi aprender espanhol, porque primeiro acho o idioma lindo, tanto na pronuncia quanto na escrita. Outro motivo foi cultural, quero aprender o idioma falando em quase todos os países da América Latina, afinal somos o unico pais na América Latina que não fala espanhol. Também quando fui para o Estados Unidos, na cidade de Austin, capital do Texas, as vezes via inúmeras pessoas falando espanhol lá. Ou seja, para os Americanos, o espanhol já está sendo considerado um idioma muito importante. OK, o Texas faz fronteira com o México, mas não é só por isso. A quantidade de latinos que hoje trabalham e vivem nos Estados Unidos fazem com que os americanos realmente pensem no espanhol com uma oportunidade de negócios também.

Mas, depois disso, devo aprender francês, alemão ou <coloque aqui o seu idioma preferido> ?

Essa foi uma pergunta que sempre me fiz, e sempre que posso, falo com executivos e pessoas que conhecem o mercado de trabalho para me ajudar, nessa resposta.

Fica a dúvida, porque existem pessoas que juram de pé junto é o alemão tem mais oportunidades de trabalho, e outras também afirmam com categoria, que o francês, é um idioma muito mais requisitado também.

Hoje pesquisando no google, encontrei um artigo no catho sobre a importância do idioma na carreira. Neste artigo a autora diz que o francês e o idioma mais requisitado pelo mercado brasileiro depois do inglês e espanhol. Mas será que devemos escolher um idioma, pelo mercado de trabalho ou pela facilidade ?

Pesquisando sobre isso, encontrei no Yahoo! Respostas, uma citação do senhor Sr. Maximilian Berlitz, que para mim é a melhor maneira para se decidir, qual idioma você deve aprender.

Escolha a língua cuja a cultura e povo falante te interessem mais. Só se aprende bem uma língua se tem igualmente interesse pela cultura.

Ainda não encontrei nenhuma referente sobre o autor e essa frase, pois encontrei essa citação no Yahoo! Respostas, mas posso afirmar que essa frase ajudará os indecisos que querem decidir, qual idioma eles vão aprender.

Kleber Rodrigo de Carvalho

A importância do inglês

Quando ministrei uma palestra na FATEC SP, falei várias vezes sobre a importância do inglês. As vezes falo tanto nisso, que pareço até chato, de tanto que enfatizo a importância do inglês.

Comecei a estudar inglês em 1997, no mesmo ano que entrei na faculdade. De 1997 para cá, parei alguns meses de estudar, mas sempre que posso, volto. Acho que já devo ter estudado uns 6 anos, em cursos regulares de inglês, desde minha primeira escola em Sorocaba a PBF, onde fiquei 3 anos. Depois disso voltei a estudar em São Paulo na escola de línguas Milleniun, onde tive excelentes professores, como o professor César Sóos, e professores extrangeiros Paive Tiura (Finlândia) , Ana Lindqvisq e Hellena Mellander (ambas da Suécia).

Nessa época já estudava espanhol, pois achava que meu inglês já estava ótimo, pois já estava no Advanced English Course.

Em abril de 2005 participei do primeiro projeto internacional. Este foi o primeiro projeto onde a língua oficial foi o inglês, somente inglês embora haviam alguns brasileiro no mesmo projeto. Foi nessa hora que percebi que meio inglês não era bom ainda (como eu gostaria), ou seja eu não era fluente como eu quero ser. Depois disso, se passaram 5 projetos, contando com o que estou atualmente, somente projetos internacionais desde lá.

Hoje sou o unico brasileiro do meu time, ou seja, é inglês o dia interno. Na verdade até gosto de ser o unico brasileiro do time, porque isso me vez ver o quanto eu precisa melhor o meu inglês. Sim, eu sou exigente comigo mesmo, quero falar inglês como um Native Speaker. Até já pensei em estudar outro idioma, cheguei a pensar no Francês (já que estou bem encaminhado no espanhol), mas minha vontade de falar inglês como um Native Speaker me fez adiar esse plano. Minha namorada até pega no meu pé, dize que eu não precisava de tento, mas “Eu quero”.
Quando tenho meeting e meus Project Manager ambos americanos nativos falam, o inglês deles soa com musica para meus ouvidos. Acho lindo ! Já escutei alguns brasileiros que quando falam inglês, parecem Americanos falando, e é nesse nível que quero chegar.

Sonho quando chegar no nível em que quando estiver falam com um Americano, eles nem percebam que eu sou um extrangeiro.

Gracas a empresa que atualmente trabalho, já tive a oportunidade de ir 3 vezes nos Estados Unidos. Fui uma vez para Austin no Texas e duas para Richmond na Virginia. Na primeira vez fui para a IBM Research, pois trabalhava em um projeto para a IBM Estados Unidos.

Na segunda e terceira viagem fui para um cliente em Richmond. Essas viagens me deram a oportunidade de fazer uma imersão em inglês, o que para mim não tem preço.

Hoje meu inglês é bom, atualmente curso o Advanced Conversation Course no CNA, e vejo que estou a caminho do meu objetivo.

Também me forço a ler livro em inglês e assistir bastante programa de TV em inglês (as vezes com legenda em inglês também).

Estou escrevendo esse post, porque encontrei no youtube uma resportagem no Bom dia Brasil, sobre empresas de software que precisam de profissionais com inglês para trabalhar em projetos internacionais.

Veja o video CPM Braxis é manchete no telejornal Bom Dia Brasil

Entre no site da CPM Braxis para saber um pouco mais da sobre a empresa.

No mercado financeiro tem um ditado que diz, quando os jornais e revistas ( a imprensa em geral), começa a divulgar ou emitir os bons resultados de alguns papeis (investimento em geral) com bons desempenhos, os analistas dizem, fuja desse papeis pois já estão no limite da valorização.

Mas o que dizem quando programas de TV ( no caso do Bom dia Brasil), divulgam reportagem dizendo sobre a falta de profissionais com o inglês ?

Significa que eles estão desesperados atrás desse tipo de profissional. Por isso para de discutir em foruns se Inglês fluente em vagas de TI, necessidade ou exagero ?, aconselho você a aprender inglês já.

Kleber Rodrigo de Carvalho

Como se manter motivado

O Akita escreveu um artigo muito interessante sobre “Para eu ganhar, o outro precisa perder“, que merece muito ser lido.

Ela fala do crescimento da Apple que é oficialmente a fabricante de computadores mais valiosa da atualidade e a quarta maior em tecnologia atrás apenas da Cisco, Google e Microsoft. Desde ontem as ações subiram ainda mais e a empresa tem um market cap de US$ 162 bilhões, passando empresas com IBM, Intel e Nokia.

O Akita destaca o pensamento do Steve Jobs:

A Apple vive num ecossistema. Significa ser ajudado por outros parceiros, significa ajudar outros parceiros. E relacionamentos que são destrutivos não ajudam ninguém nessa indústria como ela é hoje.

Precisamos deixar de lado essa noção de que para a Apple vencer, a Microsoft tem que perder. Precisamos abraçar a idéia de que para a Apple ganhar, a Apple precisa fazer um trabalho realmente bom. E se outros vão nos ajudar isso é ótimo! Porque precisamos de toda ajuda que pudermos conseguir. E se nós ferrarmos e não fizermos um bom trabalho, não será culpa dos outros, será nossa culpa.

Na verdade o Steve Jobs estava tentando explicar para o publico sobre o porque do “Microsoft invests in Apple Computer“.

Mas com certeza a idéia da declaracão do Steve Jobs, espelhou um excelente comentário do Akita:

Isso é uma coisa que eu sempre fiz questão de levar ao pé da letra: eu já presenciei coisas idiotas, mas não existe nada mais idiota do que uma pessoa que, para parecer melhor, tenta fazer os outros parecer pior. Pelos meus artigos anteriores pode parecer que eu estou tomando partido para que o Linux pareça ruim, que a Microsoft pareça ruim. Nada disso: eu quero que a Apple fique boa. Se os outros ficam bons também, bom para eles.

Entenderam? A pessoa está num nível, digamos, 10 e o outro está no nível 20. Em vez dela se esforçar para atingir o nível 30, tenta puxar o tapete da outra para ver se ela cai para 10. Daí fica todo mundo igual. Uau, idéia de gênio! É o pensamento mais ignóbil, retrógrado, deprimente, lamentável que existe. Pessoas que falam mal pelas costas, que agem de má-fé pelas costas, que fazem panelinhas, que só sabem criticar de maneira improdutiva em vez de colaborar. Reclamar é muito fácil. Fazer é mais difícil.

Eu tenho dezenas de ídolos, figuras históricas, celebridades modernas e pessoas que foram meus amigos, conhecidos e até alguns inimigos. Todos eles muito superiores a mim. Eu preciso de figuras assim, longes e próximas. Foi quando meus colegas da faculdade se mostraram fluentes em inglês que eu também quis ser assim. Foi quando um colega meu demonstrou desenvoltura em Python que eu também quis aprender. Foi quando outro amigo meu demonstrou destreza em Linux que também quis aprender. Foi quando um chefe meu me mostrou o que fazia com o Mac que também queria fazer. Foi quando reencontrei um antigo conhecido, mestre em SAP, que eu também quis aprender. E é assim que se evolui: de degrau em degrau, ajudando e sendo ajudado, nunca atacando e se defendendo.

Quero deixar claro, que o Akita mandou muito bem, realmente disse o que eu sempre digo para a pessoas, mas elas custam a entender.

Sempre trabalhei em projetos excelentes, em empresas muitos boas também, diferente que muitas pessoas de IT descrevem . Sim, acho que sou um cara de sorte ! Mas já trabalhei com pessoas que tinha a idéia que o Akita colocou no título do seu artigo “Para eu ganhar, o outro precisa perder”. E isso acontece não só na area de TI, mas em qualquer profissão.

Porque será que existe essa mentalidade ?

Bom, aproveitando esse tópico, o pessoal do Nome do Jogo, colocou um poste sobre Eu quero subir, você vem junto uma excelente apresentação no youtube do Daniel Godri cujo o tema é Daniel Godri – Motivado X Bola Murcha.

Kleber Rodrigo de Carvalho

Porque o Java é importante para a IBM

Na semana passada fiz uma apresentação na FATEC em São Paulo, na terça feira dia 02 de Outubro. O tema da minha apresentação foi Porque o Java é importante para a IBM, dentro do 9 Congresso de Tecnologia.

  • A IBM
  • A demanda por profissionais qualificados
  • Porque o Java é importante nas universidades e no mercado de trabalho
  • Mercado de trabalho e as linguagens de Programação
  • O profissional que o mercado procura
  • As oportunidades
  • Como os universitários podem se preparar para o mercado de trabalho
  • IBM Academic Initiative

O objetivo da minha apresentação foi mostrar para estudantes de graduação e pos graduação que tipo de profissional o mercado de TI está procurando hoje, e como eles podem desde já se preparar para este mercado. Também apresentei o IBM Academic Initiative, que é um programa que se aproxima estudantes da IBM (Colégios Técnicos e Universidade).

Estou recebendo alguns e-mails dos estudantes da FATEC sobre vários temas discutidos na apresentação. Fiquem a vontade para comentar aqui também sobre suas dúvidas.

Estou disponibilizando o download da apresentação aqui.

Quero agradecer aqui as pessoas que conversei na FATEC, aos alunos que se interessaram pelo assunto. Também gostaria de agradecer a Macia Ito e Célia Rabelo entre outros professores que conversei quando estive lá.

Deixo aqui o meu muito obrigado a todos.

Kleber Rodrigo de Carvalho