Archive for November 2010
Java Virtual Machine – Quantas Línguas Fala a JVM
Há muito tempo que a Java Virtual Machine deixou de se uma máquina virtual “Java”. Na verdade, ela nunca foi.
Por entender apenas bytecodes, a JVM é capaz de executar qualquer linguagem que possa ser compilada por bytecodes.
E é sobre esse assunto que tratou a minha palestra na 1ª Reunião Mensal do UAIJUG, realizada no dia 06/11/2010.
Em breve postarei os vídeos.
Todas as perguntas que você tinha sobre Java e tinha medo de perguntar!
Todos os dias, dezenas de jovens programadores acessam o fórum do GUJ e fazem as mesmas perguntas. Muitas vezes as respostas mudam com o tempo, mas o fato é que, uma vez iniciada sua carreira como Programador Java, você provavelmente fará as mesmas indagações que já foram feitas.
Este artigo não tem a pretensão de ser um guia definitivo. Não desejo ver programadores com este artigo impresso, gritando no meio da rua: “O mundo vai acabar! Venham ouvir a Palavra e salvem-se”. Não. Quero mais é levantar a discussão, instigá-los a refletir sobre seus objetivos e o que realmente querem de suas vidas. Let’s go!
1 – Tenho visto muitos sites falando de Ruby, Python e até mesmo PHP. O Java vai acabar?
Claro que vai! Tudo acaba um dia. A questão é: quando? É provável que a maioria de nós morra sem ver o fim do Java.
Java se estabeleceu no mercado e isso é um fato. E a cada ano sua base de código cresce mais. E as empresas não vão refazer algo que está funcionando só porque o Ruby está na moda. Alguém lembra do Cobol? Hoje quase ninguém cria um novo projeto em Cobol. Mas existe uma base de código tão gigantesca que ainda é necessário formar programadores para continuar dando manutenção e acrescentando coisas a esses sistemas. Acredito que o mesmo se dará com Java.
2 – As vagas para Java estão diminuindo?
Não; estão aumentado. E não só para Java. PHP, Ruby, Python, C, C++, C#… O mercado está aquecido. Após o fim da crise de 2008/2009, as empresas voltaram a contratar. E aqui no Brasil, temos um problema muito grave: a falta de profissionais.
A demanda por profissionais cresce muito mais do que a oferta. E isso não necessariamente é uma coisa boa.
3 – Mais aí meu salário não fica maior? Isso não é bom?
Bem. Se você for capaz de dar conta do serviço dos programadores que faltam… Pense num time de futebol. Digamos que ele não possa mais contratar jogadores, porque estes estão em falta. Imaginem o Neymar, jovem, porém talentoso, tendo que dar conta de fazer gols, voltar pra marcar o contra-ataque e ainda ficar no gol para agarrar os chutes dos adversários. Quanto tempo ele aguentaria exercer tantas funções? Isso acontece em nossa área. Profissionais sobrecarregados e estressados estão ficando doentes e largando seus empregos.
Além desse problema, temos o problema do custo. Em nosso país, um empresário já sofre com o alto custo para contratar. Se estes custos sobem muito, ele tem que repassar para o cliente. Se ele repassa, o cliente exige mais ou parte para outro fornecedor. A Índia está aí, cobrando barato. Resultado: nosso mercado hoje corre o risco de entrar em colapso.
Portanto, se alguém quer aprender Java, ajude. Isso é bom pra você também.
4 – Trabalhar CLT ou PJ?
Depende do seu perfil. Você é empreendedor? Sabe guardar dinheiro? É disciplinado? Vai trabalhar em casa? Você enxerga o cara para quem você trabalha como seu cliente? Gosta de assumir riscos?
Se respondeu sim à maioria das perguntas, pode trabalhar como PJ. Lembre-se que PJ é Pessoa Jurídica, ou seja, uma EMPRESA. Só trabalhe como PJ se você SE TRATA como empresa. Se é para ser empregado, é melhor CLT.
PJ é bom no fim do mês, mas a longo prazo, pode ser uma droga se você não se prepara para as adversidades da vida. Acidentes, doença, demissões… Tudo isso é resolvido melhor quando se trabalha CLT.
Lembrem-se que alguns empresários contratam como PJ apenas para pagar menos impostos. Mas mandam e desmandam como se fossem seus patrões. E na hora de mandar embora, pra ele, é muito mais fácil.
5 – Ser especialista em Java ou conhecer um pouco de cada?
Sem enrolação, OS DOIS! Sabe aquela história de que você só é capaz de aprender uma tecnologia? Se alguém insistir nisso com você, peça a Deus (ou a qualquer entidade que você adore) que ajude este pobre ser limitado.
Nossa mente é capaz de coisas maravilhosas. E uma delas é aprender muito. Bastante. Pra caralho mesmo!
Java pode ser sua porta de entrada para o mundo da programação, mas vocẽ não pode só ficar na sala de estar! Primeiro, vai aprender Java. Depois enquanto estuda Java, você vai começar a estudar outras linguagens. Vai aprender novas técnicas; novos paradigmas. E o que é mais legal: quanto mais aprender coisas diferentes de Java, melhor desenvolvedor Java será.
6 – Não gosto de ler. Detesto estudar. E pra piorar, além de ter que ler um monte de livros, cada um deles é enorme! Como posso aprender Java sem ter que ler?
Amigo, sinto muito, mas vai aprender Java da pior maneira possível: somente na prática. Imagine um garoto que sonha ser médico, mas não quer fazer medicina. Como acha que ele vai aprender?
Provavelmente ele irá se juntar a alguém muito experiente, observará bastante, passará horas e horas abrindo corpos, experimentando… E provavelmente cometerá todos os erros que já foram cometidos pelos médicos dos últimos 1000 anos. Quanta gente morrerá até que ele entenda que precisa de mais que apenas UM MESTRE?
Ler um bom livro é como se o autor estivesse ao seu lado explicando. Imagine A Kathy Sierra te ensinando Java? Quando você lê, aprende com os erros dos outros e com sua experiência. Cada livro que lê é uma lição com UM MESTRE DIFERENTE.
Entretanto, ler apenas não é suficiente. Ninguém aprende a voar só no simulador. Portanto, pratique também. LER E PRATICAR; essa é a forma mais rápida de aprender qualquer coisa.
7 – Quanto eu preciso me dedicar para me chamar Especialista em java?
DEZ MIL HORAS.
Assusta não; é isso mesmo. Segundo pesquisas que fizeram (não tenho referências, mas saiu em uma super interessante recente) é necessário 10.000 horas se aplicando em uma área para se tornar bom nessa área.
O que acha mais provável:
- Cielo acordou um dia, aos 20 anos e disse: “Vou ser nadador!”. Fez o curso “ND 08: Formação Nadador Power” na Caelum* e três meses depois era um campeão da natação!
- Cielo nada desde muito tempo. E nada. E nada. E nada. Treina todo santo dia. Se esforça o máximo que pode. E quando está cansado, nada pra descansar. E faz isso até se tornar campeão. E pra comemorar, ele nada mais. E até quando não faz nada, ele nada.
Pois é. Ser bom em algo, exige dedicação. E quanto mais se dedica, mais perto da sua meta chega.
Se você se dedicasse 8 horas por dia aos estudos, seria bom em 3 ou 4 anos. Mas são 8 horas TODO SANTO DIA. Sem domingos, sem feriados. Entende porque aquele CDF da sua turma se formou quase um especialista?
Se dedicando 3 horas por dia, são quase 10 anos. E aí, quando quer atingir sua meta?
8 – Me fizeram uma proposta para ganhar o dobro do que eu ganho com Java, mas para fazer um trabalho que não gosto. Devo aceitar?
Não, não, não e não!
Algumas pessoas dizem que tudo na vida tem um preço. Mas existem coisas que não têm. E sua felicidade é uma delas. Claro que existem momentos na vida em que uma pessoa precisa fazer algo que não gosta. Mas isso ocorre quando ela NÃO TEM ESCOLHA!
Trabalhe com paixão. Faça aquilo que você gosta. Se dedique ao seu trabalho com amor e o dinheiro será uma consequência natural. Busque somente o dinheiro e ele corre de você!
Pessoas apaixonadas pelo próprio trabalho conseguem fazer coisas que pessoas que buscam apenas dinheiro não conseguem. E elas são muito mais felizes. Eu sou uma dessas pessoas. E você? O que quer ser?
* A Caelum, citada neste arquivo, é considerada a melhor “escola de Java” do Brasil, com diversos cursos. Pena que ainda não tenham cursos online. Eu mesmo faria várias
http://www.caelum.com.br/
** Esse é um artigo que publiquei no site do GUJ FACAPE.
Como não ser um programador troll
Saudações a todos!
Finalmente, depois de quase um ano fora do ar, pude trazer meu site de volta. Infelizmente sem nenhum conteúdo do anterior. Sabe como é. Só jesus salva. E como não sou Jesus, não salvei, não fiz backup e perdi tudo que eu tinha numa série de crises mundiais que quase extinguiram o planeta.
Mas vamos ao que interessa. Quer agir como um cara legal e deixar de ser um troll? Isso é assunto pra muitos posts. Pra começar, pare de criticar quem usa cada tecnologia que você não usa.
Usa Netbeans? Não critique quem o Eclipse. Usa Eclipse? Não critique o Netbeans. Use as duas. OU cale a boca.
Você programa em Java e não gosta de .Net? Cale a boca. POr acaso você conhece .Net o suficiente pra fazer as críticas que vem fazendo? Eu aposto que não. Conhece? Mais um motivo pra calar a boca. Isso já colocou muito pão na sua mesa (se não trabalhou com isso, não diga que conheça!). Não seja ingrato.
Evite ficar bitolado como muitos que conheço, que usam só Netbeans ou só Eclipse e ficam falando mal do “outro lado” sem sequer saber como funciona. Pra falar a verdade, muitos desses não sabe como funciona nem a IDE que usa.
E quando ganhar experiência, não siga alguns programadores que criticam todas as outras tecnologias. Não critique .Net ou Python ou Ruby. Sei que é tentador fazer parte de um grupo e se sentir superior por isso, mas acredite, ficar batendo em quem outras tecnologias normalmente faz papel de babaca, arrogante, bitolado ou tudo isso junto (na maioria dos casos).
Aprenda que cada tecnologia e linguagem vai te dar um conhecimento diferente que, somado aos que já tem, vai ser muito útil pra vc.
Veja bem… Críticas construtivas são boas. Falar que Java é verbosa e que J2EE é difícil foi bom pra comunidade. Mas chamar o Zé do Bit de burro por usá-los… Xii…
Lembre-se que do “outro lado”, usando aquela “tecnologia de merda” existem pessoas. Seus colegas de trabalho,amigos, colegas de profissão. Criticar o trabalho deles (que muitas vezes é tão bom ou melhor que o seu) irá ofendê-los. Você não vai querer que aquele “cara da linguagem de porcaria” que você esculhambou no fórum vire seu chefe, vai?