Author Archives: jnaldo

Vaga Java Home Office na JNaldo Consultoria!

Olá camarada javeiro!

E aí, tá de saco cheio de ter que sair de casa todo dia? Deseja trabalhar de casa?
Tá cansado de trabalhar com lideranças que não entendem nada de TI nem de Java?
Gosta de programar e quer ser valorizado por isso?
É apaixonado pelo que faz?
Gosta de ler?
Adora conhecer novas linguagens e tecnologias?
Tem orgulho de ser chamado Nerd?
É viciado em café?

Se
você tem esse perfil, e, além disso, é considerado um desenvolvedor
Java Júnior ou Pleno, a JNaldo Consultoria tem uma oportunidade que pode
ser a sua cara.

Requisitos:
- 1 ou dois anos de experiência com Java Web
- Vontade de aprender
- Tempo pra estudar
- Disposição pra absorver novas tecnologias
- Capacidade de se adaptar rápido
- Disciplina para trabalhar home-office
- Computador, telefone (se for TIM, melhor ainda), e um espaço em casa
(ou escritório próprio, ou onde quiser (desde que não seja na minha
casa)) onde possa trabalhar sossegado

Diferenciais
- Conhecimento em Google App Engine
- Ser capaz de conectar na matrix (quem coda de verdade, sabe do que estou falando!)

Como é home-office, a contratação é PJ.

Interessados, por favor enviar currículos para josenaldo@jnaldo.com com pretensão salarial.

E aí, quer trabalhar de pijamas?

Java Hidden Features

Java possui uma série de features que muita gente não conhece. Algumas são bem esquisitas. Outras, nem tanto. 

Nessa palestra, mostro algumas dessas features.

Em breve atualizo com os exemplos.

O programador Deus Ex Machina

Uma expressão que sempre me intrigou é “Deus Ex Machina”. 

Fui pesquisar dia desses. Olha o que tem na wikipedia: 

Deus ex machina expressão latina vinda do grego ”ἀπὸ μηχανῆς θεός” (apò mēchanḗs theós), significa literalmente “Deus surgido da máquina”.[1].

Sua origem encontra-se no teatro grego e refere-se a uma inesperada, artificial ou improvável personagem, artefato ou evento introduzido repentinamente em um trabalho de ficção ou drama para resolver uma situação ou desemaranhar uma trama. Este dispositivo é na verdade uma invenção grega. No teatro grego havia muitas peças que terminavam com um deus sendo literalmente baixado por um guindaste até o local da encenação. Esse deus então amarrava todas as pontas soltas da história[2].

A expressão é usada hoje para indicar um desenvolvimento de uma história que não leva em consideração sua lógica interna e é tão inverossímil que permite ao autor terminá-la com uma situação improvável porém mais palatável. Em termos modernos, Deus ex machina também pode descrever uma pessoa ou uma coisa que de repente aparece e resolve uma dificuldade aparentemente insolúvel. Enquanto que em uma narrativa isso pode parecer insatisfatório, na vida real este tipo de figura pode ser bem-vindo e heróico[2].

A noção de Deus ex machina também pode ser aplicada a uma revelação dentro de uma história vivida por um personagem, que envolva realizações pessoais complicadas, às vezes perigosas ou mundanas e, porventura, seqüência de eventos aparentemente não relacionados que conduzem ao ponto da história em que tudo é conectado por algum conceito profundo. Essa intervenção inesperada e oportuna visa a dar sentido à história no lugar de um evento mais concreto na trama[3].

tragédia grega de Eurípides era notória em usar este dispositivo na trama[4]. 

Isso parece familiar?

Pra mim sim. Muito. 

Que tal reescrevermos um pouco.

Deus ex machina expressão latina vinda do grego ”ἀπὸ μηχανῆς θεός” (apò mēchanḗs theós), significa literalmente “Deus surgido da máquina”.

Sua origem encontra-se nos projetos GoHorse e refere-se a um inesperado, artificial ou improvável programador, artefato, ferramenta ou processo introduzido repentinamente em um projeto para resolver uma situação ou desemaranhar um papel. Este dispositivo é na verdade uma invenção Go Horse. No projeto Go Horse havia muitos projetos que terminavam com um especialista sendo literalmente inserido por um gerente no local do desenvolvimento. Esse especialista então amarrava todas as pontas soltas do projeto.

A expressão é usada hoje para indicar um desenvolvimento de uma projeto que não leva em consideração sua lógica interna e é tão inverossímil que permite ao gerente terminá-lo com uma sistema improvável porém mais palatável. Em termos modernos, Deus ex machina também pode descrever uma pessoa que de repente aparece e resolve uma dificuldade aparentemente insolúvel. Enquanto que na teoria isso pode parecer insatisfatório, na vida real este tipo de figura pode ser bem-vindo e heróico.

A noção de Deus ex machina também pode ser aplicada a uma design dentro de um projeto criado por um desenvolvedor, que envolva realizações de casos de uso complicadas, às vezes perigosas ou mundanas e, porventura, seqüência de eventos aparentemente não relacionados que conduzem ao ponto do sistema em que tudo é conectado por algum padrão de projeto. Essa gambiarra inesperada e oportuna visa satisfazer os requisitos, no lugar de um design mais apropriado e organizado no sistema.

E agora? Lembrou?

A arrogância do Bozo

Bozo
Estamos tendo diversas discussões no UaiJUG sobre frameworks. E uma dessas discussões me lembrou de uma situação que vejo acontecer em nossa área.
Temos um programador chamado Bozo. Bozo tem um problema para resolver e encontra uma determinada solução (biblioteca | framework | componente). Ele não estuda o componente que vai usar o suficiente (tem Bozo que nem de ler gosta!), então a solução não sai de acordo com o que Bozo esperava.
O que ele faz? Parte para uma solução própria. Reinventa a roda. Porém, sem saber, a faz quadrada.
Em sua sabedoria, ele diz que “essa solução geral sempre tem desempenho ruim justamente por não ser adaptada ao caso dele”. E acha que, se fizer tudo “na unha”, vai atingir os requisitos não funcionais que deseja.
Em sua arrogância, ele sempre acha que sozinho, em 3 meses, com a precária formação que teve, pode fazer um trabalho muito melhor que aqueles 400 idiotas com mestrado/doutorado que trabalham naquele projeto X. Ele acredita que a base de milhares de usuários que testam a ferramenta não fazem diferença. Acha que todos os que alegam que usaram x e tiveram um bom desempenho, usaram magia negra.
O bozo discute com os colegas que gostam de usar soluções prontas. Leva meses programando algo que poderia resolver em um fim de semana com algo já pronto. O Bozo atrasa tudo que é projeto.
Normalmente o que ele acha uma solução inteligente causa ataques de eplepsia nos outros programadores. Sempre que você ver um desenvolvedor falando em comprar uma arma, tenha certeza, esse cara conheceu um Bozo.
E aí? Já conheceu um Bozo? Já foi um Bozo algum dia? Se comporta como um Bozo às vezes?
PS: Essa tirinha foi tirada do http://nerdson.com/blog/ 

Netbeans X Eclipse

Programador é um ser apaixonado. E como tal, costuma gastar um tempo considerável em discussões inócuas sobre suas paixões versus paixões dos outros. E, principalmente no começo da sua carreira, não é raro que essas discussões acabem gerando mágoas, principalmente nos outros. É assim que age um xiita.

Eu mesmo já fui um xiita Java. E cara, como o xiita é (eu era) chato. Ele acredita que a sua paixão é a melhor coisa do mundo. Java é a melhor linguagem, Eclipse é a melhor IDE, .Net é a melhor plataforma e Perl ganha de todo mundo. Quando você menos espera, lá vem o xiita defender o ponto de vista dele, o único válido. E daí que você tem mestrado, 8 certificações, 14 anos de experiência e vários projetos bem sucedidos? Ele, em seus 9 meses de experiência, tem absoluta certeza que você é um dinossauro que não acompanhou o avanço da tecnologia e que não sabe de nada. ele sim, sabe.

E assim, nosso mentecapto programador segue em sua quixotesca missão de destruir todos os infiéis que estão do “lado negro da força”. Ele agride, humilha, discute, ofende e usa de todo tipo de artimanha que puder para “ganhar a discussão”. Não vê que apenas ele está sendo derrotado nessa história.

O que isso tem a ver com Netbeans e Eclipse? Eu uso as duas IDEs, mas ainda hoje, acho quem me critique por usar o Netbeans.

Vamos deixar uma coisa bem clara: Java é multiplataforma. Um desenvolvedor java que se preze, portanto, tem
OBRIGAÇÃO de conhecer Linux e Windows (no mínimo), Netbeans e Eclipse,
Firefox, IE e Chrome… Ele pode ter, claro, suas ferramentas de preferência. Mas deve conhecer as outras e saber como e quando utilizá-las. e se for fazer alguma crítica, pelo amor de Deus, que no mínimo saiba do que está falando!

Quando você ver alguém criticando ferrenhamente a outra IDE, tenha
certeza de uma coisa: essa criatura bitolada não conhece o outro lado.

Até hoje conheço pessoas que dizem que o Netbeans “esconde código” e
“gera código zoado”. Sem falar dos comentários tipo “isso é IDE
acadêmica”, “é IDE para principiantes” e por aí vai. Sinceramente, nem paro
mais para discutir, principalmente porque, na hora do vamos ver, os que
têm me dito isso são justamente os me pedem ajuda 5 minutos depois…

Talk is Cheap. Show me the code.

[rax-google-adsense-1]

Projeto Puglisi – Inscrições abertas

O UAIJUG abre inscrições para voluntários trabalharem no projeto Puglisi
(Sistema para Gestão da Fundação Frei Antonino Puglisi).

Para quem não conhece, Puglisi é o codinome interno do Sistema de Gestão e Site da Fundação Frei Antonino Puglisi, uma ONG voltada ao tratamento de dependentes químicos.

O sistema será opensource e o projeto será desenvolvido por voluntários colaborativamente.

Mais informações em http://uaijug.com.br

Para participar da equipe, todos devem se cadastrar
através do link

https://spreadsheets.google.com/viewform?hl=en&formkey=dDJhNnRULWh1MUdqVUw3RzFQYVgwX0E6MQ#gid=0

É muito importante esse cadastro para que possamos montar o perfil da equipe.

Como não ser contratado por empresas de TI – A entrevista (prólogo)

Olá a todos Infelizmente acabaram as férias e o finalmente acabaram as tempestades pós-férias. E para desespero de vocês, eu estou voltando a escrever. rs

Enquanto aguardam o próximo artigo, sobre a entrevista, vão ficando com essa tirinha do Will Tirando. Passem lá. O trabalho do cara é mesmo muito bom!

Entrevista de emprego

Criador do Websphere diz que o Websphere é o principal erro tecnológico que ele cometeu!

Em uma entrevista concedida à BBC, Donald Fergurson, atual CTO da CA Technologies e criador do Websphere quando trabalhava na IBM, disse que o Websphere foi o principal erro tecnológico de sua carreira.

Suas palavras sobre “Websquare”:

“I call it the endgame fallacy. It was too complex for people to master. I overdesigned it. Because we were IBM, we survived it, but if we’d been a start-up, we’d have gone to the wall.”

Sinceramente, provavelmente tenha sido o maior de sua vida!

Para saber mais detalhes, siga para El creador de WebSphere dice que WebSphere es el principal error tecnológico que él ha cometido – Asociación javaHispano

Como não ser contratado por empresas de TI – O Currículo

Vamos começar agora uma série de posts sobre como não ser contratado e como evitar que as empresas procurem por você! Afinal de contas, esse negócio de trabalho dá muito trabalho e você não quer saber disso em sua vida, não é?

Pra começar, vamos falar sobre o currículo. Normalmente, o envio de um currículo é o primeiro passo de um processo de seleção. Ele é o principal cartão de visitas de um profissional. É a partir dele que uma empresa pode conhecer um pouco sobre você e se interessar por seu trabalho. Ou seja, você pode acabar com metade de seus problemas simplesmente ferrando com seu currículo.

Claro que ferrar com o currículo é uma arte que poucos conhecem. Uma coisa é passar despercebido; outra é conseguir causar uma sensação de desprezo, indignação e ódio no recrutador! Isso sim é efetivo e fará com que ele lembre de você para o resto da sua vida e nunca mais queira te contratar.

Siga as dicas e você conseguirá facilmente ser um bem sucedido desempregado!

1 – Adicione todos os documentos que puder!

Um currículo começa com seus dados pessoais. E todo mau currículo que se preze prima por oferecer um variado cardápio de documentos. Quanto mais, melhor. Tenha certeza que o recrutador passe muito tempo olhando cada um dos documentos que você já tirou em sua vida. RG, CPF, Certidão de Nascimento, Certidão de casamento, título de eleitor, carteira de motorista…. Vale até sua carteirinha do clube de Observadores de Coelhos Negros da Antártida. O que vale é colocar todos os seus documentos no currículo. Lembre-se que ele quer saber o que você é capaz e que seus documentos só irão tomar o tempo dele e irritá-lo.

2 – Não coloque nenhum contato!
Não caia na bobagem de colocar contatos no seu currículo! Nem mesmo aquele MSN que você só usa pra azarar a mulherada na internet. Você não quer correr o risco deles ligarem pra você ou mandarem um email te convidando pra uma entrevista ou mesmo com uma proposta de emprego, quer? Se eles quiserem mesmo você, que se dêem ao trabalho de procurá-lo! Afinal de contas, eles precisam de você e não você deles!

3 – Não use um objetivo claro!
O objetivo do currículo serve para que o recrutador saiba de cara o que você deseja. E se ele souber que seu objetivo é atuar como desenvolvedor Java ou como designer de interfaces, ele pode se sentir compelido a te indicar a um cargo desses. Você não vai querer isso, vai?
Use a seção de objetivos para uma declaração enigmática e cheia de buzzwords sobre como você deseja “contribuir proativamente para o desenvolvimento corporativo ” e como quer “atuar no melhoramento vocacional da equipe” ou “colaborar na transformação de habilidades em valores agregáveis ao time-to-market do crescimento vegetativo lucracional”…
Enfim, faça com que, o recrutador leia seus objetivos e faça cara de QPE (Que Porra é Essa?). Ele nem vai ler o resto.

4 – Não descreva claramente sua experiência profissional…
Digamos que seu recrutador seja um cara persistente(ou masoquista) e continue lendo. Mostre a ele o quanto ele é importante, não escrevendo quase nada na experiência profissional. Ele vai querer saber disso, então, quanto mais esconder, maiores as chances dele desistir de você!
Veja que exemplo magnífico:

Agosto 2010 – Atual
Empresa X
Analista

Isso é lindo! Ele não sabe se você é analista de sistemas, analista de suporte ou analista de doido mesmo. Se puder esconder o período, melhor ainda. Quanto menos descrever, melhor!

5 – Ou descreva exageradamente sua experiência.
Minta. Se ser lacônico não funcionar, minta. Mas não apenas exagere. Não apenas aumente um pouco. Minta descaradamente. Diga que foi estagiário por 3 meses e que nesse período, você fez 4 sistemas, coordenou 2 equipes, mudou os processos da empresa, assobiou e chupou cana.

Faça-o de uma forma que, mesmo que você tivesse feito tudo isso, você não acreditaria se lesse. Na pior possibilidade, eles podem acreditar e te chamar pra uma vaga muito além de suas habilidades, o que te faria ser demitido rapidinho. Pior do que um candidato muito ruim, só um empregado muito ruim.

6 – Não deixe clara sua formação
Cite todas as escolas por onde passou, até o primário. Cite o jardim de infância. Cite a prontidão (Putz! Tô ficando velho mesmo). E em ordem cronológica do mais antigo para o mais novo. Quanto maior a lista, maior a possibilidade do recrutador desistir de ler antes de chegar na sua graduação ou naquela pós maneira que você foi louco de cometer. Aliás, nem cite essa pós. Nem a graduação. Quanto menos souberem de sua vida, melhor.
Quer saber de uma coisa? Previna-se nem fazendo a pós ou graduação. Esqueça disso. Quem estuda acaba trabalhando.

7 – Só coloque no currículo cursos irrelevantes para o trabalho
Não cite nenhum curso de informática, pelo amor de Deus! Se você fez curso de Linux, Java, .Net, PHP, Oracle… esqueça! Isso aumenta muito o risco de você trabalhar. Aliás, fuja de cursos.

Em compensação, coloque no seu currículo aquele curso de escultura com papel machê ou o curso de marcenaria e carpintaria. Com certeza o recrutador vai “adorar” saber que você fez um curso de “Como Jogar Pokemon 4”.

8 – Não faça nenhuma atividade extra que seja útil ao trabalho. Se fizer, não cite.

Você participa de grupos de estudo? Faz projeto open source? Dá aulas? Parabéns. Vocé está na turma dos que correm o risco de trabalhar. Então não faça nada disso. Corra de atividades extracurriculares relacionadas à informática como um metaleiro foge de pagode. Porém, se você já fez essa maluquice, não cite no currículo.

Entretanto, ser membro do Clube de Jogadores de Bolinha de Gude da Rua 15 de Novembro ou ser organizador de fã-clube do Restart, com certeza te manterá longe de qualquer empresa (especialmente ser fã do Restart). Quanto mais irrelevante a atividade, melhor de ser citada.

9 – Esqueça qualquer língua estrangeira. Aliás, esqueça até o português
!
Não aprenda inglês. Esqueça que essa língua existe. Aliás, até português você deveria esquecer. Quanto menos souber, melhor.
Enxa seu curiculo de errso.  Quanto mais pior de ruim, mais pior ele fica. Nada de pasar coretor ortoprático. Faça com que os olhos do seu recrutador ardam de pavor, diante do seu palavriado. Quanto mais erros de português, melhor pra você;

10 – Se a primeira impressão é a que fica, imprima com impressora matricial em modo de rascunho!

Peça para sua tia velha que adora Power Point formatar seu currículo. aliás, envie em formato de Power Point. A formatação é ⅓ do poder de destruição de uma chance de fazer entrevista, portanto, abuse de fontes ruins (Windings é ótima pra isso) e de cores. Pense que quanto maior a chance de seu recrutador ter um ataque de epilepsia ao ler seu currículo, maiores as chances dele te colocar na lista negra da empresa.
Se tiver imagens brilhantes e piscantes, com animações e transições, muito melhor. Dificilmente o recrutador sobreviverá à experiencia. e morto não contrata ninguém.

Essas foram algumas das lições que aprendi observando alguns currículos que me enviaram. Siga essas dicas e você jamais será contratado.

Bem, por enquanto é isso. No próximo artigo, falaremos da entrevista.

PS: O currículo em Power Point eu parei de ler no 3º slide. Graças a Deus, saí do hospital em menos de uma semana.

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.

Java Virtual Machine – Quantas Línguas Fala a JVM